過学習とは

かがくしゅう

モデルが学習用データの細かな特徴や偶然の雑音まで覚え込み、学習用データでは誤差が小さいのに、新しいデータに対する誤差(汎化誤差)が大きくなる状態。パラメータの多い複雑なモデルを少ないデータで学習すると起こりやすい。データを増やす、モデルを単純にする、正則化、ドロップアウト、早期終了などで抑える。

「過学習」は、1分野の3問の練習問題に出てきます(機械学習の基礎など)。

この用語の分野: 機械学習の基礎

見分け方

過学習は、学習用データとは別に取っておいた検証用データでの性能と比べて見分けます。学習の回数を横軸にして、学習用データと検証用データの損失を並べた学習曲線を描くと、学習用データの損失は下がり続けるのに、検証用データの損失がある時点から上がり始めます。この差が広がっていく状態が過学習です。逆に、どちらの損失も大きいまま下がらない場合は、モデルが単純すぎるなどで傾向をとらえきれていない未学習(学習不足)です。

起こる原因

モデルの自由度(パラメータの数や決定木の深さなど)がデータの量に比べて大きいと、モデルは本来の傾向だけでなく、そのデータにたまたま含まれていた雑音にまで合わせられてしまいます。例えば、xの値が異なる10個の点に9次の多項式を当てはめると、すべての点をちょうど通る曲線を作れますが、点と点の間では大きく波打ち、新しい点の予測は大きく外れます。同じデータを見ながら何度もハイパーパラメータを調整することも、見かけの性能を上げて過学習の原因になります。

抑える方法

最も確実なのは、学習用データを増やすことです。データを増やせない場合は、画像を回転・反転させるなどのデータ拡張で、見かけのデータを増やします。モデルの側では、パラメータを減らしてモデルを単純にする、損失に重みの大きさの罰則を加える正則化、学習中にランダムにニューロンを無効にするドロップアウト、検証用データの損失が上がり始めたら学習を止める早期終了などの方法があります。複数のモデルの予測を平均するアンサンブル学習も、予測のばらつきを抑えます。

過学習の練習問題に挑戦

過学習(過剰適合)が起きているときに見られる様子として、適切なものはどれか。

  1. A学習用データでの誤差は小さいが、検証用データでの誤差が大きい
  2. B学習用データでも検証用データでも、誤差が大きいまま下がらない
  3. C学習を進めるほど、学習用データでの誤差も検証用データでの誤差も同じように下がり続ける
答えと解説を見る

正解:A. 学習用データでの誤差は小さいが、検証用データでの誤差が大きい

過学習は、モデルが学習用データの細かな特徴や雑音まで覚え込んでしまい、新しいデータに対する性能(汎化性能)が落ちる状態です。学習用データでの誤差は小さいのに、検証用データでの誤差が大きいことが目安になります。学習用データでも誤差が大きい状態は、モデルが単純すぎるなどで傾向をとらえきれていない未学習(学習不足)です。対策には、データを増やす、モデルを単純にする、正則化やドロップアウト、検証用データでの誤差が上がり始めたところで学習を止める早期終了などがあります。

過学習を抑える正則化などの手法の説明として、適切なものはどれか。

  1. AL1正則化は重みの絶対値の和を損失に加えるもので、一部の重みがちょうど0になりやすい
  2. BL2正則化は重みの絶対値の和を損失に加えるもので、不要な重みを0にして特徴量を絞り込む働きが強い
  3. Cドロップアウトは、学習でも推論でも毎回ランダムにニューロンを無効にして、出力にばらつきを持たせる
答えと解説を見る

正解:A. L1正則化は重みの絶対値の和を損失に加えるもので、一部の重みがちょうど0になりやすい

正則化は、損失関数に重みの大きさに応じた罰則を加えて、重みが大きくなりすぎるのを防ぎ、モデルを単純に保つ方法です。L1正則化は重みの絶対値の和を加え、一部の重みがちょうど0になりやすいので、使う特徴量を絞り込む働きがあります(Lasso回帰)。L2正則化は重みの2乗の和を加え、重みを全体的に小さくしますが、ちょうど0にはなりにくい性質があります(リッジ回帰、重み減衰)。ドロップアウトは、学習のときだけランダムにニューロンを無効にして特定のニューロンに頼りすぎないようにする方法で、推論のときはすべてのニューロンを使います。

よくある質問

過学習と未学習はどう違いますか?

過学習は、学習用データに合わせすぎて新しいデータでの誤差が大きくなる状態で、学習用データでの誤差は小さくなります。未学習は、モデルが単純すぎるか学習が足りないために、学習用データでも誤差が大きい状態です。バイアスとバリアンスで言えば、未学習はバイアスが大きく、過学習はバリアンスが大きい状態にあたります。

学習用データでの正解率が100%なら過学習ですか?

それだけでは決まりません。検証用データやテスト用データでも十分な性能が出ていれば、問題はありません。学習用データと検証用データの性能の差が大きいときに、過学習を疑います。

解説の中の「過学習」

「過学習」が出てくる問題(3問)

  1. 過学習(過剰適合)が起きているときに見られる様子として、適切なものはどれか。
  2. 過学習を抑える正則化などの手法の説明として、適切なものはどれか。
  3. モデルの誤差を、バイアス(偏り)とバリアンス(ばらつき)に分けて考えるとき、適切なものはどれか。

機械学習の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

半導体・電子回路・情報の計算ツール

関連する用語

正則化 推論 期待値 交差検証 活性化関数 強化学習 教師あり学習 教師なし学習 k平均法 勾配降下法

用語集の一覧へ