クラスの不均衡の問題の根本的な原因は何ですか?


30

私は最近、機械学習/統計学習の「クラスの不均衡問題」について多くのことを考えてきましたが、何が起こっているのか分からないという感覚をさらに深めています。

まず、用語を定義(または試行)します。

クラス不均衡問題マシン/統計的学習では1クラスに0のクラスの割合が非常に偏っているとき、いくつかのバイナリ分類(*)アルゴリズムはうまく機能しないという観察です。

したがって、たとえば、上記の例では、すべての1クラスごとに100個の0クラスがある場合、クラスの不均衡は1から100または1 です。111001%

私が見た問題の声明のほとんどは、十分な資格と考えるもの(どのモデルが苦労しているのか、不均衡が問題であるか)を欠いており、これが私の混乱の原因の1つです。

機械学習/統計学習の標準テキストの調査では、ほとんど何もわかりません。

  • 統計斜の要素統計的学習の概要は、インデックス内の「クラスの不均衡」を含んでいません。
  • 予測データ分析の機械学習では、インデックスに「クラスの不均衡」も含まれていません。

  • マーフィーの機械学習:確率的観点に 、インデックスに「クラスの不均衡*」含まれてます。SVMのセクションを参照しますが、次の興味深いコメントが見つかりました。

    SVMは確率を使用して不確実性をモデル化しないため、これらの困難、およびそれらを修正するために提案された多数のヒューリスティックが根本的に発生するため、出力スコアはクラス間で比較できないことに注意してください。

このコメントは私の直観と経験を思い起こさせます:私の以前の仕事では、ロジスティック回帰と勾配ブーストツリーモデルを(二項対数尤度を最小化するために)不均衡なデータ(1%クラスの不均衡の程度)に、パフォーマンスの明らかな問題。

私は(どこかで)分類木ベースのモデル(木自体とランダムフォレスト)クラスの不均衡の問題に苦しんでいると読みました。これにより、水が少し濁り、ツリーは何らかの意味で確率を返します。つまり、ツリーの各終端ノードのターゲットクラスの投票レコードです。

まとめると、私が本当に望んでいるのは、クラスの不均衡問題(存在する場合)を引き起こす力の概念的な理解です。

  • 不適切に選択されたアルゴリズムと怠algorithmsなデフォルトの分類しきい値を使用して自分自身で行うことですか?
  • 適切なスコアリング基準を最適化する確率モデルを常に当てはめると消えますか?別の言い方をすれば、原因は単に損失関数の不適切な選択、つまり、厳密な分類ルールと全体的な精度に基づいてモデルの予測力を評価することですか?
  • その場合、適切なスコアリングルールを最適化しないモデルは役に立たない(または少なくとも有用性が低い)か?

(*)分類とは、バイナリ応答データに適合する統計モデルを意味します。私はない、それはかもしれないが、私の目標は、一つのクラスにハード譲渡またはその他であると仮定します。


1
学習者が各クラスの損失を同じように罰する場合、明らかな問題が発生する可能性があります。同じクラスをすべて返すことで、理論的には総損失を最小限に抑えることができます。
Firebug

1
poor choice of loss functionリストに追加するのを忘れました。損失関数としての適切なスコアリングルールについても、これは真実だと思いますか?
マシュードゥルーリー

私はそう思う。一般的にマイノリティクラスがより大きな関心を集めている一方で、より大きなクラスの損失を最小化するだけで問題全体の損失も最小化する問題を定式化できると思います。
Firebug

3
私は質問の感情に同意します。私は、クラスの不均衡の問題自体はなく、テストデータの成功を測定するために使用するものを表さない損失関数でトレーニングを行うという仮説を立てました(却下して喜んでいますが)。そして、これはほとんど標準的な慣行であるため、これを間違いと呼ぶのは困難です。たとえば、AUCまたはF1スコアを直接最適化することは標準ではありませんが、クラス不均衡の問題の一般的な成功指標です。多分それはクラスの不均衡の問題でしょうか?
DavidR 16

9
クラスの不均衡の問題の原因は、損失関数として精度を使用する規則です。クラスの不均衡は問題の特徴であり(たとえば、まれな疾患の診断)、いくつかの戦略を使用して対処できます。損失関数を計算するときにクラスのサイズに反比例するクラスの重みを使用することもその1つです。それ以外に、損失関数としてのAUCは、真陽性と偽陽性を明確に区別するため、良いアイデアです。したがって、クラスの不均衡問題の中心的な問題は損失関数です。素晴らしい質問ですが、私はあえて答えません。
ニコラスリーブル

回答:


4

Encyclopedia of Machine Learninghttps://cling.csd.uwo.ca/papers/cost_sensitive.pdf)からのエントリは、「クラスの不均衡問題」と呼ばれるものが3つの別個の問題としてよりよく理解されることを有益に説明しています。

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

著者は説明します:

クラスの不均衡なデータセットは、データのクラス分布が非常に不均衡な多くの実際のアプリケーションで発生します。繰り返しますが、一般性を失うことなく、マイノリティまたはレアクラスはポジティブクラスであり、マジョリティクラスはネガティブクラスであると想定しています。多くの場合、マイノリティクラスは非常に小さく、データセットの1%などです。データセットに最も伝統的な(コストに影響されない)分類子を適用すると、すべてが負(多数決クラス)として予測される可能性があります。これは、多くの場合、非常に不均衡なデータセットから学習する際の問題と見なされていました。

