Class Imbalance, ReduxByron C. Wallace, Kevin Small, Carla E. Brodley, Thomas A.Trikalinos(ICDM 2011)高柳慎一@_stakaya論文読んだ
View Slide
本日のお持ち帰り• 不均衡クラス分類問題の理論が未確立(当時)• なので、確率論的な視点から問題を定式化• “undersampling + bagging”が良い?という結論–※undersampling = balanced bootstrapで複数個レプリカデータ・セット生成–論文中の表現:In almost all imbalanced scenarios,practitioners should bag classifiers induced over balancedbootstrap samples2
準備• 手元にある訓練データ– : から生成される”+”データ(Minority)– : から生成される”ー”データ(Majority)–“+”Classに属するデータ が、”ー”Classに属するデータ に比べ少ない• 2値クラス分類を考える3
単純に分類した場合のBias4• 真の境界:• 推定された境界:• 直感的に左寄りになる• 部分特徴量空間:• ※論文図1より
目的(損失)関数• False Positive/Negativeの際の罰則:• Minority Class (“+”)の割合:• False Positive/Negativeに対して罰を与える• 適当な”距離”じゃなくて、(経験分布として見ると)個数になるのが理論のミソ何だと思う5
目的(損失)関数• False Positive/Negativeの際の罰則:• Minority Class (“+”)の割合:• その経験(実データ)版(個数で罰則)6
よくある不均衡制御• False Positive/Negativeの際の罰則:• この罰則を制御して目的関数をいい感じに• 所謂、”重みをつける”操作で対応• これはあまり効果なし、特にデータが分離可能な場合明らかに全く効果がない–これは目的関数の形の仮定から自明–(これが言いたいために距離を使ってないのか?) 7
よくある不均衡制御(なんで駄目?)8• 赤矢印間で罰則Cやωを変えても、経験損失関数の値は不変• 意味がない• ※図1再掲
SMOTEについて• 不均衡データの調整によく使われる奴• アルゴリズム–MinorityクラスのK近傍データをいくつか持ってきて–そのうちの1つをランダムに選んで、内挿して点を増やす• こいつはアルゴリズムとして内挿なので、Minorityに属する点が外に拡大されて出ていくことはない → さっきの図でいう”境界をMajor側に向かわせる方向”に最適化はどのみち進まない9
どうやるといいのだろうか?• Undersamplingを使おう–Majorityを減らす• 図からわかるようにバイアスは明らかに減る• ただしωの分散が出る• 論文図2より10
どうやるといいのだろうか?• ωの分散をおさえるためにBaggingを使う• Baggingにおいて普通はBootstrap–完全Random選択• 先行研究でもBalanceするように取ってるし、いいだろ!わっはっは!11
シミュレーション• 特徴量xは全部バイナリ変数• 右側の箱は無意味Featureの割合とデータのSparse制御• πyが不均衡比率• 論文図3より12
結果の図(論文図4)• F値 v.s. 次元• 左から右にπy=5%, 10%, 20%• 次元があがるとデータが分割可になるので罰則付き系の手法がパフォーマンス悪化13
結果の図(論文図5)• F値 v.s. データサイズ• 左から右にπy=5%, 10%, 20%• サンプルサイズが増えると、(境界を動かせるサンプルも増えるので)罰則付き系手法も精度良14
結果の図(論文図6)15• 左・右:分離可・不可なデータセットに対するBase(SVM)からのF値向上具合• 分離可なデータの場合にはbaggingしか精度向上ない
結果の図(論文図7)• 実データでもやった• Bagging強し• (あまり深く読んでない…)16