この記事では、機械学習における「汎化誤差」について、その意味や何が汎化誤差を生むのか、偏りと分散のトレードオフや訓練誤差との関係を、具体例をもとに解説します。
<目次>
汎化誤差とは何か
機械学習におけるモデルの学習・評価において重要な概念の一つが、汎化誤差 (generalization error) です。汎化誤差とは、学習データをもとに構築したモデルを用いて「未知のデータ」の値を予測した際の、予測値と実際の値の差を指します。
機械学習では、この汎化誤差が小さいことが、予測性能が高いことを意味するため、汎化誤差が出来るだけ小さいモデルを構築することが、機械学習における最終目標となります。また、未知のデータに対する予測性能の高さのことを汎化性能と呼びます。
一方、訓練誤差 (training error) は、未知のデータに対する予測誤差ではなく、モデルの学習に使用したデータにおける予測値と実際の値との差を意味します。また、学習データへの適合が足りず、訓練誤差が大き過ぎる状態は学習不足(アンダーフィッティング)、逆に学習データへ過剰に適合し、訓練誤差を小さくし過ぎた状態は過学習(オーバーフィッティング)と呼ばれます。
| 汎化誤差 | 未知のデータに対する予測誤差 |
| 訓練誤差 | 学習データに対する予測誤差 |
| 学習不足 | 学習データへの適合が足りず、訓練誤差が大き過ぎる状態 |
| 過学習 | 学習データへ過剰に適合し、訓練誤差を小さくし過ぎた状態 |
後述するように、汎化誤差と訓練誤差の2つは密接な関係にあり、学習不足・過学習のいずれの状態でも、汎化誤差が大きくなり、汎化性能は低下します。最も汎化誤差が小さい(汎化性能が高い)モデルは、学習不足と過学習の間の最適なバランスにおいて得られることが一般的です。
何が汎化誤差を生むのか
汎化誤差は一般的に、①偏り(バイアス)、②分散(バリアンス)、③ノイズの3つの要素で構成されます。
偏り(バイアス)
モデルがデータの全ての側面を完全に学習することはできないことから生じる、予測値と真の値との乖離です。例えば、ある団体に対する支援者が、寄付の依頼に応じてくれるか否かをロジスティック回帰モデルを用いて予測するケースを考えます。
ロジスティック回帰モデルは、目的変数を説明変数の値の足し算として表現する「線形モデル」の一種ですが、もし寄付の依頼に応じてくれるか否かが線形モデルで表現できるものよりも複雑であれば(一般的にはそうと考えられます)、モデルが完全な予測精度を獲得することは決してできず、その予測は真の値に対して一定の偏りを含んだものとなります。
分散(バリアンス)
異なるデータをもとに学習したモデルが、異なる予測を行う程度で、予測のバラつき(信頼性)を意味します。学習データは無限ではないため、モデルの学習は常に有限個のデータセット(サンプル)をもとに行われますが、学習に使われるデータがわずかに異なるだけでも、異なるモデルが構築されます。
異なるモデルは異なる予測を行いますが、各モデルの予測値が予測値の平均からどの程度散らばっているかが「分散」に当たります。分散が大きいモデル(手法)は、より大きな誤差を持つことが知られています。
ノイズ
予測対象に内在するランダム性であり、不可避のノイズを指します。これは、予測の対象が、あくまで確率的な性格を持つものであることに由来します。
例えば先の例で、全く同じ特徴量を持つ2人の支援者が、常に同じ寄付行動をするかと言えば、現実にはそうではありません。このように予測対象に内在するランダム性は、予測において回避することのできないノイズとして、誤差を生じさせる要因となります。
偏りと分散の違いは、以下の射撃による比喩を通じて理解することができます。射撃の例での「偏りが小さい」とは、弾が的の中心に近いところに当たる状態に該当します。一方「分散が小さい」とは、弾の当たる場所のバラつきが小さく、常に同じような場所に当たっている状態に該当します。
最も望ましいのは、「C」のように的の中心に近いところに、小さいバラつきで弾が当たり、偏りと分散の両方が小さい状態ですが、現実には後述するように、偏りと分散の間にはトレードオフの関係があります。
作成:Intelligence In Society
偏りと分散のトレードオフ
偏りと分散の間には、典型的なトレードオフの関係があります。極端な例として、先述のある支援者が寄付の依頼に応じてくれるか否かの例で、サンプル全体の寄付率の平均を、全ての支援者に対する予測値とするケースを考えます。この場合、予測の分散は非常に小さくなりますが、他の有用な特徴量を全て無視しているため、大きな偏りを生みます。
これとは逆に、100個の特徴を使い、学習データを100%の精度で予測できるモデルを作った場合、モデルが学習の過程で余計なノイズ(疑似相関)を次々に拾ってしまい、ノイズを用いて「誤った汎化」を行います。この場合、学習データが僅かに異なるだけで大きく異なる予測となり、分散が大きくなります。
訓練誤差との関係性
上記の一つ目の例では、学習データへの適合が足りず学習不足となっています。一般的に、学習不足の場合にはモデルが過度に単純化されることで偏りが大きくなり、学習データとテストデータ(未知のデータ)の両方に対して十分な予測精度を得られない(訓練誤差と汎化誤差が共に大きい)状態となります。
一方、2つ目の例では、学習データに過度に適合することで過学習となっています。過学習の場合には、モデルが過度に複雑化することで分散が大きくなり、学習データに対する予測精度は高い一方、テストデータに対しては十分な予測精度を得られない(訓練誤差は小さいが汎化誤差が大きい)状態となります。
作成:Intelligence In Society
上図の左は、縦軸に誤差、横軸にモデルの複雑さを取ることで、偏り・分散と汎化誤差の関係を表しています。偏りと分散にトレードオフの関係があり、偏りが学習不足、分散が過学習の状態でそれぞれ大きくなることが分かります。また、最適なポイントは学習不足と過学習の間に存在しています。
上図の右は、縦軸に予測精度を取ることで、予測精度と学習量(モデルの複雑さ)の関係を表しています。左の図と合わせて見ることで、予測精度が最も高くなるモデルを得るためには、学習によってモデルが複雑化する過程で、汎化誤差が最も小さくなるポイントを見つけることが重要であることが分かります。
ここまで、機械学習における「汎化誤差」について、その意味や何が汎化誤差を生むのか、偏りと分散のトレードオフや訓練誤差との関係を解説しました。
当記事に関連するトピックについての詳細は、以下のページをご覧ください。
また、機械学習に関する全ての記事は以下のページからご覧いただけます。
参考文献:
◦Foster Provost, Tom Fawcett (2014) 『戦略的データサイエンス入門―ビジネスに活かすコンセプトとテクニック』O’Reilly Japan
◦金本拓 (2024) 『因果推論ー基礎から機械学習・時系列解析・因果探索を用いた意思決定のアプローチー』, オーム社