過学習

過学習とは、トレーニング セットと非常によく一致する(記憶する)モデルを作成した結果、新しいデータに対して正しい予測ができなくなることを意味します。過学習モデルは、実験では優れた性能を発揮するが、実世界では役に立たない発明に似ています。

図 11 では、各ジオメトリック シェイプが正方形の森内の木の位置を表しています。青いダイヤモンドは健康な木の場所を示し、オレンジ色の円は病気の木の場所を示します。

図 11. この図には約 60 個のドットが含まれています。そのうち半分は健康な木で、残りの半分は病気の木です。健康な木は主に北東の四分割にありますが、北西の四分割にもいくつかあります。病気の木は主に南東の四分割にありますが、一部の病気の木は他の四分割にも広がっています。
図 11. トレーニング セット: 正方形の森の中の健康な木と病気の木の位置。

 

健康な木と病気の木を区別するために、線、曲線、楕円形など、任意の形を頭の中で描きます。次に、次の行を開いて、考えられる分離を 1 つ確認します。

図 12 に示す複雑な形状は、2 本の木を除くすべての木を正常に分類しました。シェイプをモデルと見なすと、これは素晴らしいモデルです。

本当にそうでしょうか?優れたモデルは、新しいサンプルを正常に分類します。図 13 は、同じモデルがテストセットの新しいサンプルに対して予測を行う場合の結果を示しています。

図 13. 図 12 に示すモデルに重ねて表示された、正常な木と病気の木の新しいバッチ。モデルは多くの木を誤って分類します。
図 13. テストセット: 病気の木と健康な木を区別するための複雑なモデル。

 

したがって、図 12 の複雑なモデルはトレーニング セットでは優れた結果を出しましたが、テストセットでは非常に悪い結果を出しました。これは、トレーニング セットデータにモデルが過学習している典型的なケースです。

適合、過学習、アンダーフィット

モデルは新しいデータに対して優れた予測を行う必要があります。つまり、新しいデータに「適合する」モデルを作成することを目標としています。

ご覧のとおり、過剰適合モデルはトレーニング セットでは優れた予測を行いますが、新しいデータでは予測が不十分です。アンダーフィットのモデルは、トレーニング データでさえ適切な予測を行いません。過剰適合モデルは、ラボでは優れたパフォーマンスを発揮するが、実世界ではそうではない製品に似ています。一方、アンダーフィット モデルは、ラボでも優れたパフォーマンスを発揮しない製品に似ています。

図 14. デカルトグラフ。X 軸には「トレーニング セットでの予測の品質」というラベルが付いています。Y 軸には「実際のデータでの予測の質」というラベルが付けられています。曲線は原点から始まり、徐々に上昇しますが、その後急速に下降します。曲線の左下部分(実際のデータでの予測の品質が低く、トレーニング セットでの予測の品質も低い)は「モデルの過小適合」と呼ばれます。曲線の右下部分(実世界のデータでは予測の品質が低いが、トレーニング セットでは予測の品質が高い)は「モデルの過剰適合」とラベル付けされています。曲線のピーク(実世界のデータに対する予測の品質が高く、トレーニング セットに対する予測の品質が中程度)には「モデルを適合」というラベルが付けられています。
図 14. アンダーフィット、適合、オーバーフィットのモデル。

 

一般化は過学習の反対です。つまり、一般化が良好なモデルは、新しいデータに対して優れた予測を行います。目標は、新しいデータに適切に一般化できるモデルを作成することです。

過学習の検出

次の曲線は、過剰適合を検出するのに役立ちます。

  • 損失曲線
  • 一般化曲線

損失曲線は、モデルの損失とトレーニングの反復回数をプロットします。2 つ以上の損失曲線を示すグラフは、一般化曲線と呼ばれます。次の一般化曲線は、2 つの損失曲線を示しています。

図 15. トレーニング セットの損失関数は徐々に低下します。検証セットの損失関数も減少しますが、一定回数反復すると増加し始めます。
図 15. 過学習を強く示唆する一般化曲線。

 

2 つの損失曲線は最初は同じように動作し、その後は分岐します。つまり、一定数の反復処理の後、トレーニング セットでは損失が減少または一定に保たれますが(収束)、検証セットでは増加します。これは過学習を示しています。

