過学習とは?バイアス・バリアンス問題をやさしく理解|統計自主学習⑬

はじめに

機械学習モデルを作成するとき、必ず直面する重要な課題が
「過学習(オーバーフィッティング)」です。

また、モデルの性能を正しく理解するためには、
「バイアス・バリアンスのトレードオフ」についても知っておく必要があります。

この記事では、

  • 過学習とは何か?
  • バイアスとバリアンスとは?
  • トレードオフの意味
  • 過学習を防ぐための工夫
    について、やさしく解説します!

🔹 統計自主学習シリーズまとめページはこちら
【初心者向け】統計自主学習シリーズまとめ


過学習(オーバーフィッティング)とは?

過学習とは、
訓練データに対してモデルが「覚えすぎる」現象のことです。

  • 訓練データに対しては非常に高い精度を出す
  • しかし、新しいデータ(テストデータ)にはうまく対応できない

つまり、「勉強した問題は解けるけど、初見問題には弱い」状態です。

過学習のイメージ

  • モデルがデータの「本質」だけでなく、「ノイズ」や「例外」にまでフィットしてしまう
  • 結果、汎用性が失われる

バイアスとバリアンスとは?

過学習を理解するためには、
「バイアス」と「バリアンス」という2つの概念を押さえる必要があります。

バイアス(Bias)

  • モデルの予測が、常に特定の方向にズレていること
  • シンプルなモデル(例えば直線だけ)だと、現実のデータを表現しきれず、バイアスが大きくなる

➡️ 「単純すぎて正確に予測できない」イメージ


バリアンス(Variance)

  • モデルがデータの細かい違いに過剰に反応してしまうこと
  • 複雑なモデル(例えば高次の多項式回帰など)だと、訓練データにぴったり合いすぎ、バリアンスが大きくなる

➡️ 「覚えすぎて新しいデータに弱い」イメージ


バイアス・バリアンスのトレードオフ

ここで重要なのが、
バイアスを小さくしようとするとバリアンスが大きくなり、
バリアンスを小さくしようとするとバイアスが大きくなる

という「トレードオフ(両立できない関係)」が存在することです。

  • シンプルすぎるモデル ➔ バイアス高い、バリアンス低い(アンダーフィット
  • 複雑すぎるモデル ➔ バイアス低い、バリアンス高い(オーバーフィット

➡️ ちょうど良いところ(バイアス・バリアンスのバランスが取れたところ)を狙うのが理想!


過学習を防ぐための方法

では、過学習を防ぐためにはどうすればいいのでしょうか?
主な方法をまとめます。

① モデルをシンプルにする

  • パラメータの数を減らす
  • 例:線形回帰なら、多項式の次数を上げすぎない

② 正則化(Regularization)

  • 「モデルを複雑にしすぎないようにペナルティを課す」方法
  • 例:リッジ回帰(L2正則化)、ラッソ回帰(L1正則化)

③ データを増やす

  • 訓練データが多ければ、多様なパターンを学習でき、過学習しにくくなる

④ クロスバリデーションを使う

  • 訓練データをさらに分割して、汎用性をチェックしながら学習する

⑤ 早期終了(Early Stopping)

  • ニューラルネットなどで、テストデータの誤差が悪化し始めたら学習を止める

まとめ

  • 過学習は、「訓練データに合わせすぎて、新しいデータに弱くなる」現象
  • バイアスとバリアンスは、モデルの「単純さ」と「複雑さ」のバランスを表す
  • 理想は、バイアスとバリアンスのバランスが取れたモデルを作ること
  • 正則化、データ増加、クロスバリデーションなどを活用して、過学習を防ごう!

【あわせて読みたい】

🔹 次におすすめの記事

ハイパーパラメータとは?グリッドサーチ・ランダムサーチ入門

🔹 関連記事
「正規分布とは?現実世界と機械学習での使われ方・特徴をやさしく解説」

主要6モデルをやさしく解説!線形回帰・ロジスティック回帰・KNN・SVM・決定木・ランダムフォレストとは?

分類問題の基礎!混同行列・精度・再現率・F1スコアの正しい使い方

なぜ標準化・正規化でモデルの精度が上がるのか?実例と一緒に解説

🔹 統計自主学習シリーズまとめページはこちら
【初心者向け】統計自主学習シリーズまとめ

コメント

タイトルとURLをコピーしました