SVMは不均衡なデータセットを処理しますか?不均衡なデータセットを処理するパラメーター(Cや誤分類コストなど)はありますか?
SVMは不均衡なデータセットを処理しますか?不均衡なデータセットを処理するパラメーター(Cや誤分類コストなど)はありますか?
回答:
不均衡なデータセットの場合、通常、クラスごとに誤分類のペナルティを変更します。これはクラスウェイトSVMと呼ばれ、以下を最小限に抑えます。
ここで、とNはポジティブ/ネガティブトレーニングインスタンスを表します。標準のSVM では、Cの値は1つしかありませんが、現在は2です。マイノリティクラスの誤分類ペナルティは、マジョリティクラスよりも大きくなるように選択されています。
このアプローチはかなり早い時期に導入されました。たとえば1997年の論文で言及されています。
エドガー・オスナ、ロバート・フロイント、フェデリコ・ギロシ。サポートベクターマシン:トレーニングとアプリケーション。テクニカルレポートAIM-1602、1997。(pdf)
基本的に、これはマイノリティクラスのオーバーサンプリングと同等です。たとえば、これはすべてのポジティブを2回トレーニングセットに含めた後、C = C n e gで標準SVMをトレーニングすることと完全に同等です。
SVMは、クラス頻度が不均衡なデータセットを処理できます。多くの実装では、正のクラスと負のクラスのスラックペナルティ(C)に異なる値を設定できます(これは、クラスの頻度を変更することに相当します)。クラス頻度が運用上の使用で予想される頻度であるテストセットで一般化パフォーマンスを最大化するために、これらのパラメーターの値を設定することをお勧めします。
私はこの上で論文を書いた多くの人々の一つであった、ここにある鉱山は、私はより良い/より最新のものを見つけることができれば、私が表示されます。Veropoulos、Campbell、Cristianini(1999)をお試しください。