ただし、(Provost、2000)が指摘しているように、従来のコストに依存しない分類器では2つの基本的な仮定がしばしば行われます。1つ目は、分類器の目標は、精度を最大化する(またはエラー率を最小化する)ことです。2つ目は、トレーニングデータセットとテストデータセットのクラス分布が同じであることです。これら2つの仮定の下では、非常に不均衡なデータセットについてすべてを否定的に予測することは、しばしば正しいことです。(Drummond and Holte、2005)は、この状況でこの単純な分類器を上回ることは通常非常に難しいことを示しています。

したがって、不均衡なクラスの問題は、上記の2つの仮定の一方または両方が当てはまらない場合にのみ意味を持ちます。つまり、さまざまなタイプのエラー(バイナリ分類での偽陽性と偽陰性)のコストが同じでない場合、またはテストデータのクラス分布がトレーニングデータのクラス分布と異なる場合です。最初のケースは、コストに敏感なメタ学習のメソッドを使用して効果的に対処できます。

誤分類コストが等しくない場合、少数派(正)の例を多数派(負)のクラスに誤分類する方が、通常、多数派の例を少数派クラスに誤分類する(それ以外の場合、すべてを予測する方が妥当です)負)。つまり、FN> FPです。したがって、FNとFPの値が与えられると、さまざまなコストに敏感なメタ学習方法を使用して、クラスの不均衡問題を解決できます(Ling and Li、1998; Japkowicz and Stephen、2002)。FNとFPの値が明示的に不明でない場合、FNとFPはp(-):p(+)に比例するように割り当てることができます(Japkowicz and Stephen、2002)。

トレーニングデータセットとテストデータセットのクラス分布が異なる場合(たとえば、トレーニングデータが非常に不均衡であるが、テストデータはよりバランスが取れている場合)、明らかなアプローチは、クラス分布が同じになるようにトレーニングデータをサンプリングすることですテストデータ(少数派クラスのオーバーサンプリングおよび/または多数派クラスのアンダーサンプリングによる)(Provost、2000)。

少数クラスの例の数が少なすぎて、分類器が適切に学習できない場合があることに注意してください。これは、不均衡なデータセットの問題とは異なり、不十分な(小さい)トレーニングデータの問題です。

したがって、マーフィーが示唆するように、これらの3つの間違いを避ければ、不均衡なクラスを使用することに本質的に問題はありません。事後確率を生成するモデルを使用すると、推論を意思決定から分離できるため、SVMなどの判別モデルよりもエラー(1)を回避しやすくなります。(その最後の点の詳細については、ビショップのセクション1.5.4 推論と決定を参照してください。)

お役に立てば幸いです。


1
似たようなものを投稿するつもりでした。1つの小さなコメント-大きなクラスをアンダーサンプリングするのはおかしいと思います。これはデータを破棄するものであり、確かに良い結果をもたらさないでしょう。私は推論と分類を分割するという考え方が好きです。推論部分は不均衡の影響を受けませんが、意思決定(分類)は大きく影響を受けます。
確率論的

@probabilityislogic(およびBill Vander Lugt):そのテキストでは説明されていない別の考えられる問題があります。それは、弁論的な注釈が適切かどうかです。1クラスがより適切な識別モデルを不適切に使用すると、「クラスの不均衡の問題」につながる可能性があります。
cbeleitesは19:33にMonica

8

損失関数を最小化する最適化を伴うものは、十分に凸である場合、その損失関数のグローバルな最小値である解を与えます。深いネットワークは全体的に凸ではないため、「十分に凸」と言いますが、学習率などを慎重に選択して、実際には合理的な最小値を与えます。

したがって、そのようなモデルの動作は、損失関数に入れるものによって定義されます。

F

yf=f(x)

FGbFFbG

yg={Bif f(x)>bAotherwise

bG

FGG

さて、損失関数があるとしましょう:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

990.9=89.1990.1=9.910.9=0.910.1=0.1

L=(9.9+0.1)/100=0.1

G1/100

L=0.01

各クラスに均等なリコールと精度を割り当てるなど、しきい値を設定する場合の損失の10分の1。

GG

G

または、Bの例ごとに99回クローンを作成してデータセットを変更することもできます。これにより、以前の理想的なしきい値とは異なる位置で損失関数の最小値がなくなります。


4
尋ねられている質問に対する回答をもう少し具体的にしてみてください。明らかに思慮深く、それはほとんど答えではなく解説として読みます。たとえば、解説目的だけのために、定義された損失関数のような不適切なスコアリングルールの使用は根本的に間違っているため、その後の分析は無効であると主張することができます。
usεr11852は回復モニック言う

G

2
FPTPk

FFGFFG

3
これは、(1)最大化しようとするKPIが正確であること、および(2)その正確さが分類モデル評価に適切なKPIであることを暗黙的に推定します。そうではありません。
S. Kolassa -復活モニカ

0

1クラス分類子は、他のすべてのクラスとは独立して各クラスを見るため、不均衡の問題はなく、単にモデル化しないことで「非クラス」に対処できることに注意してください。(もちろん、サンプルサイズが小さすぎると問題が発生する可能性があります)。

1クラス分類子によってより適切にモデル化される多くの問題は、差別的アプローチが使用される場合、モデルの定義が不明確になります。その「クラス不均衡問題」は1つの症状です。

例として、販売するのに適した製品またはそうでない製品を考えます。そのような状況は通常、

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

したがって、クラス「good」は明確に定義され、クラス「not-good」は不適切に定義されます。そのような状況が判別分類器によってモデル化されている場合、2つの「不均衡問題」があります。「悪い」クラスのサンプルサイズが小さいだけでなく、サンプル密度がさらに低い(サンプル全体に広がるサンプルが少ない)機能スペースの大部分)。

このタイプの「クラス不均衡問題」は、タスクが明確に定義された「良い」クラスの1クラス認識としてモデル化されると消えます。

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