データと前処理

未学習 みがくしゅう

過学習汎化性能バイアス学習不足モデル精度訓練データ
未学習について教えて

簡単に言うとこんな感じ!

AIが「勉強不足」な状態のことだよ!試験に出る問題のパターンをぜんぜん覚えられていないから、簡単な問題も解けない感じ。データから法則を見つけられていないので、予測がいつもハズれちゃうんだ。


未学習とは

未学習(Underfitting)とは、機械学習モデルが訓練データの特徴やパターンを十分に学習できていない状態のことです。モデルが「単純すぎる」か「学習が不十分」なために、訓練データに対してさえも正確な予測ができない状況を指します。

未学習が起きると、新しいデータはもちろん、学習に使ったデータに対しても精度が低くなります。これは「バイアス(偏り)が高い」状態とも表現され、モデルがデータの本質的な構造を捉えられていないことを意味します。逆に「覚えすぎ」の状態である過学習(Overfitting)と対になる概念で、AIモデルの品質を評価する際に必ずセットで確認すべき重要な概念です。

実務的には、「作ったAIモデルが訓練データでも正解率が低い」「何度やっても予測がおかしい」といった場面で未学習を疑います。発注側がAIシステムの品質をチェックする際、訓練精度と検証精度の両方が低い場合は未学習のサインと覚えておくと役立ちます。


未学習の構造と見分け方

状態訓練データの精度新しいデータの精度原因のイメージ
理想的な状態高い高いちょうどよく学習できている
未学習低い低い勉強不足・モデルが単純すぎ
過学習高い低い丸暗記しすぎて応用が利かない

覚え方:「両方ダメなら未学習、新しいものだけダメなら過学習」

  • 訓練データ ✗、新データ ✗ → 未学習(Underfitting)
  • 訓練データ ○、新データ ✗ → 過学習(Overfitting)

語呂合わせ:「ウンダー(Under)=下回る=実力が下回っている」と覚えると英語名も忘れにくい!

未学習が起きやすい原因

  • モデルが単純すぎる:直線1本で複雑なデータを表現しようとしている状態
  • 学習回数(エポック数)が少なすぎる:途中でトレーニングを打ち切ってしまった
  • 特徴量(入力データの項目)が少なすぎる:判断に必要な情報がモデルに渡っていない
  • データの前処理が不適切:ノイズが多い・スケールがバラバラなまま学習させた
  • 正則化が強すぎる:過学習を防ごうとしすぎて逆に学習を制限してしまった

歴史と背景

  • 1950年代〜機械学習の黎明期から「モデルの複雑さと汎化性能のトレードオフ」は研究課題だった
  • 1992年:Vapnik(ヴァプニク)らがVC次元の理論を整備し、モデルの表現能力と学習データ量の関係が数学的に定式化される
  • 2000年代:サポートベクターマシン(SVM)の普及で、モデルの複雑さ制御(正則化)の重要性が広く認識される
  • 2010年代〜ディープラーニングの台頭により「層を深くする・ニューロン数を増やす」ことで未学習を解消しやすくなる。一方で計算コストや過学習との新たなバランス問題が生まれる
  • 現在:AutoML(自動機械学習)ツールが普及し、未学習・過学習の検出と対処を自動化する仕組みが整いつつある

未学習・過学習・汎化性能の関係

未学習と過学習は「バイアス・バリアンストレードオフ」として知られる関係にあります。モデルの複雑さを横軸に取ると、精度がU字型の曲線を描きます。

モデルの複雑さ(表現能力)→ 誤差(低いほど良い)→ 最適 未学習ゾーン 過学習ゾーン 訓練誤差 検証誤差(新データ) 両方の誤差が高い =学習が足りない 訓練は低いが 検証は高い=丸暗記

未学習への主な対処法

対処方法具体的な内容
モデルを複雑にするニューラルネットの層・ニューロン数を増やす、決定木の深さを増やす
学習回数を増やすエポック数を増やして学習を続ける
特徴量を増やす入力データの項目(変数)を追加する
正則化を弱める制約を緩めてモデルが自由に学習できるようにする
データを増やす・改善するより質の高いデータを追加し、前処理を見直す

関連する規格・RFC

※ 未学習はアルゴリズムの概念であり、特定のIETF RFC・ISO・IEEE規格は定義されていないため、このセクションは省略します。


関連用語

  • 過学習 — モデルが訓練データを丸暗記し、新データへの対応力を失った状態
  • 汎化性能 — 未知のデータに対してモデルがどれだけ正確に予測できるかの能力
  • バイアス・バリアンストレードオフ — 未学習(高バイアス)と過学習(高バリアンス)のバランス理論
  • 正則化 — 過学習を防ぐためにモデルの複雑さを制限する手法
  • 訓練データ — モデルの学習に使うデータセット。未学習の診断に使う
  • 検証データ — 学習中のモデル性能を評価するための、訓練と別のデータセット
  • 特徴量 — モデルへの入力項目。不足すると未学習の原因になる
  • 学習率 — 学習の進み具合を制御するパラメータ。小さすぎると未学習に繋がる