機械学習における偏ったデータセットの扱い方 偏ったデータセットで効果的な機械学習アルゴリズムを開発するのは難しい場合があります。たとえば、データセットは銀行の不正行為やがんの検出に関するものです。 99% の確率で、データセットには不正行為やがんがないことがわかります。かなり簡単に不正行為をすることができ、常に 0 (がんの場合は 1、がんではない場合は 0) を予測するだけで、99% の精度が得られます。そうすると、99% の精度を持つ機械学習アルゴリズムが得られますが、がんを検出することはできなくなります。誰かが癌にかかっても、治療を受けることはありません。銀行では、詐欺行為に対して何の措置も取られません。したがって、精度だけでは、アルゴリズムが効率的に動作しているかどうかと同じように、歪んだデータセットを判断することはできません。
背景 これらのタイプのデータセットに役立つさまざまな評価マトリックスがあります。これらの評価指標は、適合率-再現率評価指標と呼ばれます。 精度と再現率を理解するには、次の表とそのすべての用語を理解する必要があります。バイナリ分類を検討します。 0 または 1 を返します。特定のトレーニング データに対して、実際のクラスが 1 であり、予測クラスも 1 である場合、真陽性と呼ばれます。実際のクラスが 0 で予測クラスが 1 の場合、それは偽陽性です。実際のクラスが 1 であるが、予測クラスが 0 である場合、それは偽陰性と呼ばれます。実際のクラスと予測クラスの両方が 0 の場合、真陰性になります。 これらすべてを使用して、精度と再現率を計算します。 正確な 精度は、不正であると予測されたトランザクション (クラス 1 として予測) のうち、実際に不正であったトランザクションの数を計算します。精度は次の式を使用して計算できます。 さらに分解すると、式は次のように記述できます。 式からわかるように、精度が高いほど良いです。精度が高いほど、真陽性が多くなるからです。つまり、この取引が不正であると言うことは真実です。 想起 再現率は、当初不正であったすべてのトランザクションのうち、不正として検出されたトランザクションの数を示します。つまり、取引が実際に不正であった場合、銀行に通知すれば適切な当局が措置を講じることになります。精度と再現率の定義を初めて読んだとき、その違いを本当に理解するのにしばらく時間がかかりました。早く届くといいですね。そうでない場合でも心配しないでください。あなた一人じゃありません。 リコール率は次の式で計算できます。 上記の 2 x 2 表で定義された用語で表現すると次のようになります。 精度と再現性に基づいて意思決定を行う 精度と再現率により、特にデータセットが大きく偏っている場合に、アルゴリズムが実際にどのように実行されているかをよりよく理解できます。常に 0 を予測し、99.5% の精度が得られる場合、再現率と精度は両方とも 0 になります。本当の肯定がないからです。つまり、この分類器は適切な分類器ではないことがわかります。精度と再現率の両方が高い場合、アルゴリズムが適切に機能していることを示します。 非常に自信がある場合にのみ y = 1 を予測するとします。時々それが重要になるからです。特に医療データを扱う場合にはそうです。ある人が心臓病や癌にかかっているかどうかを検査しているとします。誤検知を予測することは、人の人生に大きな苦痛をもたらす可能性があります。繰り返しになりますが、ロジスティック仮説は通常、仮説が 0.5 以上の場合は 1 を予測し、仮説が 0.5 未満の場合は 0 を予測します。
ただし、上記のように特定の敏感なケースを扱う場合は、結果にさらに確信を持たせたいので、仮説が 0.7 以上の場合は 1 を予測し、仮説が 0.7 未満の場合は 0 を予測します。結果にもっと自信を持ちたい場合は、0.9 のような値を確認できます。したがって、その人が癌に罹患しているかどうかは 90% 確実です。 それでは、精度と再現率の計算式を見てみましょう。真陽性と偽陽性の両方が低くなります。したがって、精度が高くなります。しかしその一方で、より多くの否定を予測することになるため、偽陰性の可能性が高くなります。この場合、再現率は高くなります。しかし、偽陰性が多すぎるのも良くありません。誰かが癌にかかっていたり、口座に不正があったりしても、私たちがその人に癌ではない、口座に不正はない、と伝えれば、大惨事につながる可能性があります。 誤検知を回避し、再現率を向上させるには、しきい値を次のように変更する必要があります。
前の場合とは対照的に、再現率は高くなりますが、精度は低くなります。 では、しきい値をどのように決定するのでしょうか? これは要件によって異なります。データセットに応じて、より高い精度が必要か、より高い再現率が必要かを決定する必要があります。適合率-再現率曲線は次のとおりです。 適合率-再現率曲線は任意の形状にすることができます。ここでは 3 つの異なる形状を示します。より高い精度とより高い再現率のどちらが必要か自分で判断できない場合は、F1 スコアを使用できます。 F1スコア F1 スコアは、精度と再現率の平均です。しかし、平均的な計算式は異なります。通常の平均式はここでは機能しません。平均の計算式を見てみましょう: (精度 + 再現率) / 2 精度が 0 または再現率が 0 の場合でも、平均は 0.5 のままです。前回の説明で、精度ゼロが何を意味するかを思い出してください。常に y = 1 を予測できます。したがって、これは受け入れられないはずです。正確な呼び出しの全体的な考え方はこれを回避することです。 F1 スコアの計算式は次のとおりです。 ここで、P は精度、R は再現率です。精度がゼロまたは再現率がゼロの場合、F1 スコアはゼロになります。したがって、分類器が期待どおりに動作していないことがわかります。適合率と再現率が両方とも完璧な場合、つまり適合率が 1 で再現率も 1 の場合、F1 スコアも 1 になります。したがって、理想的な F1 スコアは 1 です。さまざまなしきい値を試して、精度、再現率、F1 スコアを計算し、機械学習アルゴリズムに最適なしきい値を見つけるのが最適です。 結論は この記事では、偏ったデータセットを処理する方法を学びました。 F1 スコアを使用して精度と再現率を選択する方法。お役に立てれば幸いです。 |
<<: 素晴らしいツールです!機械学習のためのテキスト注釈ツールとサービス 10 選
>>: 無料の Python 機械学習コース 7: アルゴリズムのパフォーマンスが低い場合の対処方法
[[427951]]この記事はWeChatの公開アカウント「Programmer Bear」から転載...
アルゴリズムの時代が到来しました。 Google、Amazon、AppleなどのIT大手が開発した、...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[51CTO.comより引用] 近年、人工知能が大流行し、多くの大企業、中堅企業、中小企業が動き始め...
機械学習で広く使用されているオープンソースフレームワークである PyTorch は、高速性と高効率性...
黄仁訓は未来について次のように予言した。コンピューティング技術は10年ごとに100万倍に進歩します。...
OpenAI が成功に忙しい一方で、シリコンバレーの最大のライバルである Anthropic は、...
固定ネットワークが F5G (第 5 世代) 時代に入るにつれ、家庭用 Wi-Fi テクノロジも、新...
コンピューター ビジョンは、製造および生産プロセスを自動化および最適化して、効率を高め、製品の品質を...
今日は、Java のさまざまなソート アルゴリズムについてお話します。以前、上級開発者との面接があり...
導入天気予報、石油探査、原子物理学などの現代の科学技術は、主にコンピュータシミュレーションに依存して...
Microsoft は、人工知能に対する最近の関心と熱意に応えるために、新しいタイプのトレーニングと...
前提Snowflake は、Twitter のオープンソースの高性能 ID 生成アルゴリズム (サー...
大規模な言語モデル アプリケーションを構築するときに、独自のデータとドメイン固有のデータを組み込む一...