オーバーフィットとは何ですか?

オーバーフィットは、機械学習モデルがトレーニングデータに対して正確な予測を提供するが、新しいデータについては予測しない場合に発生する、望ましくない機械学習動作です。データサイエンティストが機械学習モデルを使用して予測を行う場合、まず既知のデータセットでモデルをトレーニングします。次に、この情報に基づいて、モデルは新しいデータセットの結果を予測しようとします。オーバーフィットモデルは、予測が不正確になる可能性があり、すべてのタイプの新しいデータに対してうまく機能しません。

オーバーフィットが起こるのはなぜですか?

機械学習モデルが正確な予測を行うのは、ドメイン内のすべてのタイプのデータに対して一般化されている場合のみです。オーバーフィットは、モデルが一般化できず、代わりにトレーニングデータセットに近すぎる場合に発生します。オーバーフィットは、次のようないくつかの理由で発生します。
•    トレーニングデータのサイズが小さすぎて、考えられるすべての入力データ値を正確に表すのに十分なデータサンプルが含まれていない。
•    無関係な情報 (ノイズを含むデータと呼ばれます) がトレーニングデータに大量に含まれている。
•    1 つのサンプルデータセットに対して、モデルのトレーニング時間が長すぎる。
•    モデルの複雑度が高いため、トレーニングデータ内のノイズを学習する。

オーバーフィットの例
機械学習モデルが写真を分析し、犬を含む写真を識別する必要があるユースケースを考えてみましょう。機械学習モデルが、外の公園にいる犬を写した写真が大多数含まれるデータセットでトレーニングされた場合、分類のための特徴量として草を使用することを学習し、室内にいる犬を認識しない可能性があります。
もう 1 つのオーバーフィットの例として、大学生の学業成績と、その大学生が卒業できるかどうかを予測する機械学習アルゴリズムを挙げることができます。分析には家族の収入、過去の学業成績、親の学歴などのいくつかの要因を使用します。ただし、そのテストデータに含まれるのは特定の性別または民族グループの候補者のみです。この場合、オーバーフィットにより、テストデータセット外の性別または民族の候補者については、アルゴリズムの予測精度が低下します。

オーバーフィットを検出するにはどうすればよいですか?

オーバーフィットモデルを検出する最良の方法は、考えられる入力データの値とタイプの包括的な表現を使用して、より多くのデータで機械学習モデルをテストすることです。通常、トレーニングデータの一部は、オーバーフィットをチェックするためのテストデータとして使用されます。テストデータのエラー率が高い場合、オーバーフィットしていることを示しています。オーバーフィットをテストする 1 つの手法を以下に示します。
K 分割交差検証
交差検証は、実用されている検証手法の 1 つです。この手法では、データサイエンティストは、トレーニングセットを K 個の等しいサイズのサブセット、またはフォールドと呼ばれるサンプルセットに分割します。トレーニングプロセスは、一連のイテレーションで構成されます。各イテレーションのステップは次のとおりです。
1.    1 つのサブセットを検証データとして保持し、残りの K-1 個のサブセットで機械学習モデルをトレーニングします。
2.    検証サンプルに対するモデルのパフォーマンスを観察します。
3.    出力データの質に基づいてモデルのパフォーマンスをスコアリングします。


イテレーションは、すべてのサンプルセットでモデルをテストするまで繰り返します。その後、すべてのイテレーションでスコアを平均して、予測モデルの最終評価を取得します。

オーバーフィットを防ぐにはどうすればよいですか?

