オーバーサンプリング、アンダーサンプリング、SMOTEはどのような問題を解決しますか?


24

最近の好評の質問で、Timは、機械学習で不均衡なデータが本当に問題になるのはいつかを尋ねます。質問の前提は、クラスバランス不均衡クラスの問題について議論する多くの機械学習文献があるということです。考え方は、ポジティブクラスとネガティブクラスの間に不均衡があるデータセットは、一部の機械学習分類(ここでは確率モデルを含む)アルゴリズムに問題を引き起こし、完全な50/50を復元するために、データセットを「バランス」する方法を探さなければならないということです。正と負のクラスに分割します。

賛成の回答の一般的な意味は、「少なくともモデリングに思慮深い場合はそうではない」ということです。M.ヘンリーL.は、受け入れられた答えに対する上向きのコメントで、次のように述べています。

[...]不均衡なデータの使用には、低レベルの問題はありません。私の経験では、「不均衡なデータを回避する」というアドバイスは、アルゴリズム固有のものか、継承された知恵です。私は、一般に、不均衡なデータは明確に指定されたモデルに概念的な問題をもたらさないというAdamOに同意します。

AdamOは、クラスバランスの「問題」は本当にクラス希少性の 1つだと主張

したがって、少なくとも回帰では(ただし、すべての状況で疑わしい)、不均衡なデータの唯一の問題は、サンプルサイズが事実上小さいことです。まれなクラスの人数に適した方法がある場合、そのメンバーシップの割合が不均衡であれば問題はありません。

これが目前の真の問題である場合、データセットのバランスを取ることを目的としたすべてのリサンプリング方法の目的は何ですか:オーバーサンプリング、アンダーサンプリング、SMOTEなど、未解決の問題が残ります。 明らかに、サンプルサイズが暗黙的に小さいという問題に対処していないため、何もないところから情報を作成することはできません!


それはまさに私がそれを…に変えたであろうことです。それはあなたの質問の全範囲をカバーしていませんが、タイトルはそうする必要はありません-それはあなたがどんな種類の質問をしているのかを明確に把握します。
Glen_b -Reinstateモニカ

ブートストラップおよびサブサンプリングメソッドが有用で、他のノンパラメトリックメソッドよりも優れている場合があることは確かです。これについては、ブートストラップとサブサンプリングに関する書籍で説明しています。このサイトには、比較的小さなサンプルでも判別分析でleave-one-outに対するブートストラップの優位性を含む、これを議論する議論があります。ブートストラップが失敗する状況は確かにいくつかありますが、それらは私の本やその他で言及されています。
マイケルR.チャーニック

@MichaelChernick私はブートストラップについて話しているのではなく、それがグレンがコメントしていたことです。私は、データセットでポジティブクラスからネガティブクラスが等しく表現されるように、オーバーサンプリングとアンダーサンプリングのような「クラスバランシング」アプローチについて話します。
マシュードゥルーリー

サブサンプリングを含めますか?等しくないサンプルサイズのみを参照していますか?あなたはどの程度一般的な声明を出しているのですか?
マイケルR.チャーニック

@MichaelChernick最初と最後の段落に明確なコメントをいくつか追加しました。
マシュードゥルーリー

回答:


0

一部のサンプリング手法では、バイアスを調整します(人口率が既知で異なる場合)が、不均衡なクラスが問題そのものではないという考えに同意します。1つの主な理由は、処理パフォーマンスにあります。たとえば、ターゲットクラスが1:100000の非常にまれなケースである場合、モデリングデータセットは大規模になり、計算は困難になります。サンプリングは、戦略に関係なく、常にデータセットの合計サイズを削減するために一部のデータを破棄します。私は、すべての異なるサンプリング戦略の違いは、予測可能性の損失を犠牲にすることなくデータを破棄する賢さだけだと思います。


4
これはすべて真実ですが、私が説明している方法の多くは、より大きなデータセットを作成します。アップサンプリングは、既存のデータポイントをコピーすることでポジティブクラスのインスタンスをさらに作成し、SMOTEはまれなクラスの「合成」データポイントを作成します。これらは確かにコンピューティングの効率化には役立ちません。
マシュードゥルーリー


0

これらのメソッドが解決しようとしている問題は、マイノリティクラスがコスト関数に与える影響を増やすことです。これは、アルゴリズムがデータセット全体にうまく適合し、その後多数に適応しようとするためです。他のアプローチはクラスの重みを使用することです。アンダーサンプリングやパフォーマンスの低下による情報の損失やオーバーサンプリングによるノイズの導入がないため、ほとんどの場合、このアポロハはより良い結果をもたらします。


