機械学習の過剰適合とは何ですか?それを回避する方法は?



この記事では、機械学習での過剰適合を回避するための例といくつかの手法を使用して、機械学習での過剰適合を検出します。

機械学習モデルの構築は、データを提供するだけでなく、モデルの精度に影響を与える多くの欠陥があります。過剰適合 は、モデルの精度とパフォーマンスを妨げる機械学習のそのような欠陥の1つです。この記事では、次のトピックについて説明します。

機械学習の過剰適合とは何ですか?

統計モデルは、必要以上に多くのデータを供給すると過剰適合すると言われます。それを関連性のあるものにするために、特大のアパレルにフィットしようとしていると想像してください。





モデルが実際に必要な数よりも多くのデータに適合すると、ノイズの多いデータとデータ内の不正確な値の取得を開始します。その結果、モデルの効率と精度が低下します。それが実際にどのように起こるかを理解するために、過剰適合のいくつかの例を見てみましょう。



過剰適合の例

例1

単純な例をとると 線形回帰 、データのトレーニングとは、最適なラインとデータポイント間の最小コストを見つけることです。コストを最小限に抑えながら、最適な最適なものを見つけるために何度も繰り返します。ここで、過剰適合が問題になります。



上の画像に見られる線は、新しいデータポイントに対して非常に効率的な結果をもたらす可能性があります。過剰適合の場合、データセットに対してトレーニングアルゴリズムを実行すると、反復回数ごとにコストを削減できます。

これを実行する 長すぎるとコストが削減されますが、データセットのノイズの多いデータにも適合します。結果は次のグラフのようになります。

これは効率的に見えるかもしれませんが、実際にはそうではありません。次のようなアルゴリズムの主な目標 線形回帰 支配的な傾向を見つけ、それに応じてデータポイントを適合させることです。ただし、この場合、線はすべてのデータポイントに適合します。これは、新しいエントリデータポイントの最適な結果を予測する際のモデルの効率とは無関係です。

ここで、問題ステートメントを使用して、より説明的な例を考えてみましょう。

ストレージクラスc ++

例2

問題文: サッカー選手がTier2リーグでの現在のパフォーマンスに基づいて、Tier1サッカークラブにスロットを着陸させるかどうかを予測したいとします。

ここで想像してみてください。モデルをトレーニングして、10,000人のそのようなプレーヤーで結果を出します。元のデータセットの結果を予測しようとすると、99%の精度が得られたとしましょう。ただし、別のデータセットの精度は約50%です。これは、モデルがトレーニングデータと見えないデータからうまく一般化されていないことを意味します。

これは、過剰適合がどのように見えるかです。これは、機械学習やデータサイエンスでさえ非常に一般的な問題です。それでは、信号とノイズについて理解しましょう。

信号対ノイズ

予測モデリングでは、信号は、モデルがデータを学習するのに役立つ真の基礎となるパターンを指します。一方、ノイズはデータセット内の無関係でランダムなデータです。ノイズと信号の概念を理解するために、実際の例を見てみましょう。

成人の年齢と識字率をモデル化するとします。母集団の非常に大きな部分をサンプリングすると、明確な関係が見つかります。これは信号ですが、ノイズは信号に干渉します。地元の人々にも同じことをすると、関係は泥だらけになります。外れ値やランダム性の影響を受けます。たとえば、1人の大人が早く学校に行ったり、一部の大人が教育を受ける余裕がなかったりします。

機械学習の観点からノイズと信号について話すと、優れた機械学習アルゴリズムは信号をノイズから自動的に分離します。アルゴリズムが複雑すぎたり非効率的だったりすると、ノイズも学習する可能性があります。したがって、モデルを過剰適合させます。機械学習の不適合についても理解しましょう。

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

過剰適合を回避するために、トレーニングを早期に停止することができます。ただし、モデルがトレーニングデータから十分に学習できず、支配的な傾向を把握することが困難になる可能性もあります。これはアンダーフィッティングとして知られています。結果は、結果の予測における過剰適合、非効率性と同じです。

