elsur.jpn.org >

« 読了:Montero & Vilar (2014) RのTSclustパッケージで時系列クラスタリング | メイン | 覚え書き:BPTO(Brand Price Trade-off)とはどんな手法か (途中で投げ出しましたけど) »

2018年4月30日 (月)

 勤務先の優秀なインターン青年に「機械学習で分類課題やるとき、クラスの事前確率が極端にちがう場合はclass imbalance問題といわれていて、いっぱい議論があるのよ。腕の見せ所だよ、頑張ってねー」などと、お茶をすすりながら偉そうなことを抜かしたのはいいが、良く考えてみたら、そもそもclass imbalance問題とはなんだろう。正面切って問われたら全然答えられない。
 こういう話、人々はいったいどうやって勉強してんですかね?

Japkowicz, N., Stephen, S. (2002) The class imbalance problem: A systematic study. Intelligent Data Analysis, 6, 429-449.
class imbalance 問題 (以下CIと略記)についての論文。google様的には引用度数1600件強。

本論文の概要
本研究では次の3つの問いについて調べる。

  1. CI問題の本質はなにか。つまり、C5.0のような標準的分類器の正解率がCIのせいで低くなってしまうのはどんな領域か?
  2. CI問題に対処するためのさまざまなアプローチはどう異なるか?
  3. C5.0以外の分類器でも、正解率はCIのせいで低くなるか?

Q1. CIの問題の本質
 実験やります。
 架空のdomainをつくる。それぞれのdomainは[0,1]の一次元の入力を持つ。[0,1]を$2^c$等分して($c=1,\ldots,5$)、それぞれの区間にクラス(0,1)を交互に割り当てる。ここから$(5000/32)*2^s$個の事例を一様に抽出する($s=1, \ldots, 5$)。で、クラス0の各区間から得た事例は$1/(32/2^i)$番目まで残し($i=1,\ldots,5$)、あとは捨てる。これを訓練データとする[nagativeが少ないわけだ]。テストデータは各区間あたり50事例。
 というわけで、要因は複雑性、訓練データのサイズ、CIの3つ。たとえば$c=1, s=1, i=2$だったら、訓練データは$[0,0.5)$がクラス1で157件、$(0.5,1]$がクラス0で79件となる。
 これをC5.0で学習する。4種類の結果を報告する。

 結果。

 この実験にはいろいろ不備がある。たとえば訓練データの実際のサイズがimbalance要因のせいで変わっちゃうとか。そこで改めて実験すると...[細かくて面倒くさい話なので詳細は省略, 結果のみメモする]

Q2. 手法の比較
さっきと同じ実験をやるんだけど、今度は次の対処法を試す。

 結果。どの方法にもそれなりの効果があるが、undersamplingの効率が悪い(randomでもfocusedでも)。概して一番良いのはcost modifying。
 今度は実事例の場合をみてみよう...[面倒くさいのでパス]

Q3. 他の分類器はCIに敏感か?
 同じような実験を、多層パーセプトロン(MLP)とサポート・ベクター・マシン(SVM)でやる。それぞれパラメータがいろいろあるので、試した中で最良の結果をみます。
 結果。
 MLPは[...大幅中略...]C5.0ほどにはCIの影響を受けない。
 SVMは[...中略...] CIの影響を全然受けない。[←へぇー]

結論
 CI問題は相対的な問題で、以下の要因の影響を受ける。(1)CIの程度, (2)概念の複雑さ、(3)訓練セットのサイズ、(4)分類器。ポイントは下位クラスタのサイズが十分かどうか。
 分類器はC5.0, MLP, SVMの順にCIの影響を受ける。
 CIの影響をうける分類器の場合はリサンプリングやcost-modifyingに効果がある。cost-modifyingが一番良い。
 云々。

 。。。いやー、読みにくい論文であった。チャートが小さいんだもん。
 クラス不均衡問題っていうけど不均衡自体が問題なのではない、結局は(クラスじゃなくて)下位クラスタの小標本問題なのだ、というところが面白かった。そういうもんなんすかね。
 SMOTEとかなんだとか、かっこいいリサンプリング法があるが、ああいうのはどうなんだろう。この論文では今後の課題として言及されていた。

論文:データ解析(2018-) - 読了:Japkowicz & Stepeh (2002) 機械学習におけるクラス不均衡問題について実験しました

rebuilt: 2020年11月16日 22:54
validate this page