トレーニングデータセットを多様化およびスケーリングするか、以下に示すような他のデータサイエンス戦略を使用することで、オーバーフィットを防ぐことができます。
早期停止
早期停止では、機械学習モデルがデータ内のノイズを学習する前に、トレーニングフェーズを一時停止します。ただし、適切なタイミングで行うことが重要です。タイミングが適切ではない場合、モデルは正確な結果を提供できません。
プルーニング
モデルを構築するときに、最終的な予測に影響を及ぼすいくつかの特徴量やパラメータを特定できます。特徴量の選択 (またはプルーニング) は、トレーニングセット内で最も重要な特徴量を特定し、無関係な特徴量を排除します。例えば、画像に含まれているのが動物と人間のどちらであるかを予測する場合には、輪郭、耳の位置、身体構造など、さまざまな入力パラメータが考えられます。輪郭を優先し、目の形を無視することもできます。
正則化
正則化は、オーバーフィットを減らすことを目指すトレーニング/最適化手法をまとめたものです。これらの手法は、重要度に基づいて特徴量を等級付けすることにより、予測結果に影響を与えない要因の排除を試みます。例えば、数学的計算では、影響が微小な特徴量にペナルティ値が適用されます。20 年後の都市における住宅価格の予測を試みる統計モデルを考えてみましょう。正則化は、人口増加や平均年収などの特徴量には低いペナルティ値を与えますが、都市の年間平均気温に対しては高いペナルティ値を与えます。
アンサンブル
アンサンブルとは、いくつかの個別の機械学習アルゴリズムからの予測を組み合わせることです。結果が不正確であることが多いため、一部のモデルは弱学習器と呼ばれます。アンサンブル手法では、より正確な結果を得るために、すべての弱学習器を組み合わせます。複数のモデルを使用してサンプルデータを分析し、最も正確な結果を選択します。アンサンブルの主要な 2 つの手法は、バギングとブースティングです。ブースティングは、最終結果を取得するためにさまざまな機械学習モデルを次々にトレーニングし、バギングはそれらを並行してトレーニングします。
データ拡張
データ拡張は、モデルが処理するたびにサンプルデータをわずかに変更する機械学習の手法です。これは、入力データを少し変更することで実現できます。データ拡張を適度に実行すると、トレーニングセットがモデルに固有なものとなり、モデルがその特性を学習できなくなります。例えば、入力画像に対して、平行移動、反転、回転などの変換を適用します。

 

アンダーフィットとは何ですか?

アンダーフィットは、モデルが入力データと出力データの間に意味のある関係を決定できない場合に発生する別のタイプのエラーです。適切な時間にわたって、多数のデータポイントでトレーニングしなかった場合、モデルはアンダーフィットとなります。
アンダーフィットとオーバーフィット
アンダーフィットのモデルはバイアスが大きく、トレーニングデータとテストセットの両方で結果が不正確になります。一方、オーバーフィットしたモデルはバリアンスが大きく、トレーニングセットでは正確な結果が得られますが、テストセットでは正確な結果が得られません。モデルトレーニングを増やすとバイアスは小さくなりますが、バリアンスは大きくなる可能性があります。データサイエンティストは、モデルをフィッティングする際のアンダーフィットとオーバーフィットの間のスイートスポットを見つけることを目指しています。適切にフィッティングしたモデルは、目に見えるデータセットと目に見えないデータセットの主要な傾向を迅速に確立できます。

AWS は、どのようにして機械学習モデルでのオーバーフィットエラーを最小限に抑えることができますか?

Amazon SageMaker で、フルマネージドインフラストラクチャ、ツール、ワークフローを使用して、あらゆるユースケース向けの機械学習モデルを構築、トレーニング、デプロイできます。Amazon SageMaker には、入力、出力、変換など、トレーニング中に生成されたデータを自動的に分析する Amazon SageMaker Debugger と呼ばれる組み込み機能があります。そのため、手動で介入することなく、オーバーフィットや他の不正確さを検出して報告できます。

例えば、次のことができます。

  • 希望する精度に達したら、トレーニングプロセスを自動的に停止します。
  • トレーニングメトリクスをリアルタイムでキャプチャします。
  • オーバーフィットが検出されるとアラートを受信します。

機械学習モデルのトレーニングにかかる時間とコストを削減します。今すぐ無料のアカウントを作成して、AWS で機械学習を開始しましょう!

AWS Overfitting の次のステップ

追加の製品関連リソースを確認する
無料の機械学習サービス – AWS 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン