機械学習の目的は、訓練データへのあてはめではなく、未知のデータに対して高い性能を発揮すること(汎化)です。この項目では、過剰適合・過少適合という2大課題を、訓練誤差と汎化誤差、バイアスとバリアンスという枠組みで整理し、対策としての正則化、そして高次元データ特有の問題である次元の呪いを学びます。
📖 概要
モデルの性能は、学習に使ったデータでの誤差(訓練誤差)と、未知のデータでの誤差の期待値(汎化誤差)の2つで評価されます。機械学習で本当に小さくしたいのは汎化誤差ですが、学習で直接最小化できるのは訓練誤差だけです。この2つの誤差のギャップこそが、過剰適合・過少適合という課題の正体です。
モデルが単純すぎると訓練誤差も汎化誤差も大きい過少適合になり、複雑すぎると訓練誤差は小さいのに汎化誤差が大きい過剰適合になります。この現象を統計的に説明するのがバイアス・バリアンス分解で、汎化誤差は(概念的に)バイアスの二乗、バリアンス、そして削減不能なノイズの和として理解できます。モデルの複雑さを上げるとバイアスは下がる一方バリアンスは上がるため、両者のバランスを取ることが重要になります。
対策の代表が、モデルの複雑さにペナルティを課す正則化です。さらに、特徴量の次元が高いデータでは、次元の呪いと呼ばれる高次元特有の困難が加わり、過剰適合が起こりやすくなります。これらの概念は、深層学習の正則化(第3章)を理解するための共通言語です。
🔍 キーワード解説
訓練誤差
訓練誤差は、学習に用いた訓練データ上で測った誤差です。学習アルゴリズムは訓練誤差を最小化するようにパラメータを更新するため、モデルの表現力を上げれば訓練誤差はいくらでも小さくできます。しかし訓練誤差の小ささは、未知データでの性能を保証しません。
汎化誤差
汎化誤差は、訓練に使っていない未知のデータに対する誤差の期待値で、機械学習が本来最小化したい量です。真の汎化誤差は直接計算できないため、実務では訓練に使わなかったテストデータでの誤差で推定します。訓練誤差が小さいのに汎化誤差が大きい状態が過剰適合、両方とも大きい状態が過少適合です。学習曲線で訓練誤差と検証誤差の乖離を監視するのは、このギャップを捉えるためです。
バイアス
バイアスは、モデルの予測の期待値と真の値との系統的なずれです。モデルの表現力が不足していたり、仮定が実際のデータ構造と合っていなかったりすると大きくなります。バイアスが大きい状態は過少適合に対応し、訓練データを増やしても改善しにくいのが特徴です。対策は、より表現力の高いモデルの使用や特徴量の追加など、モデルを「賢くする」方向になります。
バリアンス
バリアンスは、訓練データの選ばれ方(サンプリングのゆらぎ)によって予測がどれだけばらつくかを表します。複雑なモデルは訓練データの細部やノイズまで拾うため、データセットが変わるたびに大きく異なる予測をしがちで、バリアンスが大きくなります。これは過剰適合に対応します。対策は、訓練データの追加、正則化、アンサンブル(バギング)など、予測を「安定させる」方向になります。バイアスとバリアンスは一般にトレードオフの関係にあり、モデルの複雑さの調整は両者の合計を最小にする点を探す作業といえます。
正則化
正則化は、訓練誤差の最小化だけでなくモデルの複雑さにもペナルティを課すことで、過剰適合を抑えて汎化誤差を下げる技法の総称です。狭義には、損失関数に重みのノルムの項を加えるL1正則化(スパース化)・L2正則化(重みの縮小)を指します。広義には、ドロップアウトや早期終了、データ拡張など、汎化性能の向上を狙う工夫全般が正則化と呼ばれます。バイアス・バリアンスの言葉でいえば、正則化はバイアスを多少増やす代わりにバリアンスを大きく下げる操作です。
次元の呪い
次元の呪いは、特徴量の次元が増えるにつれて空間の体積が指数的に増大し、データが極端に疎らになることで生じる諸問題の総称です。高次元では、同じ密度でデータを敷き詰めるのに必要なサンプル数が次元に対して指数的に増える、点同士の距離の差が相対的に小さくなり近傍の概念が働きにくくなる、といった現象が起き、k近傍法のような距離ベースの手法は特に影響を受けます。データが疎になるほどモデルはノイズを拾いやすく、過剰適合の危険も高まります。対策としては、特徴量選択や主成分分析などの次元圧縮、正則化が用いられることが多いです。
📝 試験でのポイント
- 「訓練誤差小・汎化誤差大=過剰適合(高バリアンス)」「両方大=過少適合(高バイアス)」の対応表は最頻出です
- 学習曲線(訓練誤差と検証誤差のグラフ)から過剰適合・過少適合を診断させる問題に対応できるようにしましょう
- 高バイアスへの対策(モデルを複雑に・特徴量追加)と高バリアンスへの対策(データ追加・正則化・アンサンブル)を取り違えないようにしましょう
- 正則化が「バイアスを少し増やしてバリアンスを下げる」操作であることを、トレードオフの文脈で説明できるようにしましょう
- 次元の呪いは「必要サンプル数の指数的増加」「距離の差の縮小」という2つの帰結で説明されることが多く、距離ベース手法への影響とセットで問われます
📚 まとめ
機械学習の中心課題は、訓練誤差ではなく汎化誤差を小さくすることです。汎化誤差はバイアス(系統的ずれ)とバリアンス(ばらつき)の観点で分解でき、モデルの複雑さの調整と正則化で両者のバランスを取ります。高次元データでは次元の呪いにより過剰適合がさらに起こりやすくなるため、次元圧縮や正則化との組み合わせが重要です。
