はじめに
機械学習モデルを作成するとき、必ず直面する重要な課題が
「過学習(オーバーフィッティング)」です。
また、モデルの性能を正しく理解するためには、
「バイアス・バリアンスのトレードオフ」についても知っておく必要があります。
この記事では、
- 過学習とは何か?
- バイアスとバリアンスとは?
- トレードオフの意味
- 過学習を防ぐための工夫
について、やさしく解説します!
🔹 統計自主学習シリーズまとめページはこちら
▶【初心者向け】統計自主学習シリーズまとめ
過学習(オーバーフィッティング)とは?
過学習とは、
訓練データに対してモデルが「覚えすぎる」現象のことです。
- 訓練データに対しては非常に高い精度を出す
- しかし、新しいデータ(テストデータ)にはうまく対応できない
つまり、「勉強した問題は解けるけど、初見問題には弱い」状態です。
過学習のイメージ
- モデルがデータの「本質」だけでなく、「ノイズ」や「例外」にまでフィットしてしまう
- 結果、汎用性が失われる
バイアスとバリアンスとは?
過学習を理解するためには、
「バイアス」と「バリアンス」という2つの概念を押さえる必要があります。
バイアス(Bias)
- モデルの予測が、常に特定の方向にズレていること
- シンプルなモデル(例えば直線だけ)だと、現実のデータを表現しきれず、バイアスが大きくなる
➡️ 「単純すぎて正確に予測できない」イメージ
バリアンス(Variance)
- モデルがデータの細かい違いに過剰に反応してしまうこと
- 複雑なモデル(例えば高次の多項式回帰など)だと、訓練データにぴったり合いすぎ、バリアンスが大きくなる
➡️ 「覚えすぎて新しいデータに弱い」イメージ
バイアス・バリアンスのトレードオフ
ここで重要なのが、
バイアスを小さくしようとするとバリアンスが大きくなり、
バリアンスを小さくしようとするとバイアスが大きくなる
という「トレードオフ(両立できない関係)」が存在することです。
- シンプルすぎるモデル ➔ バイアス高い、バリアンス低い(アンダーフィット)
- 複雑すぎるモデル ➔ バイアス低い、バリアンス高い(オーバーフィット)
➡️ ちょうど良いところ(バイアス・バリアンスのバランスが取れたところ)を狙うのが理想!
過学習を防ぐための方法
では、過学習を防ぐためにはどうすればいいのでしょうか?
主な方法をまとめます。
① モデルをシンプルにする
- パラメータの数を減らす
- 例:線形回帰なら、多項式の次数を上げすぎない
② 正則化(Regularization)
- 「モデルを複雑にしすぎないようにペナルティを課す」方法
- 例:リッジ回帰(L2正則化)、ラッソ回帰(L1正則化)
③ データを増やす
- 訓練データが多ければ、多様なパターンを学習でき、過学習しにくくなる
④ クロスバリデーションを使う
- 訓練データをさらに分割して、汎用性をチェックしながら学習する
⑤ 早期終了(Early Stopping)
- ニューラルネットなどで、テストデータの誤差が悪化し始めたら学習を止める
まとめ
- 過学習は、「訓練データに合わせすぎて、新しいデータに弱くなる」現象
- バイアスとバリアンスは、モデルの「単純さ」と「複雑さ」のバランスを表す
- 理想は、バイアスとバリアンスのバランスが取れたモデルを作ること
- 正則化、データ増加、クロスバリデーションなどを活用して、過学習を防ごう!
【あわせて読みたい】
🔹 次におすすめの記事
▶ハイパーパラメータとは?グリッドサーチ・ランダムサーチ入門
🔹 関連記事
▶「正規分布とは?現実世界と機械学習での使われ方・特徴をやさしく解説」
▶主要6モデルをやさしく解説!線形回帰・ロジスティック回帰・KNN・SVM・決定木・ランダムフォレストとは?
▶分類問題の基礎!混同行列・精度・再現率・F1スコアの正しい使い方
▶なぜ標準化・正規化でモデルの精度が上がるのか?実例と一緒に解説
🔹 統計自主学習シリーズまとめページはこちら
▶【初心者向け】統計自主学習シリーズまとめ

コメント