学習曲線を使用して機械学習モデルのパフォーマンスを診断する方法
学習曲線は、経験または時間に対するモデルの学習パフォーマンスをプロットしたものです。
学習曲線は、トレーニング データセットから段階的に学習するアルゴリズムの機械学習で広く使用されている診断ツールです。モデルは、トレーニング中の各更新後にトレーニング データセットおよびホールドアウト検証データセットで評価でき、学習曲線を示すために測定されたパフォーマンスのプロットを作成できます。
トレーニング中にモデルの学習曲線をレビューすることは、モデルの過小適合や過適合などの学習に関する問題や、トレーニング データセットと検証データセットが適切に代表的であるかどうかを診断するために使用できます。
この投稿では、学習曲線と、それを使用して機械学習モデルの学習と汎化の動作を診断する方法について、一般的な学習の問題を示すプロットの例とともに説明します。
この投稿を読むと、次のことがわかります。
- 学習曲線は、経験の観点から時間の経過に伴う学習パフォーマンスの変化を示すプロットです。
- トレーニングおよび検証データセットでのモデルのパフォーマンスの学習曲線を使用して、モデルの過小適合、過適合、または適切な適合を診断できます。
- モデルのパフォーマンスの学習曲線を使用して、トレーニング データセットまたは検証データセットが問題領域を相対的に代表していないかどうかを診断できます。
すべての例のステップバイステップのチュートリアルとPython ソース コードファイルを含む、私の新しい本『Better Deep Learning』 でプロジェクトを開始してください。 。
始めましょう。
概要
このチュートリアルは 3 つの部分に分かれています。彼らです:
- 学習曲線
- モデルの動作の診断
- 代表的ではないデータセットの診断
機械学習の学習曲線
一般に、学習曲線は、X 軸に時間または経験を、Y 軸に学習または改善を示すプロットです。
学習曲線 (LC) は、新しいタスクにさらされる従業員のパフォーマンスを監視するための効果的なツールとみなされます。 LC は、タスクの繰り返しが発生するときに発生する学習プロセスを数学的に表現します。
— 学習曲線モデルと応用: 文献レビューと研究の方向性、2011 年。
たとえば、楽器を習っている場合、その楽器のスキルが評価され、1 年間にわたって毎週数値スコアが割り当てられます。 52 週間にわたるスコアのプロットは学習曲線であり、楽器の学習が時間の経過とともにどのように変化したかを示します。
- 学習曲線: 経験 (x 軸) に対する学習 (y 軸) の折れ線グラフ。
学習曲線は、深層学習ニューラル ネットワークなど、時間の経過とともに段階的に学習 (内部パラメーターを最適化) するアルゴリズムの機械学習で広く使用されています。
学習の評価に使用される指標は最大化である可能性があります。これは、より良いスコア (数値が大きいほど) がより多くの学習を示していることを意味します。例としては分類精度が挙げられます。
損失やエラーなどの最小化するスコアを使用することがより一般的で、より良いスコア (数値が小さいほど) はより多くの学習が行われていることを示し、値 0.0 はトレーニング データセットが完全に学習され、間違いがなかったことを示します。
機械学習モデルのトレーニング中に、トレーニング アルゴリズムの各ステップでのモデルの現在の状態を評価できます。トレーニング データセットで評価することで、モデルがどの程度うまく「学習」しているかを知ることができます。トレーニング データセットの一部ではないホールドアウト検証データセットで評価することもできます。検証データセットの評価により、モデルがどの程度「一般化」されているかがわかります。
- トレーニング学習曲線: モデルがどの程度学習しているかを示すトレーニング データセットから計算された学習曲線。
- 検証学習曲線: モデルがどの程度一般化されているかを示すホールドアウト検証データセットから計算された学習曲線。
トレーニング データセットと検証データセットの両方でのトレーニング中に、機械学習モデルの二重学習曲線を作成するのが一般的です。
場合によっては、分類予測モデリング問題の場合など、複数のメトリクスの学習曲線を作成することも一般的です。この場合、クロスエントロピー損失に従ってモデルが最適化され、分類精度を使用してモデルのパフォーマンスが評価されます。この場合、各メトリクスの学習曲線用に 1 つずつ、合計 2 つのプロットが作成され、各プロットはトレーニング データセットと検証データセットごとに 1 つずつ、合計 2 つの学習曲線を表示できます。
- 最適化学習曲線: モデルのパラメーターを最適化するメトリックに基づいて計算された学習曲線。損失。
- パフォーマンス学習曲線: モデルの評価と選択に使用される指標に基づいて計算された学習曲線。正確さ。
機械学習における学習曲線の使用については理解できたので、学習曲線プロットで観察される一般的な形状をいくつか見てみましょう。
モデルの動作の診断
学習曲線の形状とダイナミクスを使用して、機械学習モデルの動作を診断し、学習やパフォーマンスを向上させるために行うことができる構成変更の種類を示唆することができます。
学習曲線において観察される可能性が高い 3 つの一般的なダイナミクスがあります。彼らです:
- アンダーフィット。
- オーバーフィット。
- フィット感良好。
それぞれを例を挙げて詳しく見ていきます。この例では、最小化メトリクスを見ていることを前提としています。これは、Y 軸上の相対スコアが小さいほど、学習が進んでいる、または学習が優れていることを意味します。
学習曲線が不十分である
アンダーフィッティングとは、トレーニング データセットを学習できないモデルを指します。
モデルがトレーニング セットで十分に低い誤差値を取得できない場合、アンダーフィッティングが発生します。
— 111 ページ、ディープラーニング、2016 年。
アンダーフィット モデルは、トレーニング損失の学習曲線からのみ特定できます。
比較的高い損失の平坦な線またはノイズの多い値が表示される場合があり、これはモデルがトレーニング データセットをまったく学習できなかったことを示しています。
この例を以下に示します。これは、モデルがデータセットの複雑さに対して適切な容量を持たない場合に一般的です。
アンダーフィット モデルは、減少し、プロットの最後まで減少し続けるトレーニング損失によって識別される場合もあります。
これは、モデルがさらなる学習とさらなる改善の可能性があり、トレーニング プロセスが途中で停止されたことを示しています。
学習曲線のプロットは、次の場合にアンダーフィッティングを示します。
- トレーニング損失はトレーニングに関係なく一定のままです。
- トレーニング損失はトレーニングが終了するまで減少し続けます。
過学習学習曲線
過学習とは、トレーニング データセット内の統計ノイズやランダムな変動など、トレーニング データセットを十分に学習しすぎたモデルを指します。
…より柔軟なモデルをフィッティングするには、より多くのパラメータを推定する必要があります。これらのより複雑なモデルは、データの過剰適合として知られる現象を引き起こす可能性があります。これは本質的に、モデルが誤差またはノイズを厳密に追跡しすぎることを意味します。
— 22 ページ、『統計学習の概要: R のアプリケーションを使用』、2013 年。
過学習の問題は、モデルがトレーニング データに特化するほど、新しいデータに一般化できなくなり、その結果、汎化誤差が増加することです。この汎化誤差の増加は、検証データセット上のモデルのパフォーマンスによって測定できます。
これはデータの過学習の例です […]。これは望ましくない状況です。なぜなら、得られた適合値からは、元のトレーニング データ セットの一部ではなかった新しい観測値に対する応答の正確な推定値が得られないからです。
— 24 ページ、『統計学習の概要: R のアプリケーションを使用』、2013 年。
これは、問題に必要な以上の容量がモデルにあり、柔軟性が高すぎる場合によく発生します。モデルのトレーニングが長すぎる場合にも発生する可能性があります。
学習曲線のプロットは、次の場合に過学習を示します。
- トレーニング損失のプロットは、経験とともに減少し続けます。
- 検証損失のプロットはある点まで減少し、再び増加し始めます。
検証損失の変曲点は、その点以降の経験が過学習のダイナミクスを示すため、トレーニングが停止される可能性がある点である可能性があります。
以下のプロット例は、過学習のケースを示しています。
適切な学習曲線
良好な適合は学習アルゴリズムの目標であり、過適合モデルと過少適合モデルの間に存在します。
適切な適合は、2 つの最終損失値間のギャップが最小限で安定点まで減少するトレーニングおよび検証損失によって識別されます。
モデルの損失は、ほとんどの場合、検証データセットよりもトレーニング データセットの方が低くなります。これは、学習曲線と検証損失の学習曲線の間にはある程度のギャップがあることが予想されることを意味します。このギャップを「一般化ギャップ」と呼びます。
次の場合、学習曲線のプロットは良好な適合を示します。
- トレーニング損失のプロットは安定点まで減少します。
- 検証損失のプロットは安定点まで減少し、トレーニング損失との間に小さなギャップがあります。
適切なフィットのトレーニングを継続すると、オーバーフィットにつながる可能性があります。
以下のプロット例は、良好な適合のケースを示しています。
代表的ではないデータセットの診断
学習曲線は、データセットのプロパティと、それが比較的代表的なものであるかどうかを診断するためにも使用できます。
代表的ではないデータセットとは、トレイン データセットと検証データセットの間など、同じドメインから抽出された別のデータセットと比較した統計的特徴を捉えていない可能性のあるデータセットを意味します。これは一般に、データセット内のサンプル数が別のデータセットと比較して少なすぎる場合に発生する可能性があります。
観察される可能性のある一般的なケースが 2 つあります。彼らです:
- トレーニング データセットは比較的代表的ではありません。
- 検証データセットは比較的代表的ではありません。
代表的ではない列車データセット
代表的ではないトレーニング データセットとは、トレーニング データセットが、問題の評価に使用される検証データセットと比較して、問題を学習するための十分な情報を提供していないことを意味します。
これは、検証データセットと比較してトレーニング データセットの例が少なすぎる場合に発生する可能性があります。
この状況は、改善を示すトレーニング損失の学習曲線と、同様に改善を示す検証損失の学習曲線によって識別できますが、両方の曲線の間には大きなギャップが残ります。
代表的ではない検証データセット
代表的ではない検証データセットは、検証データセットがモデルの一般化能力を評価するのに十分な情報を提供していないことを意味します。
これは、検証データセットのサンプルがトレーニング データセットと比較して少なすぎる場合に発生する可能性があります。
このケースは、良好な適合 (または他の適合) のように見えるトレーニング損失の学習曲線と、トレーニング損失の周囲でノイズの多い動きを示す検証損失の学習曲線によって識別できます。
また、トレーニング損失よりも低い検証損失によって識別される場合もあります。この場合、検証データセットはトレーニング データセットよりもモデルの予測が容易である可能性があることを示しています。
さらに読む
さらに詳しく知りたい場合は、このセクションでこのトピックに関するさらなるリソースを提供します。
本
- ディープラーニング、2016 年。
- 統計学習の概要: R のアプリケーションを使用して、2013 年。
論文
- 学習曲線モデルと応用: 文献レビューと研究の方向性、2011 年。
投稿
- LSTM モデルの過学習と過小学習を診断する方法
- 機械学習アルゴリズムの過適合と過小適合
記事
- 学習曲線、ウィキペディア。
- 過学習、ウィキペディア。
まとめ
この投稿では、学習曲線と、それを使用して機械学習モデルの学習と汎化の動作を診断する方法を発見しました。
具体的には、次のことを学びました。
- 学習曲線は、経験の観点から時間の経過に伴う学習パフォーマンスの変化を示すプロットです。
- トレーニングおよび検証データセットでのモデルのパフォーマンスの学習曲線を使用して、モデルの過小適合、過適合、または適切な適合を診断できます。
- モデルのパフォーマンスの学習曲線を使用して、トレーニング データセットまたは検証データセットが問題領域を相対的に代表していないかどうかを診断できます。
ご質問はありますか?
以下のコメント欄にご質問ください。できる限りお答えいたします。