機械学習での過適合と過剰適合が実際に何であるかを理解したので、機械学習で過適合を検出する方法を理解してみましょう。

過剰適合を検出する方法は?

過剰適合の主な課題は、新しいデータを使用してモデルのパフォーマンスの精度を推定することです。実際にテストするまで、精度を見積もることはできません。

この問題に対処するために、初期データセットを個別のトレーニングデータセットとテストデータセットに分割できます。この手法を使用すると、モデルが新しいデータでどの程度うまく機能するかを実際に概算できます。

例を挙げてこれを理解しましょう。トレーニングセットで90%以上の精度が得られ、テストセットで50%の精度が得られると想像してください。次に、自動的にモデルの危険信号になります。

過剰適合を検出する別の方法 ベンチマークとして機能する単純なモデルから始めることです。

このアプローチでは、より複雑なアルゴリズムを試してみると、モデルにとって追加の複雑さがさらに価値があるかどうかを理解できます。としても知られています オッカムの剃刀テスト 、2つのモデルの場合、同等のパフォーマンスの場合は基本的に単純なモデルを選択します。過剰適合を検出することは良い習慣ですが、しかし、過剰適合を防ぐためのいくつかの手法もあります。機械学習で過剰適合を防ぐ方法を見てみましょう。

機械学習での過剰適合を回避する方法は?

機械学習での過剰適合を回避するためのいくつかの手法が、以下に完全にリストされています。

  1. 相互検証

  2. より多くのデータを使用したトレーニング

  3. 機能の削除

  4. 早期打ち切り

  5. 正則化

  6. アンサンブル

1.相互検証

過剰適合を回避/防止するための最も強力な機能の1つは、交差検定です。この背後にある考え方は、初期トレーニングデータを使用してミニtrain-test-splitを生成し、次にこれらの分割を使用してモデルを調整することです。

標準のkフォールド検証では、データはフォールドとも呼ばれるkサブセットに分割されます。この後、アルゴリズムはk-1フォールドで繰り返しトレーニングされ、残りのフォールドはテストセットとして使用されます。これはホールドアウトフォールドとも呼ばれます。

相互検証は、元のトレーニングセットのみでハイパーパラメータを調整するのに役立ちます。基本的に、最終モデルを選択するための真の目に見えないデータセットとしてテストセットを個別に保持します。したがって、過剰適合を完全に回避します。

2.より多くのデータを使用したトレーニング

上記の例でも説明したように、この手法は毎回機能するとは限りません。この例では、かなりの数の母集団を使用したトレーニングがモデルに役立ちます。これは基本的に、モデルが信号をより適切に識別するのに役立ちます。

ただし、場合によっては、データの増加は、モデルにより多くのノイズを供給することを意味することもあります。より多くのデータを使用してモデルをトレーニングするときは、データがクリーンで、ランダム性や不整合がないことを確認する必要があります。

3.機能の削除

一部のアルゴリズムには機能の自動選択がありますが。組み込みの特徴選択を持たないかなりの数の人のために、一般化を改善するために、入力特徴からいくつかの無関係な特徴を手動で削除することができます。

これを行う1つの方法は、機能がモデルにどのように適合するかについて結論を導き出すことです。これは、コードを1行ずつデバッグするのと非常によく似ています。

機能がモデルの関連性を説明できない場合は、それらの機能を簡単に識別できます。良い出発点として、いくつかの特徴選択ヒューリスティックを使用することもできます。

イテレータの使用方法

4.早期打ち切り

モデルがトレーニング中の場合、各反復に基づいてモデルのパフォーマンスを実際に測定できます。これは、反復によってモデルのパフォーマンスが向上するまで行うことができます。この後、各反復後に一般化が弱くなるため、モデルはトレーニングデータに適合しすぎます。

したがって、基本的に、早期停止とは、モデルがトレーニングデータの過剰適合を開始するポイントをモデルが通過する前に、トレーニングプロセスを停止することを意味します。この手法は主に ディープラーニング

