web-dev-qa-db-ja.com

人工ニューラルネットワークではなく、サポートベクターマシンをいつ使用する必要がありますか?

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

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

それで、私が片付けたいいくつかのケースのサンプル:

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

私は誰かがこれらのlilのサブ質問のすべてに答えることを期待していませんが、実際にはSVMが一般的なANNの同等物(たとえば、FFBP、反復BP、ボルツマンマシン、SOMなど)よりも優れている場合の一般的な限界を示します。そしてできれば、理論的にも同様です。

33
zergylord

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

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

私が知る限り、文献で報告されている研究はこれを確認しています。たとえば、挑発的なタイトルの論文ではサポートベクターマシンを使用したセックス性別識別の解像度が大幅に向上しています(男性/女性) SVMについては、従来の線形分類器のグループと比較して、12平方ピクセルの画像が報告されました。 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の一般的な構成である1クラス分類器が適切なオプションです。特に、トレーニングデータは、「不正ではない」および「unk」(またはクラスに含まれていないことを示す他のラベル)というラベルの付いたインスタンスで構成されます。つまり、「決定境界の内側」および「決定境界の外側」です。 。」

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

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

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

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

53
doug

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

1)ウラジミール・ヴァプニックは、学習理論で重要なVC次元)も共同で発明しました。

2)2000年から2009年まではSVMが全体的に最高の分類器だったと思いますが、2009年以降はわかりません。ディープラーニングとスパースノイズ除去オートエンコーダの作業により、ニューラルネットは最近非常に大幅に改善されたと思います。 SVMを上回っているベンチマークをいくつか見たと思いました。たとえば、のスライド31を参照してください。

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

私の友人の何人かは、スパースオートエンコーダ技術を使用しています。その手法で構築されたニューラルネットは、古いバックプロパゲーションニューラルネットワークを大幅に上回りました。時間があれば、artent.netに実験結果を投稿しようと思います。

8
Hans Scundal

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

1

-SVMのより良い教師なしバージョンはありますか?

ここでこの質問だけに答えるだけです。教師なし学習は、いわゆる1クラスサポートベクターマシンによって実行できます。繰り返しますが、通常のSVMと同様に、スパース性を促進する要素があります。通常のSVMでは、いくつかのポイントのみが重要であると見なされます。サポートベクター。 1クラスのSVMでも、次のいずれかに使用できるポイントはごくわずかです。

  1. Originから可能な限りデータセットを「分離」する、または
  2. 半径をできるだけ小さく定義します。

通常のSVMの利点は、この場合にも引き継がれます。密度推定と比較して、考慮する必要があるのはほんの数点です。不利な点も引き継がれます。

0
Anne van Rossum

SVMは多くのクラスを持つANNよりも優れていますか?

SVMは離散分類用に指定されています。 ANNに移動する前に、 アンサンブル のような方法を試してください ランダムフォレスト勾配ブースティングガウス確率分類 など

強化学習のような半教師ありの場合はどうですか?

ディープQ学習 より良い選択肢を提供します。

SVMのより良い教師なしバージョンはありますか?

SVMは教師なし学習には適していません。 教師なし学習 :K-Means、階層的クラスタリング、 [〜#〜] tsne [〜#〜] クラスタリングなどの他の選択肢があります

ANNの観点からは、 オートエンコーダ一般的な敵対的ネットワーク を試すことができます。

いくつかのより有用なリンク:

towardsdatascience

ウィキペディア

0
Ravindra babu