機械学習では、クラス比率のバランスをとるか、母集団を代表するほうが良いですか?


9

機械学習のコンテキストで、実際の母集団のクラスのバランスが取れていないという問題があるとします。たとえば、クラスAは80%の確率で発生し、クラスBは20%の確率で発生します。

そのような場合、一般的に、特定のMLアルゴリズムが同じ80/20クラス比率のデータ、またはバランスのとれた(50/50)比率のデータに依存する方が良いですか?a)トレーニングデータに関してb)テストデータに関して

フォローアップの質問:(a)または(b)の答えが偶然50/50の比率で起こっている場合、この設定は一般に、アクセスするデータが存在する実際のコンテキストでも永続しますか? 80/20比の?言い換えれば、トレーニングやテストにバランスのとれた比率を使用することの利点は、その比率を適用するコストを上回りますか(たとえば、多数派クラスからインスタンスを破棄するか、少数派クラスの新しい合成サンプルを生成することによって)?

回答:


1

不均衡なデータセットを使った学習の良いレビューについては、このペーパーをチェックしてください。

この問題に対処する1つの方法は、トレーニングセットで人工的なサブサンプリングまたはアップサンプリングを実行して、データセットのバランスをとることです。

私は通常、バランスの取れたトレーニングセットを用意することをお勧めします。そうしないと、決定の境界が大きなクラスにスペースを与えすぎて、小さなクラスを誤って分類しすぎるためです。これは通常悪いです。(より小さなクラスが最も費用がかかる、すなわち腫瘍を有する癌検出を考えてください)。

サンプリングメソッドを使用したくない場合は、コストベースのメソッドを使用できます。この場合、損失関数が最も重要なクラスのサンプルからの寄与が大きくなるように、すべてのサンプルの重要度に重みを付けます。癌の検出では、陽性のクラス(腫瘍を持っている)のトレーニングサンプルから得られるコストをさらに重視します。

最後に、テストセットが非常に不均衡である場合、分類精度はパフォーマンスの適切な尺度ではないことを覚えておいてください。混同行列から簡単に計算される、精度/リコールとf-scoreを使用したほうがよいでしょう。このペーパーで、さまざまなシナリオの分類パフォーマンス指標のリファレンスを確認してください。

また、このトピックに関する優れた読み物はこれです。


0

間違っている場合は訂正してください。ただし、MLの場合、母集団内のクラスの実際の比率は分類の点では重要ではありません。重要なのは、特徴空間全体にわたる両方のクラスのトレーニングデータを取得することです。したがって、一般的にクラスA / Bに80/20の分割があった場合、クラスBと比較してクラスAの代表的なサンプルを見つける可能性がはるかに高くなります。

したがって、50/50の比率を使用する方が良いかどうかという問題については、直感的には、すべてのデータを使用してより大きなトレーニングセットを用意することほど重要ではないかもしれません。しかし、これは私が確信していない部分です...これは、不均等な比率が特に分類の境界で誤分類率に影響を与える可能性がある方法です。テストセットの場合、比率は関係ありません。


また、スタックオーバーフローの上でこのスレッドを参照stats.stackexchange.com/questions/63740/...
ashokragavendran
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.