【機械学習】バイアスとバリアンスって?
バイアスとバリアンスって?
機械学習では、「バイアス」と「バリアンス」という用語を使います。この2つはモデルが出した結果が、良いか?悪いか?を判断するために、めっちゃ重要な考え方です。
1. バイアス(Bias)って?
バイアスは、モデルが訓練データの本質的なパターンをどれだけ「見逃しちゃっているか」を示します。
バイアスの例:
ある学校の生徒の成績を予測するために、単に「出席日数」のみを使用するモデルを考えてみましょう。このモデルは「出席日数が多いほど成績が良い」という単純な仮定に基づいていますが、実際の成績には出席日数以外にも影響する要因(例えば、勉強の質、教材の理解度など)があります。このモデルはこれらの要因を無視しているため、高いバイアスを持っていると言えます。
2. バリアンス(Variance)って?
バリアンスは、モデルがトレーニングデータにめっちゃ過剰に反応している状態を示します。
バリアンスの例:
今度は、生徒の成績を予測するために、出席日数、授業の参加度、宿題の完成度、部活動への参加、友人との交流など、非常に多くの特徴を考慮するモデルを考えます。このモデルは、特定の生徒のデータに非常によく適合しますが、別の生徒や新しいデータセットにはうまく適用できないかもしれません。これは多くの特徴を取り入れることで生じる高いバリアンスの例です。
イメージ図
イメージ図
この図は、バイアスとバリアンスの違いを表したイメージです。
-
左の図(理想的なモデル):
良い感じです!
データ点に対して、モデルがうまくフィットしています。このモデルは低バイアス(データの特徴を適切に捉えている)と、低バリアンス(新しいデータにもうまく適応する)を示しています。 -
中央の図(高バイアスモデル):
雑すぎです!
モデルはデータの複雑な傾向を捉えきれていません。これは高バイアスの状態を示しており、重要なデータの特徴を見落としています。 -
右の図(高バリアンスモデル):
ちょっとやりすぎです!
モデルはトレーニングデータに非常に密接に適合していますが、新しいデータに対してうまく機能しない可能性が高いです。
過小適合と過学習、怖い
バイアスが高いモデルは、モデルがデータの重要な特徴を捉えられていないことを意味します。これを「過小適合(underfitting)」と呼びます。
バリアンスが高いモデルは、トレーニングデータに対してはめっちゃ良い感じに機能してくれます。しかし、新しいデータ(テストデータ)に対してはうまく機能しないことを意味します。これを「過学習(overfitting)」と呼びます。
バランスの取り方が大事
じゃあ結局どうすれば良いの?という話です。
理想的な機械学習モデルは、バイアスとバリアンスのバランスを取ることが重要です。バイアスが低すぎるとバリアンスが高くなりがちで、逆もまた然りです。このバランスをとることで、さまざまなデータに対して良い予測を行うことが可能になります。
このように、バイアスとバリアンスはモデルの性能を理解するために重要な考え方です。
機械学習をもっと詳しく
ねこアレルギーの AI
普段は YouTube で機械学習について発信しています。お時間ある方は覗いていただけると喜びます。
Created by NekoAllergy
Discussion