一方、適合性の高いモデルの一般化曲線には、形状が類似した 2 つの損失曲線が表示されます。

過学習の原因

大まかに言えば、過剰適合は次のいずれかまたは両方の問題によって発生します。

  • トレーニング セットが実際のデータ(または検証セットやテストセット)を適切に表していない。
  • モデルが複雑すぎる。

一般化の条件

モデルはトレーニング セットでトレーニングしますが、モデルの価値を実際にテストするのは、新しい例(特に実世界のデータ)に対する予測の精度です。モデルの開発中、テストセットは実世界のデータの代用として使用されます。一般化が良好なモデルをトレーニングするには、次のデータセット条件が必要です。

  • 例は独立して同一に分布している必要があります。これは、例が互いに影響し合わないことを意味します。
  • データセットは定常です。つまり、データセットは時間の経過とともに大幅に変化しません。
  • データセット パーティションには同じ分布があります。つまり、トレーニング セットの例は、検証セット、テストセット、実際のデータの例と統計的に類似しています。

次の演習で、上記の条件を確認します。

演習: 理解度を確認する

次のデータセット パーティションについて考えてみましょう。
3 つの部分に分割された横棒(棒の 70% がトレーニング セット、15% が検証セット、15% がテストセット)
トレーニング セットのサンプルが検証セットとテストセットのサンプルと統計的に類似するようにするには、どうすればよいですか。
データセット内の例をパーティショニングする前に、例を広範囲にシャッフルします。
はい。サンプルを適切にシャッフルすると、パーティションが統計的に類似する可能性が大幅に高まります。
例を古い順に並べ替えます。
データセット内の例が定常でない場合、並べ替えによりパーティションの類似性が低下します。
何もしない。十分な数の例が与えられた場合、平均法則により、分布は統計的に類似したものになります。
残念ながら、そうではありません。データセットの特定のセクションの例は、他のセクションの例とは異なる場合があります。
ストリーミング サービスが、今後 3 年間に新しく制作されるテレビ番組の人気度を予測するモデルを開発しています。このストリーミング サービスは、過去 10 年間にわたる数億のサンプルを含むデータセットでモデルをトレーニングする予定です。このモデルで問題が発生することはありませんか?
おそらく。視聴者の好みは、過去の行動では予測できない方法で変化します。
はい。視聴者の好みは一定ではありません。常に変化しています。
そのようなことはありません。データセットは、適切な予測を行うのに十分な大きさです。
残念ながら、視聴者の好みは一定ではありません。
おそらく、そうではありません。視聴者の好みは、予測可能なサイクルで変化します。 10 年間のデータがあれば、モデルは将来の傾向を正確に予測できます。
エンターテイメントの特定の側面は循環的ですが、過去のエンターテイメントの歴史からトレーニングされたモデルでは、今後数年間の予測を正確に行うことはほぼ不可能です。
季節によって天候が大きく異なる都市で 1 年間に収集された気象データ(気温、露点、降水量)に基づいて、1 マイルを歩くのにかかる時間を予測することを目的としたモデル。季節によって気象測定値が大幅に変化する場合でも、このデータセットからモデルを構築してテストできますか?
はい
はい。このデータセットからモデルを構築してテストできます。4 シーズンすべてのデータが異なるパーティションに均等に分散されるように、データが均等にパーティショニングされていることを確認する必要があります。
いいえ
このデータセットに温度、露点、降水量の十分なサンプルが含まれていると仮定すると、このデータセットからモデルを構築してテストできます。4 シーズンすべてのデータが異なるパーティションに均等に分散されるように、データが均等にパーティショニングされていることを確認する必要があります。

チャレンジ エクササイズ

特定のルートの乗車券を購入するのに最適な日付を予測するモデルを作成しています。たとえば、7 月 23 日に出発する電車のチケットを 7 月 8 日に購入することをユーザーにおすすめするモデルが考えられます。鉄道会社は、さまざまな要因(主に現在の空席数)に基づいて、1 時間ごとに料金を更新します。具体的には、次のことが求められます。

  • 空席が多い場合は、通常チケットの価格は低くなります。
  • 残りの座席が少ない場合は、通常チケットの価格が高くなります。
モデルは検証セットとテストセットで低い損失を示していますが、実世界のデータでは予測が不十分な場合があります。理由
回答を確認する