5.正則化

これは基本的に、より幅広い手法を使用して、モデルを人為的に単純化することを意味します。それは私たちが使用している学習者のタイプに完全に依存します。たとえば、 、でドロップアウトを使用します 神経網 または、回帰のコスト関数にペナルティパラメーターを追加します。

多くの場合、正則化もハイパーパラメータです。これは、相互検証を通じて調整することもできることを意味します。

6.アンサンブル

この手法は基本的に、さまざまな機械学習モデルからの予測を組み合わせたものです。アンサンブルの最も一般的な2つの方法を以下に示します。

  • バギングは、モデルの過剰適合の可能性を減らすことを試みます

  • より単純なモデルの予測の柔軟性を向上させる試みを後押しする

どちらもアンサンブル手法ですが、アプローチは完全に反対方向から始まります。バギングは複雑な基本モデルを使用して予測を滑らかにしようとしますが、ブーストは単純な基本モデルを使用してその全体的な複雑さを高めようとします。

適合度とは何ですか?

統計モデリングでは、適合度とは、結果または予測値が観測値または真の値とどれだけ一致しているかを指します。信号の代わりにノイズを学習したモデルは、トレーニングデータセットに適合しますが、新しいデータセットでは効率が低下するため、過剰適合です。

バイアスと分散の間のトレードオフ

分散とバイアスはどちらも、の予測誤差の形式です。 。高分散と高バイアスの間のトレードオフは、統計と機械学習において非常に重要な概念です。これは、教師あり機械学習アルゴリズムすべてに影響を与える1つの概念です。

偏りと分散のトレードオフは、機械学習モデルの複雑さ、過適合、過剰適合の決定に非常に大きな影響を及ぼします。

バイアス

これは、モデルの予測値と実際の値または真の値の違いに他なりません。モデルがかなり複雑な信号から学習することは必ずしも容易ではありません。

フィッティングを想像してみましょう 線形回帰 非線形データを持つモデルに。モデルが観測値をどれほど効率的に学習しても、曲線を効率的にモデル化することはできません。それはアンダーフィッティングとして知られています。

分散

これは、トレーニングデータの特定のセットに対するモデルの感度を指します。高分散アルゴリズムは、トレーニングセットとは大幅に異なる奇妙なモデルを生成します。

制約のない超柔軟なモデルに適合するアルゴリズムを想像してみてください。それはまた、過剰適合を引き起こすトレーニングセットのノイズから学習します。

バイアスと分散のトレードオフ

機械学習アルゴリズムは、モデルをトレーニングするための1回限りの方法として認識できません。代わりに、反復的なプロセスです。

低分散-高バイアスアルゴリズムはそれほど複雑ではなく、単純で堅固な構造です。

  • 彼らは一貫性があるが平均して不正確なモデルを訓練します。

  • これらには、回帰などの線形またはパラメトリックアルゴリズムが含まれます。 、など。

高分散-低バイアスアルゴリズムは、柔軟な構造で、より複雑になる傾向があります。

  • 彼らは、一貫性はないが平均して正確なモデルをトレーニングします。

  • これらには、次のような非線形またはノンパラメトリックアルゴリズムが含まれます。 、 、など。

これで、機械学習の過剰適合とそれを回避するためのさまざまな手法について学習したこの記事の終わりに到達します。このチュートリアルで共有されているすべてのことを明確に理解していただければ幸いです。

「機械学習の過剰適合」に関するこの記事が関連していると感じた場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社が世界中に広がっています。

私たちはあなたの旅のすべてのステップであなたを助け、なりたい学生や専門家のために設計されたカリキュラムを考え出すためにここにいます 。このコースは、Pythonプログラミングをすぐに開始できるように設計されており、Pythonのコア概念と高度な概念の両方、およびさまざまな概念についてトレーニングします。 お気に入り 、 、など。

動的配列とは

ご不明な点がございましたら、「機械学習の過剰適合」のコメントセクションでお気軽にご質問ください。喜んでお答えいたします。