オンラインコースを受講しました。そこでは、分類アルゴリズムが多数決に適用されるため、トレーニングデータのクラスのバランスが崩れると問題が発生する可能性があることを学びました。アンバランスが大きすぎると良い結果が得られます。課題では、多数派クラスをアンダーサンプリングすることでデータのバランスをとる必要がありました。
ただし、このブログでは、バランスの取れたデータはさらに悪いと主張しています。
https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/
では、どちらですか?データのバランスを取るべきかどうか?クラスの不均衡な比率に適応できる可能性があるため、使用するアルゴリズムに依存しますか?もしそうなら、不均衡なデータに対して信頼できるのはどれですか?
回答
直感的な理由はブログ投稿で説明されています:
目標が予測である場合、これは明確なバイアスを引き起こします。さらに悪いことに、サンプルサイズが大きくなるにつれて一貫した推定値が得られないという意味で、永続的なバイアスになります。
したがって、おそらく(人為的に)バランスの取れたデータの問題は、アンバランスの場合よりも悪化します。 。
バランスの取れたデータは分類に適していますが、出現頻度に関する情報が明らかに失われているため、精度メトリック自体や生産パフォーマンスに影響を及ぼします。 。
英語のアルファベット(26文字)から手書きの文字を認識しているとしましょう。すべての文字の外観のバランスを取りすぎると、すべての文字が(正しくまたは正しく)分類される確率が約1/26になるため、分類子は元のサンプルでの文字の実際の分布を忘れます。そして、分類子がすべての文字を高精度で一般化して認識できる場合は ok です。
しかし、精度と最も重要な一般化が「それほど高くない」場合(定義を与えることはできません-「最悪の場合」と考えることができます)-誤分類されたポイントが最も多くなります-次のように、すべての文字に均等に分散する可能性があります。
"A" was misclassified 10 times "B" was misclassified 10 times "C" was misclassified 11 times "D" was misclassified 10 times ...and so on
バランスをとらない場合とは対照的に(「A」と「C」の確率がはるかに高いと仮定)テキストでの表示)
"A" was misclassified 3 times "B" was misclassified 14 times "C" was misclassified 3 times "D" was misclassified 14 times ...and so on
したがって、頻繁なケースでは誤分類が少なくなります。それが適切かどうかは、タスクによって異なります。自然なテキスト認識の場合、元のテキストのセマンティクスを保持し、認識タスクを予測に近づけるため、頻度の高い文字の方が実行可能であると主張できます(セマンティクスはを表します)。傾向)。ただし、「 ECCSAキーのスクリーンショット(エントロピーが多い->予測が少ない)のようなものを認識しようとしている場合は、データのバランスを崩しておくと役に立ちません。したがって、繰り返しになります。
最も重要な違いは、精度の見積もり自体が偏っていることです(バランスの取れたアルファベットの例でわかるように)、したがって、モデルの動作が最もまれなポイントまたは最も頻繁なポイントによってどのように影響を受けるかがわかりません。
PS 適合率/再現率の指標を最初に使用して、不均衡な分類のパフォーマンスをいつでも追跡し、均衡を追加する必要があるかどうかを判断できます。
編集:推定理論は、サンプル平均と母集団平均の差を正確に示しています。たとえば、アルファベットの英語の文字の実際の分布を(おそらく)知っているかもしれません $ p(x_i | \ theta)$ が、サンプル(トレーニングセット)はそうではありません正しく推定するのに十分な大きさです( $ p(x_i | \ hat \ theta)$ を使用)。したがって、 $ \ hat \ theta_i- \ theta_i $ を補正するために、母集団自体またはから知られているパラメータに従ってクラスのバランスを取り直すことが推奨される場合があります。より大きなサンプル(したがって、より良い推定量)。ただし、実際には、すべてのステップで偏ったデータを取得するリスクがあるため、「より大きなサンプル」が同じように配布される保証はありません(たとえば、技術文献から収集された英語、フィクション、ライブラリ全体)。 。
この回答では、バランス調整の適用基準も明確にする必要があります。
クラスの不均衡の問題は、正と負のパターン自体の比率ではなく、少数派クラスに属するパターンが十分にないことが原因で発生します。通常、十分なデータがある場合、「クラスの不均衡の問題」は発生しません
結論として、トレーニングセットが十分に大きい場合、人工的なバランス調整が役立つことはめったにありません。より大きな同一に分散された
サンプルは、(特に予測のために)人工的なバランス調整の必要がないことも示唆しています。そうでない場合、推定量の品質は「恐竜に出会う確率」と同じくらい良好です。
通りで恐竜に出会う確率はどれくらいですか?
1/2恐竜に出会うか、出会わないかのどちらかです
コメント
- 問題の説明に加えて、この回答からの重要なポイントは、最初にアンバランスを試して結果を確認し、必要な場合にのみバランスを取り、結果を確認してください。+ 1
- つまり、トレーニングサブセットにクラスが均等に分散されていると、モデルは見えないデータの精度を失いますね。ただし、逆の場合、トレーニング/テストサブセットのデータセットのエントリをランダムに抽出しようとすると、分類器のパフォーマンスが向上しますか?
- @ChristosK。多くの人が述べているように、問題を分類と見なすと、予測について推論するのは困難です。いずれにせよ、バイアスを取り除くと(「ランダムに」サンプリングする)、パフォーマンスを向上させるには、より大きなサンプルが必要になります。これは「通常」のサンプルがセマンティクスを保持するのに十分な大きさであるため、オーバーバランスは、適切な考慮なしにすべてを「平坦化」する正規化ハンマーのように傷つき、動作するだけです。また、恐竜の比喩が示唆しているように、「バランスのとれた」は「均等」を意味するのではありません。適切なバランスをとるのは、「ランダム」サンプルで一部の確率が誤って表現されていることがわかっている場合のみです。
- @ChristosK。いくつかの説明をありがとう。私が意図したものと同じではありませんが、アプローチは非常に似ています。 k-foldの適用性に関する通常の推奨事項は、最初のサンプルが「ちょっと小さい」ときに行うことです。確かではありませんが、折りたたむことで問題が発生することはありません。実行回数が増えるだけで、予測を気にしないほど、トートロジーのように一般化やパフォーマンスを気にする必要がなくなります:)。しかし、全体として、k-foldは本質的にバイアスが少ないことを意味します。
- @ChristosK。ああ、そして警告として、スパム/非スパムの比率はそれ自体が非定常確率変数である可能性があります。これらすべての「フェイクニュース」、「ロシアのトロール」など、このような仮定には注意が必要です。比率にもバイアスがかかる可能性があります。何かがアンダーサンプリングされている場合は、最初に分類器でPrecisionRecallを推定することをお勧めします-より多くのデータを収集/生成(?)したいです。