<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel rdf:about="http://learnms.blog.shinobi.jp/RSS/100/">
    <title>いけいけ機械学習</title>
    <link>http://learnms.blog.shinobi.jp/</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://learnms.blog.shinobi.jp/RSS/" />
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
    <description>統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。</description>
    <dc:language>ja</dc:language>
    <dc:date>2026-05-03T07:10:47+09:00</dc:date>
    <items>
    <rdf:Seq>
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/121/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/120/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/119/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/118/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/117/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/114/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/112/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/111/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/110/" />
      <rdf:li rdf:resource="http://learnms.blog.shinobi.jp/Entry/109/" />
    </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/121/">
    <link>http://learnms.blog.shinobi.jp/Entry/121/</link>
    <title>【DS検定対策】AIを「人間らしく」育てる技術！RLHF（人間のフィードバックによる強化学習）</title>
    <description>AIが生成した回答が、人間にとって「役立つか」「不快でないか」。それを人間が直接教えて洗練させるプロセスがRLHFです。
1. 【 問題 】
大規模言語モデルの微調整（ファインチューニング）において、人間がAIの回答をランク付けしたり評価したりすることで、人間の価値観や意図に沿った出力をするように学...</description>
    <content:encoded><![CDATA[<p>AIが生成した回答が、人間にとって「役立つか」「不快でないか」。それを人間が直接教えて洗練させるプロセスがRLHFです。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>大規模言語モデルの微調整（ファインチューニング）において、人間がAIの回答をランク付けしたり評価したりすることで、人間の価値観や意図に沿った出力をするように学習させる手法を何と呼ぶでしょうか？</p>
<p>① RAG (Retrieval-Augmented Generation)<br />
② RLHF (Reinforcement Learning from Human Feedback)<br />
③ CNN (Convolutional Neural Network)<br />
④ 蒸留 (Distillation)</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② RLHF (Reinforcement Learning from Human Feedback)</div>
<hr />
<h3 style="color: blue;">3. 整理：AIの「良し悪し」を人間に教わる</h3>
<p>大量のテキストデータで学習しただけのAIは、時として事実誤認や不適切な発言をします。これを「人間にとって望ましい方向」へ導くのがRLHFの役割です。</p>
<p>【 RLHFの3つのステップ 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ STEP 1：プレトレーニング ]<br />
インターネット上の膨大なデータで、言葉のつながりを学習する。<br />
<br />
[ STEP 2：報酬モデルの作成 ]<br />
AIが作った複数の回答を<b>人間がランク付け</b>し、「何が良い回答か」を判断する専用のAI（報酬モデル）を作る。<br />
<br />
[ STEP 3：強化学習 ]<br />
STEP2で作った報酬モデルから「高い報酬（スコア）」をもらえるように、AIが自分の回答を改善し続ける。<br />
<br />
--------------------------<br />
<br />
◎ <b>目的： AIの回答を「正確性」「安全性」「誠実性」といった人間の基準に適合（アライメント）させます。</b></div>
<h3 style="color: blue;">4. なぜRLHFが必要なのか？</h3>
<p>1. <b>ハルシネーションの抑制</b>: もっともらしい嘘をつく確率を下げます。<br />
2. <b>安全性の向上</b>: 有害なコンテンツや差別的な表現を生成しないようブレーキをかけます。<br />
3. <b>指示への忠実性</b>: 「箇条書きで書いて」といった人間の複雑な指示を正しく理解し、従えるようになります。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：RLHFにおいて、AIの出力に対して人間が行う「フィードバック」の一般的な方法はどれか。</b></p>
<p>① AIのソースコードを人間が書き換える。<br />
② 複数の回答候補に対し、人間が望ましい順に順位を付ける。<br />
③ 人間が手本となる回答を1億件以上手入力する。<br />
④ AIにランダムな数値を与えて反応を見る。</p>
<p><b>【 正解： ② 】</b></p>
<p><b>解説：</b> 人間が全ての正解を書く（SFT）のは限界がありますが、「AとB、どちらがマシか」を選別するのは比較的容易です。このランク付けを教師データにすることで、効率的に学習が進みます。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「人間のフィードバック」「強化学習」「アライメント」という言葉が出たら「RLHF」です。現代のチャットAIがこれほど使いやすいのは、この技術のおかげであるという背景を理解しておきましょう！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-03T07:10:47+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/120/">
    <link>http://learnms.blog.shinobi.jp/Entry/120/</link>
    <title>【DS検定対策】描画も予測も自由自在！生成モデル「VAE」の仕組み</title>
    <description>AIが新しい画像を作ったり、未知のデータを生成したりする仕組み。その裏側で活躍しているのが「VAE（変分オートエンコーダー）」というモデルです。
1. 【 問題 】
VAE（変分オートエンコーダー）に関する説明として、最も適切なものはどれでしょうか？
① 入力データをそのまま記憶し、全く同じデータを...</description>
    <content:encoded><![CDATA[<p>AIが新しい画像を作ったり、未知のデータを生成したりする仕組み。その裏側で活躍しているのが「VAE（変分オートエンコーダー）」というモデルです。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>VAE（変分オートエンコーダー）に関する説明として、最も適切なものはどれでしょうか？</p>
<p>① 入力データをそのまま記憶し、全く同じデータを複製する手法<br />
② エンコーダーでデータを潜在変数に変換し、デコーダーでその潜在変数からデータを復元・生成する手法<br />
③ 画像データから特定の物体を検出し、その座標を特定する手法<br />
④ テキストデータを品詞ごとに分解し、文章の構造を解析する手法</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② エンコーダーでデータを潜在変数に変換し、デコーダーでその潜在変数からデータを復元・生成する手法</div>
<hr />
<h3 style="color: blue;">3. 整理：VAEの「生成」マジック</h3>
<p>VAEは、データを「潜在変数（特徴を凝縮した数値）」に変換して学習しますが、最大の特徴はその潜在変数を「確率分布（平均と分散）」として扱う点にあります。</p>
<p>【 VAEの構造と流れ 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ 入力データ ]<br />
　　&darr;<br />
[ エンコーダー ]：データをギュッと圧縮して「特徴の確率分布」にする。<br />
　　&darr;<br />
[ 潜在変数（空間） ]：データの「エッセンス」が詰まった場所。<br />
　　&darr;<br />
[ デコーダー ]：潜在変数から元のデータを「復元」する。<br />
<br />
--------------------------<br />
<br />
★ <b>ここが生成のポイント！</b><br />
学習が終わった後、デコーダーに「適当な潜在変数」を入力してあげると、AIは<b>「それっぽい新しいデータ」</b>を自動で生成できるようになります。</div>
<h3 style="color: blue;">4. なぜ「変分（Variational）」なのか？</h3>
<p>1. <b>滑らかな潜在空間</b>: 通常のオートエンコーダーと違い、潜在変数を「点」ではなく「分布（広がり）」として学習するため、少しだけ値をずらして入力すると「少しだけ違う新しい画像」を生成できます。<br />
2. <b>活用例</b>: 手書き文字の生成、顔画像の合成、異常検知（正常なデータから外れたものを判定する）などに使われます。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：VAEと同様に「生成モデル」として知られ、2つのネットワーク（生成器と識別器）を戦わせることで精度を高める手法はどれか。</b></p>
<p>① RNN &nbsp; ② CNN &nbsp; ③ GAN（敵対的生成ネットワーク） &nbsp; ④ BERT</p>
<p><b>【 正解： ③ 】</b></p>
<p><b>解説：</b> VAEと並んで有名な生成モデルが「GAN」です。VAEは「確率分布」を使い、GANは「2つのAIを競わせる」というアプローチの違いがあります。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「エンコーダー・デコーダー」「潜在変数」「生成モデル」というキーワードが並んだら「VAE」を疑いましょう。単なるデータの圧縮器ではなく、新しい価値を生み出す「生成器」としての側面を理解しておくのが合格への近道です！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-02T08:05:02+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/119/">
    <link>http://learnms.blog.shinobi.jp/Entry/119/</link>
    <title>【DS検定対策】目指せ山の頂上！「大域的最適解」と「局所的最適解」</title>
    <description>機械学習の学習とは、誤差（目的関数）を最小にする「正解の場所」を探す旅のようなものです。しかし、そこには「偽の頂上」という罠が潜んでいます。
1. 【 問題 】
最適化問題において、定義域全体のすべての解の中で、目的関数の値が最も良い（最小、あるいは最大）状態のことを何と呼ぶでしょうか？
① 局所的...</description>
    <content:encoded><![CDATA[<p>機械学習の学習とは、誤差（目的関数）を最小にする「正解の場所」を探す旅のようなものです。しかし、そこには「偽の頂上」という罠が潜んでいます。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>最適化問題において、定義域全体のすべての解の中で、目的関数の値が最も良い（最小、あるいは最大）状態のことを何と呼ぶでしょうか？</p>
<p>① 局所的最適解（ローカルミニマム）<br />
② 大域的最適解（グローバルミニマム）<br />
③ 近似解<br />
④ 初期解</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② 大域的最適解（グローバルミニマム）</div>
<hr />
<h3 style="color: blue;">3. 整理：富士山の頂上か、近所の丘か</h3>
<p>最適解を探すプロセスは、霧の中で山登り（あるいは下山）をする状況に例えられます。</p>
<p>【 2つの最適解 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ 1. 局所的最適解（Local Optimum） ]<br />
「周りのどの地点よりも高い（低い）」場所。<br />
しかし、山脈全体で見ればもっと高い山があるかもしれない「偽の頂上」です。<br />
<br />
[ 2. 大域的最適解（Global Optimum） ]<br />
<b>★ 今回の主役！</b><br />
山脈全体の「全地点の中で最も高い（低い）」場所。これこそが真の正解です。<br />
<br />
--------------------------<br />
<br />
◎ <b>課題：</b> AIの学習（勾配降下法など）では、探索が「局所的最適解」にハマってしまい、本当の正解（大域的最適解）にたどり着けないことがよくあります。</div>
<h3 style="color: blue;">4. 罠を抜け出すための工夫</h3>
<p>1. <b>学習率の調整</b>: 勢いよく移動することで、小さな窪み（局所解）を飛び越える工夫がされます。<br />
2. <b>初期値を変える</b>: 探索を始める場所を変えて何度も試すことで、大域的最適解を見つける確率を高めます。<br />
3. <b>モーメンタム（慣性）</b>: 坂を下る勢いを利用して、平坦な道や小さな段差を乗り越えます。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：ニューラルネットワークの学習において、大域的最適解を目指す際、局所的最適解に捕まってしまうことを何と呼ぶか。</b></p>
<p>① 過学習 &nbsp; ② 勾配消失 &nbsp; ③ 局所解への収束 &nbsp; ④ 未学習</p>
<p><b>【 正解： ③ 】</b></p>
<p><b>解説：</b> 「局所解に陥る」とも言われます。これを防ぐために、確率的勾配降下法（SGD）やAdamといった最適化アルゴリズムが進化してきました。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「すべての範囲で最も良い解」というキーワードが出たら「大域的最適解」です。逆に「特定の範囲内で一番良い」だけなら「局所的最適解」です。この「全体か、一部か」の視点を忘れないようにしましょう！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-02T07:49:45+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/118/">
    <link>http://learnms.blog.shinobi.jp/Entry/118/</link>
    <title>【DS検定対策】データの背後にある「真の理由」を探る！因子分析の仕組み</title>
    <description>「このアンケート結果の共通点は何だろう？」バラバラに見えるデータ（観測変数）の背後で、全体をコントロールしている「見えない要因（潜在因子）」を推定するのが因子分析です。
1. 【 問題 】
因子分析の説明として最も適切なものはどれでしょうか？
① データを似たもの同士でグループ分け（クラスタリング）...</description>
    <content:encoded><![CDATA[<p>「このアンケート結果の共通点は何だろう？」バラバラに見えるデータ（観測変数）の背後で、全体をコントロールしている「見えない要因（潜在因子）」を推定するのが因子分析です。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>因子分析の説明として最も適切なものはどれでしょうか？</p>
<p>① データを似たもの同士でグループ分け（クラスタリング）する手法<br />
② 観測された変数間の相関関係から、それらに影響を与えている共通の「潜在的な因子」を推定する手法<br />
③ 目的変数を複数の説明変数で予測する方程式を作成する手法<br />
④ データの次元を圧縮し、情報損失を最小限に抑えつつ合成変数を作る手法</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② 観測された変数間の相関関係から、それらに影響を与えている共通の「潜在的な因子」を推定する手法</div>
<hr />
<h3 style="color: blue;">3. 整理：因果の向きを意識しよう</h3>
<p>因子分析は、「目に見えない原因（因子）があるから、目に見える結果（数値）が現れる」と考えます。</p>
<p>【 因子分析のイメージ 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ 潜在因子（見えない原因） ]<br />
　　&darr;　影響を与える<br />
[ 観測変数（見えるデータ） ]<br />
<br />
（例）<br />
「論理的思考力（因子）」があるから&hellip;&hellip;<br />
&rarr; 数学の点数が高い（観測変数）<br />
&rarr; プログラミングの習得が早い（観測変数）<br />
<br />
--------------------------<br />
<br />
◎ <b>特徴： 「数学とプログラミングの点数に相関がある」という事実から、背後にある「論理的思考力」という共通因子を推定します。</b></div>
<h3 style="color: blue;">4. 主成分分析との違い（重要！）</h3>
<p>1. <b>因果の向き</b>: 因子分析は「原因 &rarr; 結果」ですが、主成分分析は「結果を集計 &rarr; 要約（合成変数）」という逆向きの考え方です。<br />
2. <b>目的</b>: 因子分析は「背後にある理由を解釈すること」、主成分分析は「データを要約・圧縮すること」を主な目的とします。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：因子分析において、各観測変数が特定の因子から受けている影響の強さを表す指標を何と呼ぶか。</b></p>
<p>① 因子負荷量 &nbsp; ② 寄与率 &nbsp; ③ 相関係数 &nbsp; ④ 回帰係数</p>
<p><b>【 正解： ① 】</b></p>
<p><b>解説：</b> 因子負荷量は、いわば「因子から各変数へ伸びる矢印の太さ」です。この値が大きいほど、その変数は特定の因子の影響を強く受けていると判断されます。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「観測変数の背後」「潜在的な因子を推定」という言葉が出たら「因子分析」です。アンケート分析や心理統計などで、データに隠された「意味」を解釈するための強力な手法であることを覚えておきましょう！</p>
<br />
<br />
<br />
]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-02T07:47:13+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/117/">
    <link>http://learnms.blog.shinobi.jp/Entry/117/</link>
    <title>【Kaggle挑戦記】S4E11 #1：全特徴量を投入して見えた「名前」の怪しい貢献度</title>
    <description>KaggleのPlayground Series S4E11「メンタルヘルス予測」に参戦しました。 まずはエンジニアとしての定石通り、複雑な加工はせず「まずは動くもの」を目指します。 今回はあえて「id以外の全特徴量をぶっ込む」という、力押しのベースライン構築からスタートです。
1. 戦略：全件投入...</description>
    <content:encoded><![CDATA[<p>KaggleのPlayground Series S4E11「メンタルヘルス予測」に参戦しました。 まずはエンジニアとしての定石通り、複雑な加工はせず「まずは動くもの」を目指します。 今回はあえて<b>「id以外の全特徴量をぶっ込む」</b>という、力押しのベースライン構築からスタートです。</p>
<h3 style="color: blue;">1. 戦略：全件投入のフルスキャン・アプローチ</h3>
<p>「どの変数が有効か？」と悩む前に、LightGBMの処理能力を信じて全データを投入しました。 通常なら除外するはずの「Name（名前）」カラムも、あえてそのまま。 カテゴリ変数は、LightGBMの<code>category</code>型にキャストするだけで、内部的に最適化されるように実装しました。</p>
<pre style="border: 1px solid #ccc; padding: 15px; background-color: #f4f4f4; overflow-x: auto; font-family: Consolas, Monaco, 'Courier New', monospace; font-size: 13px; line-height: 1.5;"># 特徴量は全投入（idのみ除外）
X = train.drop(['id', 'Depression'], axis=1)
y = train['Depression']

# 全object型カラムをcategory型へキャスト
cat_cols = X.select_dtypes(include=['object']).columns.tolist()
for col in cat_cols:
    X[col] = X[col].astype('category')
</pre>
<h3 style="color: blue;">2. リザルト：驚愕のスコアと「ログ」の違和感</h3>
<p>Macで実行すること数秒。生成された<code>submission.csv</code>をSubmitした結果、驚きのスコアが返ってきました。</p>
<div style="background-color: #eef7ee; padding: 10px; border: 1px solid #3c763d; color: #3c763d; font-weight: bold;">Public Score: 0.94008 / Private Score: 0.93868</div>
<p>いきなり0.94超え。しかし、エンジニアとして「中身」をデバッグせずに喜ぶわけにはいきません。 モデルが何を根拠に判断したか（Feature Importance）を確認したところ、奇妙な事実が判明しました。</p>
<div style="background-color: #f9f9f9; padding: 10px; border-left: 5px solid #ff5722; font-family: monospace;">--- Feature Importance (Top 5) ---<br />
1. <b>Name : 1308</b><br />
2. City : 223<br />
3. Age : 204<br />
4. Financial Stress : 174<br />
5. Profession : 159</div>
<h3 style="color: blue;">3. 考察：なぜ「名前」の貢献度が異常に高いのか？</h3>
<p>予測の決め手が、年齢や仕事のストレスを差し置いて<b>「Name（名前）」</b>になっています。 バックエンドのロジックとして考えれば、名前の文字列そのものがメンタルヘルスに影響を与えるはずがありません。</p>
<p>考えられる仮説はいくつかあります：</p>
<ul>
<li><b>過学習（Overfitting）：</b> モデルが名前をユニークなキーとして認識し、個々のデータを「暗記」してしまった。</li>
<li><b>データリーク：</b> 名前の付け方や順序に、正解データへのヒントが紛れ込んでいる（システムバグに近い状態）。</li>
<li><b>プロキシ変数の可能性：</b> 名前が特定の居住地域や年齢層、あるいは家系的な背景を代理してしまっている。</li>
</ul>
<h3 style="color: blue;">4. まとめ：次回のデバッグ指針</h3>
<p>「全部入り」で投げた結果、0.94という高いベンチマークと同時に、<b>「名前という名の巨大なノイズ（あるいは不正解）」</b>を炙り出すことができました。</p>
<p>この「名前」がスコアを不当に押し上げているのか、それとも何か深い意味があるのか。 次回は「Name」をdropした状態で再学習を行い、モデルの真の実力をデバッグしてみたいと思います。</p>
<br />
<br />
<br />
]]></content:encoded>
    <dc:subject>【Kaggle挑戦記】</dc:subject>
    <dc:date>2026-05-02T07:42:26+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/114/">
    <link>http://learnms.blog.shinobi.jp/Entry/114/</link>
    <title>【DS検定対策】文章をバラバラに分解！「形態素解析」の仕組みと役割</title>
    <description>AIに文章を理解させる第一歩は、文章を「これ以上分けられない最小単位」にまで分解することです。そのプロセスと重要性を学びましょう。
1. 【 問題 】
テキストデータを分析する際、文章を意味を持つ最小の単位に分割し、それぞれの品詞（名詞、動詞、助詞など）を判別する作業を何と呼ぶでしょうか？
① 構文...</description>
    <content:encoded><![CDATA[<p>AIに文章を理解させる第一歩は、文章を「これ以上分けられない最小単位」にまで分解することです。そのプロセスと重要性を学びましょう。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>テキストデータを分析する際、文章を意味を持つ最小の単位に分割し、それぞれの品詞（名詞、動詞、助詞など）を判別する作業を何と呼ぶでしょうか？</p>
<p>① 構文解析<br />
② 形態素解析<br />
③ 意味解析<br />
④ 感情分析</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② 形態素解析</div>
<hr />
<h3 style="color: blue;">3. 整理：文章を「意味の最小パーツ」に分ける</h3>
<p>英語は単語がスペースで区切られていますが、日本語はどこで区切るかをAIが判断しなければなりません。</p>
<p>【 形態素解析の実行イメージ 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ 元の文章 ]<br />
「すもももももももものうち」<br />
<br />
[ 解析結果 ]<br />
・すもも（名詞）<br />
・も（助詞）<br />
・もも（名詞）<br />
・も（助詞）<br />
・もも（名詞）<br />
・の（助詞）<br />
・うち（名詞）<br />
<br />
--------------------------<br />
<br />
◎ <b>ポイント： この「すもも」や「も」のように、意味を持つ最小の単位を「形態素」と呼びます。</b></div>
<h3 style="color: blue;">4. なぜ形態素解析が必要なのか？</h3>
<p>1. <b>不要な語の除去（ストップワード）</b>: 「の」や「です」などの頻出するが分析に不要な語を除外できます。<br />
2. <b>単語の正規化</b>: 「走っ（た）」や「走ら（ない）」を、辞書の見出し語である「走る」に統一して集計できます。<br />
3. <b>特徴量の抽出</b>: 「名詞だけを抜き出して、頻出ワードのランキングを作る」といった分析が可能になります。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：日本語の形態素解析を行うための代表的なオープンソースのライブラリ（ツール）はどれか。</b></p>
<p>① Pandas &nbsp; ② MeCab &nbsp; ③ NumPy &nbsp; ④ Matplotlib</p>
<p><b>【 正解： ② 】</b></p>
<p><b>解説：</b> 日本語の形態素解析エンジンとしては「MeCab（メカブ）」が非常に有名です。その他、JanomeやSudachiなどもよく使われます。①③④は数値計算やデータ操作用のライブラリです。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「最小単位に分割」「品詞を決定」という記述が出たら「形態素解析」です。テキストマイニングを行う上での「前処理」として欠かせない工程であることを覚えておきましょう！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-4. 応用技術＞1-4-2. 言語モデル</dc:subject>
    <dc:date>2026-05-02T06:47:34+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/112/">
    <link>http://learnms.blog.shinobi.jp/Entry/112/</link>
    <title>【DS検定対策】似たもの同士を集める！「k平均法」のアルゴリズム</title>
    <description>答え（ラベル）のないデータから、AIが自らグループを見つけ出す「クラスタリング」。その中でも最も基本的で強力な手法が「k平均法」です。
1. 【 問題 】
k平均法（k-means法）を用いて、データの集合をk個のクラスタに分割する際の手順や条件として、適切なものはどれでしょうか？
① 各標本（デー...</description>
    <content:encoded><![CDATA[<p>答え（ラベル）のないデータから、AIが自らグループを見つけ出す「クラスタリング」。その中でも最も基本的で強力な手法が「k平均法」です。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>k平均法（k-means法）を用いて、データの集合をk個のクラスタに分割する際の手順や条件として、適切なものはどれでしょうか？</p>
<p>① 各標本（データ）は、全データの平均値に最も近いクラスタに属する。<br />
② 各標本は、k個の重心のうち、自身から最も距離が近い重心のクラスタに属する。<br />
③ データの数（n）をkで割った同数のグループをランダムに作成する。<br />
④ 各標本は、あらかじめ決められた「正解ラベル」に最も近いクラスタに属する。</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② 各標本は、k個の重心のうち、自身から最も距離が近い重心のクラスタに属する。</div>
<hr />
<h3 style="color: blue;">3. 整理：繰り返しで「重心」を最適化する</h3>
<p>k平均法は、以下の「割り当て」と「更新」のステップを繰り返すことで、最適なグループ分けを完成させます。</p>
<p>【 k平均法のステップ 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ STEP 1 ]<br />
ランダムにk個の「重心」を決める。<br />
<br />
[ STEP 2：割り当て ]<br />
<b>★ 各データは、一番近い重心のチームに所属する。</b><br />
<br />
[ STEP 3：更新 ]<br />
各チームに所属したデータの「平均位置」を計算し、そこを新しい重心にする。<br />
<br />
[ STEP 4：繰り返し ]<br />
重心の位置が動かなくなるまでSTEP 2と3を繰り返す。<br />
<br />
--------------------------<br />
<br />
◎ <b>特徴： 「非教師あり学習」であるため、正解データなしでデータを分類できます。</b></div>
<h3 style="color: blue;">4. 知っておくべきポイント</h3>
<p>1. <b>kの値は人間が決める</b>: 最初に「いくつのグループに分けるか（k）」を人間が指定する必要があります。<br />
2. <b>初期値に依存する</b>: 最初にランダムに決める重心の位置によって、結果が変わってしまうことがあります。<br />
3. <b>エルボー法</b>: 最適なk（グループ数）を決めるための代表的な手法です。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：k平均法において、クラスタ内のデータと重心の距離の合計（誤差の二乗和）が最小になるように最適化が行われますが、この「距離」として一般的に用いられるものはどれか。</b></p>
<p>① ハミング距離 &nbsp; ② ユークリッド距離 &nbsp; ③ ジャッカード係数 &nbsp; ④ 編集距離</p>
<p><b>【 正解： ② 】</b></p>
<p><b>解説：</b> 直線的な距離を測る「ユークリッド距離」を用いるのが標準的です。データ同士の幾何学的な近さを基準にグループ化を行います。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「重心」「最も近いクラスタに属する」「非教師あり学習」というキーワードが出たら「k平均法」です。マーケティングの顧客セグメンテーションなど、実務でも非常に使い勝手の良い手法なので、しっかり押さえておきましょう！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-01T20:30:49+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/111/">
    <link>http://learnms.blog.shinobi.jp/Entry/111/</link>
    <title>【DS検定対策】AI学習の原点！「ヘップの学習則」とシナプスの絆</title>
    <description>「共に火を噴くニューロンは、共に繋がる（Cells that fire together, wire together）」。この一文に集約されるヘップの学習則を学びましょう。
1. 【 問題 】
心理学者ドナルド・ヘップが提唱した、ニューラルネットワークの学習の基礎となる考え方で、「シナプスの前後の...</description>
    <content:encoded><![CDATA[<p>「共に火を噴くニューロンは、共に繋がる（Cells that fire together, wire together）」。この一文に集約されるヘップの学習則を学びましょう。</p>
<h3 style="color: blue;">1. 【 問題 】</h3>
<p>心理学者ドナルド・ヘップが提唱した、ニューラルネットワークの学習の基礎となる考え方で、「シナプスの前後の神経細胞が同時に興奮するとき、そのシナプスの結合強度が強化される」という法則を何と呼ぶでしょうか？</p>
<p>① ムーアの法則<br />
② ヘップの学習則（ヘブ則）<br />
③ スケーリング則<br />
④ べき乗則</p>
<hr />
<h3 style="color: #d32f2f;">2. 【 解答 】</h3>
<div style="background-color: #eeeeee; border: 2px solid #333; padding: 15px; font-size: 1.2em; font-weight: bold; text-align: center;">正解： ② ヘップの学習則（ヘブ則）</div>
<hr />
<h3 style="color: blue;">3. 整理：学習とは「重み」が変わること</h3>
<p>ヘップの学習則は、1949年に脳の学習メカニズムを説明するために提案されました。これが現代のAIにおける「重みの更新」のヒントになっています。</p>
<p>【 ヘブ則のメカニズム 】</p>
<div style="font-family: monospace; border: 1px solid #ccc; padding: 10px; line-height: 1.6;">[ 神経細胞A ] --- (シナプス) ---&gt; [ 神経細胞B ]<br />
<br />
1. 細胞Aが興奮し、信号を送る。<br />
2. 同時に細胞Bも興奮する。<br />
3. <b>★「この二つの連携は重要だ！」と脳が判断。</b><br />
4. 次回から、Aの信号がより強くBに伝わるようになる（結合の強化）。<br />
<br />
--------------------------<br />
<br />
◎ <b>現代AIへの応用：</b><br />
パーセプトロンなどのニューラルネットワークにおいて、入力と出力が連動する際に「重み（Weight）」の値を大きくする処理の理論的な裏付けとなっています。</div>
<h3 style="color: blue;">4. なぜこれが「パーセプトロン」の基礎なのか？</h3>
<p>1. <b>重みの更新</b>: ニューラルネットワークが学習するとは、まさにこの「シナプス結合の強さ（重み）」を調整する作業そのものです。<br />
2. <b>自己組織化</b>: 外部から正解を与えられなくても、頻繁に起きるパターンを自然と記憶する「自己組織化マップ」などのモデルにも影響を与えています。<br />
3. <b>生物学的妥当性</b>: 数学的なアルゴリズムが、実際の生物の脳の仕組みに近いという点が、この分野の大きな強みになっています。</p>
<hr />
<h3 style="color: orange;">5. DS検定形式：実戦4択クイズ</h3>
<p><b>問：ニューラルネットワークにおいて、入力信号と出力信号の相関に基づいて「重み」を調整するアルゴリズムの最も初期的な考え方はどれか。</b></p>
<p>① 誤差逆伝播法（バックプロパゲーション）<br />
② ヘップの学習則<br />
③ 勾配降下法<br />
④ 正則化</p>
<p><b>【 正解： ② 】</b></p>
<p><b>解説：</b> ①や③は後の時代に登場したより高度な手法ですが、その「根っこ」にあるのは「連動する部分を強くする」というヘップの考え方です。</p>
<hr />
<h3 style="color: blue;">6. まとめ</h3>
<p>DS検定において「シナプス」「前後で同時に興奮」「結合の強化」というフレーズが出たら「ヘップの学習則」です。AIの歴史の1ページ目として、しっかり記憶に刻んでおきましょう！</p>]]></content:encoded>
    <dc:subject>DS検定＞1. データサイエンス＞1-3. 機械学習＞1-3-1. 学習モデル</dc:subject>
    <dc:date>2026-05-01T20:20:19+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/110/">
    <link>http://learnms.blog.shinobi.jp/Entry/110/</link>
    <title>【Kaggle挑戦記】S4E11 #1：メンタルヘルス予測コンペ参戦。LightGBMで「0.94」の初陣</title>
    <description>次なるターゲットに選んだのはKaggle Playground Series S4E11。 実在のアンケート結果をベースにした「メンタルヘルス（うつ病）の予測」です。 実務的なデータ構造を相手に、まずは何も考えずLightGBMでベースラインを構築してみました。
1. コンペの概要：生体ログから「心...</description>
    <content:encoded><![CDATA[<p>次なるターゲットに選んだのはKaggle Playground Series S4E11。 実在のアンケート結果をベースにした「メンタルヘルス（うつ病）の予測」です。 実務的なデータ構造を相手に、まずは何も考えずLightGBMでベースラインを構築してみました。</p>
<h3 style="color: blue;">1. コンペの概要：生体ログから「心の状態」をデバッグする</h3>
<p>今回のミッションは、年齢、性別、仕事のストレス、睡眠時間、食事習慣といった多角的なデータから、 対象者がうつ病（Depression）の状態にあるかどうかを予測する2値分類です。</p>
<table style="width: 100%; border-collapse: collapse; margin-bottom: 20px;">
<tbody>
<tr style="background-color: #f2f2f2;"><th style="border: 1px solid #ccc; padding: 8px;">主要な特徴量</th><th style="border: 1px solid #ccc; padding: 8px;">エンジニア的解釈</th></tr>
<tr>
<td style="border: 1px solid #ccc; padding: 8px;">Academic/Work Pressure</td>
<td style="border: 1px solid #ccc; padding: 8px;">システムの負荷状況（リソース逼迫度）</td>
</tr>
<tr>
<td style="border: 1px solid #ccc; padding: 8px;">Sleep Duration / Dietary Habits</td>
<td style="border: 1px solid #ccc; padding: 8px;">メンテナンス（自己回復）のログ</td>
</tr>
<tr>
<td style="border: 1px solid #ccc; padding: 8px;">Financial Stress</td>
<td style="border: 1px solid #ccc; padding: 8px;">外部環境によるエラー因子</td>
</tr>
</tbody>
</table>
<h3 style="color: blue;">2. 実装：特徴量は「すべてぶっ込んだ」最短ルート</h3>
<p>「どの項目が重要か？」を人間が考える前に、まずはマシンパワーに任せてみます。 今回はID以外の<b>特徴量をすべてぶっ込み</b>、カテゴリ変数はLightGBMの<code>category</code>型指定で一気に処理する、いわば「全件スキャン」的なアプローチをとりました。</p>
<p>通常なら除外するはずの「Name（名前）」のような文字列データも、モデルがどう解釈するかを見るためにあえて残しています。</p>
<pre style="border: 1px solid #ccc; padding: 15px; background-color: #f4f4f4; overflow-x: auto; font-family: Consolas, Monaco, 'Courier New', monospace; font-size: 13px; line-height: 1.5;">import pandas as pd
import lightgbm as lgb
from sklearn.preprocessing import LabelEncoder

# データの読み込み
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

target_col = 'Depression'

# ターゲットの数値化
le = LabelEncoder()
train[target_col] = le.fit_transform(train[target_col])

# 特徴量は全投入（idのみ除外）
X = train.drop(['id', target_col], axis=1)
y = train[target_col]
X_test = test.drop(['id'], axis=1)

# カテゴリ型への一括変換
cat_cols = X.select_dtypes(include=['object']).columns.tolist()
for col in cat_cols:
    X[col] = X[col].astype('category')
    X_test[col] = X_test[col].astype('category')

# モデル構築（2値分類：Binary）
model = lgb.LGBMClassifier(objective='binary', random_state=42)
model.fit(X, y)

# 予測と提出ファイルの作成
submission = pd.DataFrame({
    'id': test['id'],
    target_col: model.predict(X_test)
})
submission.to_csv('submission.csv', index=False)
</pre>
<h3 style="color: blue;">3. 結果と考察：見えてきた「データの罠」</h3>
<p>初回のSubmit結果は以下の通りです。</p>
<div style="background-color: #eef7ee; padding: 10px; border: 1px solid #3c763d; color: #3c763d; font-weight: bold; margin-bottom: 15px;">Public Score: 0.94008 / Private Score: 0.93868</div>
<p>なかなかの高スコアですが、Feature Importance（重要度）を見るとデバッグすべき点が見つかりました。</p>
<pre style="background-color: #eee; padding: 10px; font-size: 12px;">--- Feature Importance Top 5 ---
1. Name              : 1308
2. City              : 223
3. Age               : 204
4. Financial Stress  : 174
5. Profession        : 159
</pre>
<p><b>「Name（名前）」</b>が重要度のトップに君臨しています。 「全特徴量投入」の結果、モデルは名前に含まれる特定のパターン（あるいは個別のID的な性質）を、うつ病の判定材料として「暗記」してしまったようです。 これは典型的な過学習の予兆であり、システム開発で言えば「テストデータのみに通るハードコーディング」に近い状態かもしれません。</p>
<h3 style="color: blue;">4. まとめと次回の課題</h3>
<p>まずは「動くもの」を作り、0.94というベンチマークを得ることに成功しました。<br />
次回は、この「Name」というノイズを除去した際にスコアがどう変化するか、そしてLog Lossを意識した確率予測のチューニングに挑みます。<br />
<br />
<br />
</p>]]></content:encoded>
    <dc:subject>【Kaggle挑戦記】</dc:subject>
    <dc:date>2026-05-01T16:41:40+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
  <item rdf:about="http://learnms.blog.shinobi.jp/Entry/109/">
    <link>http://learnms.blog.shinobi.jp/Entry/109/</link>
    <title>【Kaggle挑戦記】House Prices #1：予測対象は「価格」。回帰モデルによる住宅見積もり</title>
    <description>1. 新たな戦場：House Prices - Advanced Regression Techniques
Spaceship Titanicを終え、次に挑むのは「住宅価格予測」です。 アイオワ州エイムズにある住宅のスペックから、その販売価格（SalePrice）を予測します。 前回の「転送された...</description>
    <content:encoded><![CDATA[<h3 style="color: blue;">1. 新たな戦場：House Prices - Advanced Regression Techniques</h3>
<p>Spaceship Titanicを終え、次に挑むのは「住宅価格予測」です。 アイオワ州エイムズにある住宅のスペックから、その<b>販売価格（SalePrice）</b>を予測します。 前回の「転送されたか否か（0/1）」の分類とは異なり、今回は具体的な数値を当てる<b>「回帰（Regression）」</b>問題に挑みます。</p>
<h3 style="color: blue;">2. 「分類」と「回帰」の決定的な違い</h3>
<p>エンジニアとして、まずは評価指標を頭に叩き込みます。出力型が根本から変わるため、デバッグの指標も切り替える必要があります。</p>
<ul>
<li><b>ターゲット：</b> <b>Boolean（生存/死亡）から Float（住宅価格）へ。</b> 「0か1か」のラベルではなく、連続的な数値を予測します。</li>
<li><b>評価指標：</b> <b>RMSE（Root Mean Squared Error：平均平方二乗誤差）。</b> 「何人当たったか」ではなく、予測価格と実際の価格の「ズレ（誤差）」を評価します。</li>
<li><b>モデル：</b> <code>LGBMClassifier</code> ではなく、<b>回帰専用の <code>LGBMRegressor</code></b> を使用します。</li>
</ul>
<h3 style="color: blue;">3. 設計思想：なぜ「最小二乗法」ではなく「決定木」なのか</h3>
<p>回帰といえば「最小二乗法（線形回帰）」で一本の直線を引くイメージが強いですが、本攻略では現代的な<b>LightGBM（決定木モデル）</b>を採用します。</p>
<ul>
<li><b>伝統的な回帰（最小二乗法）：</b> 「面積が2倍なら価格も2倍」といった単純な比例関係に強いが、市場の複雑な歪みに弱い。</li>
<li><b>現代的な回帰（LightGBM）：</b> 「築年数が古くても、リフォーム済みなら高値」といった、条件の組み合わせ（非線形な関係）を数千もの分岐でデバッグし、多角形的に価格を近似していきます。</li>
</ul>
<p>住宅市場の「不連続な境界線（このエリアに入った瞬間に価格が跳ね上がる、など）」を捉えるには、決定木によるアプローチが極めて有効です。</p>
<h3 style="color: blue;">4. 本アプローチの設計図</h3>
<h4>■ 今回使う特徴量（数値データに限定）</h4>
<p>79個のカラムのうち、初回は<b>「数値データ（int/float）」</b>のみを抽出して投入します。 敷地面積（LotArea）、築年（YearBuilt）、1階の広さ（1stFlrSF）、バスルームの数（FullBath）などが含まれます。文字列（立地など）は一旦除外します。</p>
<h4>■ 指標：二乗誤差の最小化</h4>
<p>本コンペのゴールは、<b>二乗誤差（の平均）を最小化</b>することです。 誤差（予測 - 実測）を二乗することで、大きな予測ミスに対して指数関数的に厳しいペナルティを課し、モデルに「大外れを出すな」と教育します。 ※最終スコアは「対数をとった後のRMSE」になりますが、まずは生の数値で誤差を削ります。</p>
<h3 style="color: blue;">5. 【初陣】回帰ベースライン・ソースコード</h3>
<pre style="border: 1px solid #ccc; padding: 15px; background-color: #f4f4f4; overflow-x: auto; font-family: Consolas, Monaco, 'Courier New', monospace; line-height: 1.5; font-size: 13px; color: #333;">import pandas as pd
import numpy as np
import lightgbm as lgb

# 1. データの読み込み
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

# 2. ターゲットの設定
y_train = train['SalePrice']
# 数値データのみを抽出し、IDとターゲットを除外
X_train = train.select_dtypes(include=[np.number]).drop(['Id', 'SalePrice'], axis=1)
X_test = test.select_dtypes(include=[np.number]).drop(['Id'], axis=1)

# 3. 欠損値の補完
# 回帰問題の初期デバッグとして中央値（median）で埋める
X_train = X_train.fillna(X_train.median())
X_test = X_test.fillna(X_test.median())

# 4. 回帰モデルの構築
# 二乗誤差の最小化（regression）を目的関数に設定
model = lgb.LGBMRegressor(
    objective='regression',
    n_estimators=1000, 
    learning_rate=0.05,
    random_state=1
)

# 5. 学習
model.fit(X_train, y_train)

# 6. 予測（出力は具体的なドル建て価格の配列）
predictions = model.predict(X_test)

# 7. 提出用ファイルの作成
output = pd.DataFrame({'Id': test['Id'], 'SalePrice': predictions})
output.to_csv('submission_v1_baseline.csv', index=False)

print("✅ LightGBM Regressor baseline trained.")
print(f"Sample Predictions: {predictions[:5]}")
</pre>
<h3 style="color: blue;">6. 実行結果のデバッグ：スコア 0.14679 の意味</h3>
<p>Macのターミナルに出力された結果を解読します。</p>
<pre style="border: 1px solid #ddd; padding: 15px; background-color: #eef2f7; color: #2c3e50; overflow-x: auto; font-family: Consolas, Monaco, 'Courier New', monospace; line-height: 1.5; border-left: 5px solid #3498db;">[LightGBM] [Info] Start training from score 180921.195890
Sample Predictions: [124527.61, 154677.30, 183652.70, ...]
Score: 0.14679
</pre>
<p>この 0.14679 というスコアは、ざっくり言うと<b>「平均して14〜15%程度の見積もり誤差がある」</b>状態を指します。</p>
<ul>
<li><b>0.14〜0.15（現在）：</b> 数値データのみの「とりあえず動くシステム」。</li>
<li><b>0.12付近：</b> 文字列データ（カテゴリ変数）を適切に処理した「実用レベル」。</li>
<li><b>0.10以下：</b> 上位ランカー。高度な特徴量生成とアンサンブルが必要な「プロの仕事」。</li>
</ul>
<p>文字列データを一切使わず、数値のみでこの数値が出たのは、かなり幸先の良いスタートと言えます。</p>
<h3 style="color: blue;">7. まとめ：次なる一歩</h3>
<p>数値データだけで土俵に立ちましたが、まだ以下の「伸び代」が残っています。</p>
<ol>
<li><b>無視された文字列データ：</b> 立地（Neighborhood）などの、価格に直結する重要な情報がまだ「コメントアウト」されている状態です。</li>
<li><b>価格の歪み：</b> 100万ドルの家と10万ドルの家では、同じ1万ドルのミスでも意味が違います。これを比率で評価させる「対数変換」の導入が必要です。</li>
</ol><hr />
<p>一本の直線を引くのではなく、数千の分岐で見積もりを研ぎ澄ます。15%の誤差を削る、新たな戦いの始まり。<br />
<br />
<br />
</p>]]></content:encoded>
    <dc:subject>【Kaggle挑戦記】</dc:subject>
    <dc:date>2026-05-01T07:28:54+09:00</dc:date>
    <dc:creator>吟遊詩人</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>吟遊詩人</dc:rights>
  </item>
</rdf:RDF>
