データが線形分離可能かどうかを知る方法は?


21

データには多くの機能(100など)があり、インスタンスの数は100,000程度です。データはまばらです。ロジスティック回帰またはsvmを使用してデータを近似します。非線形の場合にカーネルトリックを使用できるように、フィーチャが線形か非線形かをどのように知ることができますか?

回答:


22

データが直線的に分離可能かどうかを調べる方法はいくつかありますが、そのうちのいくつかをこのホワイトペーパーで取り上げます(1)。データセットに2つのクラスがあると仮定すると、それらが線形分離可能かどうかを確認する方法はほとんどありません。

  1. 線形計画法:線形分離性を満たす制約に従う目的関数を定義します。実装の詳細については、こちらをご覧ください
  2. パーセプトロン法:データが線形分離可能である場合、パーセプトロンは収束することが保証されています。
  3. 二次計画法:二次計画法最適化の目的関数は、SVMのように制約付きで定義できます。
  4. 計算幾何学:2つの互いに素な凸包を見つけることができる場合、データは線形に分離可能です。
  5. クラスタリング手法:k-meansなどのクラスタリング手法を使用して、クラスター純度が100%の2つのクラスターを見つけることができる場合、データは線形分離可能です。

    (1):Elizondo、D.、 "The linear separability problem:some testing methods、" Neural Networks、IEEE Transactions on、vol.17、no.2、pp.330-344、March 2006 doi:10.1109 / TNN。 2005.860871


1
参照(リンクが腐敗する可能性があります)と、どの方法が対象かについて少なくとも少し説明してください。
Scortchi -復活モニカ

2
ありがとう。良い答え(+1)。RパッケージsafeBinaryRegressionは、線形計画アプローチも実装しています。
Scortchi -復活モニカ

どの(LPアプローチ)は、幾何学的に、コンピューター的に効率的に、一般的に(LPルーチンがそうであるように)容易に解釈されます。
user603

3

2クラスの分類問題について話していると思います。この場合、2つのクラスを分離する行があり、古典的なアルゴリズムは収束するときにそれを見つけることができるはずです。

実際には、同じデータでトレーニングとテストを行う必要があります。そのようなラインがある場合、100%の精度または100%のAUCに近くなるはずです。そのようなラインがない場合、同じデータでトレーニングとテストを行うと、少なくともいくつかのエラーが発生します。エラーの量に基づいて、非線形分類器を試す価値がある場合とない場合があります。


1

mnwb ||w||2
st wバツ+by1

mnsb s
st wバツ+by1s
s0

ss


+1これはRパッケージで実施される方法の背後にある幾何学的直観であるsafeBinaryRegression
user603

-2

ロジスティック回帰を試して、どのように機能するかを確認します。うまくいかない場合、試せるカーネルは無限にありますが、それでもうまくいかない可能性があります。

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