33

SVMは、表現の複雑さを自動的に選択し、グローバルな最適値を見つけるという点で、おそらく「ANNキラー」であることを知っています(SVMの賞賛の引用については、こちらを参照してください)。

しかし、ここで私がはっきりしないところがあります - これらの優越性の主張はすべて、2 クラスの決定問題の場合にのみ当てはまるのでしょうか、それともさらに先に進むのでしょうか? (私は、それらが非線形に分離可能なクラスに当てはまると仮定します。さもなければ、誰も気にしません)

したがって、私が解決したいいくつかのケースのサンプル:

  • SVM は多くのクラスを持つ ANN より優れていますか?
  • オンライン設定で?
  • 強化学習のような半教師ありの場合はどうでしょうか?
  • より優れた教師なしバージョンの SVM はありますか?

誰かがこれらの些細な質問のすべてに答えてくれるとは思っていませんが、実際には、SVM が一般的な ANN の同等物 (例: FFBP、リカレント BP、ボルツマン マシン、SOM など) よりも優れている場合の一般的な境界を示してください。そしてできれば、理論的にも。

4

5 に答える 5

55

SVMは多くのクラスを持つANNよりも優れていますか?あなたはおそらく、SVMが本質的に1クラスまたは2クラスの分類器であるという事実に言及しているでしょう。実際、それらはそうであり、3つ以上のクラスを分類するためにSVMアルゴリズムを変更する方法はありません。

SVMの基本的な機能は、サポートベクターからの距離を最大化することによって位置が決定される分離最大マージン超平面です。それでも、SVMはマルチクラス分類に日常的に使用されます。これは、「1対多」のパターンで機能する複数のSVM分類器の処理ラッパーで実現されます。つまり、トレーニングデータは、これらのインスタンスを分類する最初のSVMに表示されます。 「クラスI」または「クラスIではない」として。次に、2番目のクラスのデータが2番目のSVMに表示され、このSVMはこのデータを「クラスII」または「クラスIIではない」として分類します。"など。実際には、これは非常にうまく機能します。したがって、ご想像のとおり、他の分類器と比較したSVMの優れた解像度は、2クラスのデータに限定されません。

私が知る限り、文献で報告された研究はこれを確認しています。たとえば、挑発的なタイトルの論文では、サポートベクターマシンを使用したセックスで、12平方ピクセルの画像での性別識別(男性/女性)の解像度が大幅に向上し、SVMで報告されました。従来の線形分類器のグループのそれと比較して; SVMは、RBFNNおよび大規模なアンサンブルRBFNNも上回りました。しかし、マルチクラス問題でのSVMの優れたパフォーマンスについては、同様の証拠がたくさんあるようです。たとえば、SVMは、タンパク質フォールド認識時系列予測でNNを上回りました。

過去10年ほどにわたってこの文献を読んだときの私の印象は、慎重に設計された研究の大部分は、両方の手法を構成および使用し、分類に対して十分に耐性のあるデータを使用して解像度に意味のある違いを引き起こすことに熟練した人によるものであるということです。 NNと比較してSVMの優れたパフォーマンスを報告します。しかし、あなたの質問が示唆しているように、そのパフォーマンスのデルタは、ある程度、ドメイン固有のようです。

たとえば、アラビア文字のテキストからの著者識別の比較研究では、NNはSVMを上回りました。信用格付けの予測を比較した研究では、2つの分類子による解像度に識別可能な違いはありませんでした。高エネルギー粒子分類の研究でも同様の結果が報告されました 。

学術文献の複数の情報源から、トレーニングデータのサイズが小さくなるとSVMがNNよりも優れていることを読みました。

最後に、これらの比較研究の結果から一般化できる範囲はおそらくかなり限られています。たとえば、時系列予測でSVMとNNの精度を比較したある研究では SVMは実際に従来の(階層化されたノード上で逆伝播する)NNを上回っていたが、SVMのパフォーマンスはRBF(動径基底関数)NN。

[SVMはANNよりも優れています]オンライン設定ではSVMは、オンライン設定(つまり、増分トレーニング)では使用されません。SVMの本質は、その位置が少数のサポートベクターによって決定される分離超平面です。したがって、単一の追加データポイントでさえ、原則としてこの超平面の位置に大きな影響を与える可能性があります。

強化学習のような半教師ありの場合はどうですか?この回答に対するOPのコメントまで、私はニューラルネットワークまたはSVMがこのように使用されていることに気づいていませんでしたが、実際にはそうです。

