【みがくしゅう】

未学習(アンダーフィッティング) とは?

最終更新:
💡 データの傾向を、十分に捉えられていない

モデルがデータの傾向を十分に捉えられていない適合不足の状態。過学習との違い、訓練・検証の評価、モデルや特徴量を見直す方法を解説します。

📌 このページのポイント
未学習:データの傾向を捉えきれない曲線の傾向を、直線で表そうとする例xy点・曲線:説明用のデータの傾向橙の破線:単純すぎるモデルの例訓練・検証の両方で評価が悪いモデル・特徴量・学習の設定等を確認
直線だけでは曲線の傾向を捉えきれない模式図で、実測値や特定の学習結果ではありません。未学習は未実行という意味ではなく、学習時間を増やすだけで直るとは限りません。
ひよこ ひよこ
未学習は、まだ学習を始めていないこと?
ペンギン先生 ペンギン先生
ここではunderfitting、適合が不十分な状態だよ。学習を実施していても、データの傾向を捉えられないことがある。たとえば曲線の傾向を直線だけで表そうとすると、訓練に使った点にも合いにくいんだ。
ひよこ ひよこ
過学習との違いは?
ペンギン先生 ペンギン先生
未学習は訓練データへの適合も不十分。過学習は訓練データに合っていても、別のデータでうまく働かない状態だよ。訓練と検証の両方を同じ指標で見ると手掛かりになる。損失なら小さいほど、正解率なら大きいほどよいなど、指標の向きも確認しよう。
ひよこ ひよこ
訓練も検証も悪ければ、すぐ断定できる?
ペンギン先生 ペンギン先生
未学習の手掛かりにはなるけれど、評価の基準やデータも確認しよう。比較する基準のモデル、特徴量やラベル、評価の計算が適切かも関係する。結果の悪さだけを見て、必ず学習回数が足りないと決めないことが大切なんだ。
ひよこ ひよこ
どう改善する?
ペンギン先生 ペンギン先生
原因に合わせて、モデルの表現力、使う特徴量、正則化の強さなどを見直すよ。たとえば直線だけでは表せないなら、曲線を表せる特徴を用いる方法がある。複雑にすれば必ずよいわけではないので、検証の結果を比べよう。
ひよこ ひよこ
学習時間を増やしたり、データを追加したりする?
ペンギン先生 ペンギン先生
学習が収束していないなら、学習の設定や回数を確認する価値はあるよ。でも表現できない形を、同じモデルで長く学習するだけでは直せない場合がある。学習曲線を見て、追加データで改善しそうかも判断するんだ。
もっと詳しく知りたい人へ

訓練と検証の差が小さければ、よいモデル?

両方の結果が悪いまま近付く場合もあります。差だけでなく、用途に必要な水準や基準のモデルとの比較で判断します。調整に使った検証データだけで最終性能を評価せず、別のテストデータで確かめます。

学習曲線の横軸は、必ず学習回数?

何を変えたグラフか確認します。scikit-learnのlearning_curveは訓練サンプル数を変え、validation_curveはハイパーパラメーターを変えて評価します。エポック数や時間に対する損失のグラフとは横軸が異なり、原因や対策の読み取り方も変わります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「未学習」って出てきたら「モデルが、データの傾向を十分に捉えられていない状態」と思えばだいたいOK!
📖 おまけ:英語の意味
「Underfitting」 = 適合不足・過少適合
💬 Underは不十分、fittingは適合です。この文脈の未学習は、一度も学習していないという意味ではなく、学習しても適合が足りない状態を指します。

参考資料

← 用語集にもどる