2
あなたの答えがわかりません。
マイケルR.チェルニック

つまり、分類器のパフォーマンスはデータセット全体(正と負の両方の例の平均誤差)で評価され、各例の誤差は等しく重み付けされます。したがって、アルゴリズム(ロジスティック回帰など)は、誤差の削減を最大化する例に仮説関数を適合させます。この場合、データセット全体に対するエラーに大きな影響を与えないため、マイノリティクラス(負のクラス)は実質的に無視されます。これが、オーバーサンプリング、アンダーサンプリングまたはクラスの重み付けにより、少数派クラスへのアルゴリズムのより良い採用を可能にする理由です。
ミランヴキチェビッチ

0

もっと極端な例を挙げましょう。99個のデータポイントが正としてラベル付けされ、1つだけが負としてラベル付けされたデータセットがある場合を考えます。トレーニング中に、モデルは、すべてをポジティブとして分類すると、最終的にそれを回避することに気付くでしょう。これを修正する1つの方法は、過少表現クラスをオーバーサンプリングすることであり、別の方法は過大表現クラスをアンダーサンプリングすることです。たとえば、70個のポジティブラベルと30個のネガティブラベルのデータセットで、置換でネガティブラベルをサンプリングし、置換なしでポジティブラベルをサンプリングすると、トレーニング中により多くのネガティブラベルが発生します。このように、私のモデルがすべてをポジティブとして分類しようとすると、他の方法よりも大きな損失が発生します。

サンプリングに関係しないもう1つのアプローチは、コスト関数を調整して、マイノリティラベルのあるデータポイントにより高い重みを与えることです。たとえば、ラベル間で1が0に比べて過剰に表現されているデータセットでNLL損失を使用している場合、損失関数を次のように調整できます。

L(xi~,yi)=α(yi)ln(xi~)β(1yi)ln(1xi~)

β>αβα


0

不均衡なデータは機械学習の問題ではないという前提に同意しません。おそらく回帰ではそれほどではありませんが、確かに分類されています。

不均衡なデータは、クラスの不均衡の設定におけるアルゴリズムのパフォーマンスの低下(私が考えている研究は特に分類器に関するものです)のため、機械学習アプリケーションに関連しています。

クラスA 'と'クラスB 'のトレーニング例の比率が25:1の単純なバイナリ分類問題を考えます。調査では、クラスBの分類に関連する精度は、トレーニングデータの比率が低下したためにヒットすることが示されています。理にかなっているのは、トレーニング例の数が少ないほど、分類器がそのデータでトレーニングする能力が低下することです。解説者の一人が述べたように、あなたは何からも何かを作ることはできません。私が見てきた論文から、マルチクラス分類の問題では、少数派クラスの精度に大きな影響を与えるために10:1の比率に到達する必要があるようです。おそらく、私が見たものとは異なる文学を読む人々は、異なる意見を持っています。

そのため、提案されたソリューションは次のとおりです。少数派クラスのオーバーサンプリング、多数派クラスのアンダーサンプリング、または少数派クラスでのSMOTEの使用。はい、少数派クラスの合成データの作成(単純な方法ではない)を行わない限り、実際にどこからでもデータを作成することはできません(SMOTE sort-ofは行いますが、正確ではありません)。MixUpなどの他の手法もこの概念に含まれる可能性がありますが、クラスの不均衡ソリューションよりも正規化ツールであると思います。私が読んだ論文では、Oversampling> SMOTE> Undersampling。

テクニックに関係なく、発生率に影響する可能性のある多数派と少数派のクラス間の関係を変更しています。つまり、発生率が100,000に1で、分類子が1:1の超まれな脳疾患Xを検出する分類子を作成している場合、より多くの誤検出により感度が高くなり、特異性が低くなる可能性があります。これらのケースを検出して後で調停することが重要な場合は、大丈夫です。そうでない場合は、他の人の多くの時間とお金を無駄にします。この問題は、最終的に対処する必要があります。

質問に答えるために:

tl / dr:オーバー/アンダーサンプリングやSMOTE(および合成データ)などのクラスバランシング操作が存在し、不均衡自体に起因するアルゴリズムの固有のパフォーマンスヒットを解決することにより、機械学習アルゴリズム(分類子)のパフォーマンスを向上させます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.