最も広く使用されているSVMの半教師ありバリアントは、トランスダクティブSVM (TSVM)と呼ばれ、 Vladimir Vapnick(従来のSVMを発見/発明したのと同じ人物)によって最初に言及されました。私はこのテクニックについてほとんど何も知りませんが、それは何と呼ばれ、それは変換の原則に従います(大まかに水平推論-つまり、トレーニングデータからテストデータへの推論)。どうやらTSVはテキスト分類の分野で好ましい技術です。

SVMのより良い教師なしバージョンはありますか?SVMが教師なし学習に適しているとは思いません。分離は、サポートベクターによって決定される最大マージンの超平面の位置に基づいています。これは私自身の限られた理解である可能性がありますが、これらのサポートベクターがラベル付けされていない場合(つまり、何を分離しようとしているのかを事前に知らなかった場合)にどうなるかわかりません。教師なしアルゴリズムの重要なユースケースの1つは、ラベル付けされたデータがない場合、またはラベル付けされていて、データのバランスが非常に悪い場合です。例:オンライン詐欺; ここでは、トレーニングデータに、「不正なアカウント」とラベル付けされた(通常は疑わしい精度で)少数のデータポイントのみが含まれている可能性がありますが、残りの99%以上は「不正ではない」とラベル付けされています。このシナリオでは、、SVMの一般的な構成は、適切なオプションです。特に、トレーニングデータは、「不正ではない」および「unk」(またはクラスに含まれていないことを示す他のラベル)、つまり「決定境界の内側」および「決定境界の外側」とラベル付けされたインスタンスで構成されます。 。」

結論として、彼らの「発見」から20年後、SVMはMLライブラリにしっかりと定着したメンバーであるということを述べたいと思います。そして確かに、他の最先端の分類器と比較して一貫して優れた解像度は十分に文書化されています。

彼らの血統は、多くの厳密に管理された研究で文書化された優れたパフォーマンスと、概念的な優雅さの両方の機能です。後者の点については、多層パーセプトロン(MLP)は優れた分類器であることが多いものの、実際には大域的最小値を見つけることはめったにない数値最適化ルーチンによって駆動されることを考慮してください。さらに、そのソリューションには概念的な意味はありません。一方、SVM分類器の構築の中心にある数値最適化は、実際にはグローバルな最小値を見つけます。さらに、その解決策は実際の決定境界です。

それでも、SVMの評判は過去数年間で少し低下したと思います。

私が疑う主な理由は、NetFlixの競争です。NetFlixは、行列分解の基本的な手法の解決力と、さらに重要なことに、分類子を組み合わせる能力を強調しました。人々はNetFlixのずっと前に分類器を組み合わせましたが、分類器の設計の属性としてよりも偶発的な手法としてでした。さらに、分類器を組み合わせるための手法の多くは、理解と実装が非常に簡単です。対照的に、SVMはコーディングが非常に難しいだけでなく(私の意見では、コードで実装するのがはるかに難しいMLアルゴリズム)、プリコンパイル済みライブラリとして構成および実装することも困難です。たとえば、カーネルを選択する必要があります。 、結果は、データの再スケーリング/正規化などに非常に敏感です。

于 2011-07-14T22:08:38.653 に答える
8

ダグの答えが気に入りました。2 つコメントを追加したいと思います。

1) Vladimir Vapnick は、学習理論で重要な VC ディメンションも共同発明しました。

2) 2000 年から 2009 年までは、SVM が全体として最良の分類器だったと思いますが、2009 年以降はわかりません。Deep Learning と Sparse Denoising Auto-Encoders での作業により、ニューラル ネットワークは最近非常に大幅に改善されたと思います。SVM よりもパフォーマンスが優れているベンチマークをいくつか見たと思います。たとえば、次のスライド 31 を参照してください。

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

私の友人の何人かは、スパース自動エンコーダー手法を使用しています。この手法で構築されたニューラル ネットワークは、古い逆伝播​​ニューラル ネットワークよりも大幅に優れていました。時間があれば、実験結果を artent.net に投稿しようと思います。

于 2012-09-29T15:19:08.020 に答える
1

そもそも優れた機能があれば、SVMの方が優れていると思います。IE、あなたの機能はすべての必要な情報を簡潔にキャプチャします。同じクラスのインスタンスが機能スペースに「凝集」している場合は、機能が優れているかどうかを確認できます。次に、Euclidianカーネルを備えたSVMがそのトリックを実行する必要があります。基本的に、SVMを過給された最近傍分類器と見なすことができるため、NNがうまく機能する場合は常に、セット内の例に自動品質管理を追加することで、SVMのパフォーマンスがさらに向上するはずです。逆に、(機能空間内の)最近傍がうまく機能しないと予想されるデータセットの場合、SVMも同様にうまく機能しません。

于 2012-09-30T01:54:54.483 に答える