バイアスとバリアンスのトレードオフ
機械学習において、モデルの予測性能を改善したい場合は予測誤差と精度に関係するパラメータを理解することが重要です。
そもそも、機械学習の目的は未知のデータを予測することです。
そして、予測性能のいいモデルを作る場合にはこの記事に記載してあることを理解する必要があります。
そこで、今回はバリアンス・バイアス・ノイズとモデルの予測性能の関係について解説をします。
バイアス-バリアンス分解
モデルの予測精度を高めるには、汎化誤差を最小化する必要があります。
汎化誤差は、以下の3つに分けることができます。
- バイアス(Bias)
- バリアンス(Variance)
- ノイズ(削除不可能な誤差:Irreducible Error)
このように要素を分けることを、バイアスとバリアンスの分解:Bias-Variance Decompositionといいます。
入門向けの記事であるため数式を読むリテラシーに差があると思いますので、ここでは実際の数式の記述は割愛しますが、汎化性能とバイアス、バリアンス、ノイズの関係は以下のような式になります。
それでは、分解した要素を詳しく見ていきましょう。
バイアス:Bias
機械学習(および統計学)におけるバイアスとは、モデルの平均予測値と予測しようとしている真の値との差のことです。
バイアスの高いモデルは、モデルへの入力と出力の関係を正確に学習できていない状態で、訓練データであっても正確に予測することができない学習不足の状態です。
AI・機械学習ナレッジセンター: バイアス
バリアンス:Variance
機械学習(および統計学)におけるバリアンスとは、モデル予測の広がりを示す値のことです。
AI・機械学習ナレッジセンター: バリアンス
ノイズ:Irreducible Error
削減不可能な誤差といい、データ中のノイズの量の尺度です。
どんなに良いモデルを作ってもデータには除去できないノイズがあるということを理解することが重要です。
汎化誤差:Generalization Error
未知のデータを予測した時の真の値との誤差のことです。
機械学習の目的は未知のデータを予測することですので、それを予測できたかを評価する時に使われるのが汎化誤差です。
アンダーフィッティングとオーバーフィッティング
下の図は、バイアスとバリアンスの関係をダーツの的のように表したものです。
バイアスとバリアンスの説明でよく出てきますので見たことがある方もいるかもしれません。
この図では、ターゲットの中心が正しい値を完璧に予測するモデルを表しています。
中心のターゲットから遠ざかるにつれて、予測はどんどん悪くなっていきます。
それぞれの状態についてみていきましょう。
バイアスが高く、バリアンスが低い状態(左上)
この状態は、アンダーフィッティング(未学習)と言われ、学習済みモデルがデータのパターンを捉えきれていない場合に起こります。
これは、モデルを構築するためのデータ量が非常に少ない場合や、非線形データに対して線形アルゴリズムを適用し線形モデルを構築しようとする場合にこのような状態になります。
この時、学習済みモデルは非常にシンプルな状態になっています。
バイアスが低く、バリアンスが高い状態(右下)
この状態は、オーバーフィッティング(過学習)と言われ、学習済みモデルがデータのパターンを学習する際にノイズも学習してしまうと起こります。ノイズの多いデータセットで学習を行いすぎるとこのような状態になります。
この時、学習済みモデルは複雑な状態になっています。
オーバーフィッティング、アンダーフィッティングについては下の図が参考になります。
バイアスとバリアンスのトレードオフ
下の図は横軸にモデルの複雑さ、縦軸に誤差(Error)を取り、バイアス、バリアンス、汎化誤差の関係を表したグラフです。
横軸は左に行けば行くほど、バイアスが高く、バリアンスが低くなります。
この時、汎化誤差は非常に大きくモデルの予測性能もよくないことがわかります。
一方、右に行けば行くほどバイアスは低く、バリアンスが高くなります。
汎化誤差が非常に大きくなり同様にモデルの予測性能もよくありません。
モデルの予測性能をいい状態にするには、汎化誤差が最小となる図の水色ラインのバイアスとバリアンスを見つける必要があります。
したがって、バイアスと分散を理解することは、予測モデルの動作を理解する上で非常に重要です。
汎化誤差の最適化
汎化誤差を最適化するには様々なアプローチ方法がありますが、以下に一例を記載します。
- 正規化
- Early Stopping
- クロスバリデーション
クロスバリデーションについては、こちらのAI・機械学習ナレッジセンター:交差検証を参照ください。 - アンサンブル学習
アンサンブル学習については、こちらのAI・機械学習ナレッジセンター:アンサンブル学習を参照ください。