サポートベクターマシンに対する人工ニューラルネットワークの利点は何ですか?[閉まっている]


381

ANN(人工ニューラルネットワーク)とSVM(サポートベクターマシン)は、教師あり機械学習と分類の2つの一般的な戦略です。特定のプロジェクトにどちらの方法が適しているかはよくわからないことが多く、答えは常に「依存している」と確信しています。多くの場合、両方の組み合わせとベイジアン分類が使用されます。

Stackoverflowに関するこれらの質問は、ANNとSVMに関してすでに尋ねられています。

ANNおよびSVM分類

分類の質問におけるANN、SVM、KNNの違い

テキスト処理用のサポートベクターマシンまたは人工ニューラルネットワーク?

この質問では、ANN(具体的には、マルチレイヤーパーセプトロン)のどの側面がSVMを介して使用することが望ましいと思われるかを具体的に知りたいのですが?私が尋ねる理由は、反対の質問に答えるのが簡単だからです。サポートベクターマシンは、ANNの2つの主要な弱点を回避するため、ANNより優れていることがよくあります。

(1)ANN は、グローバルな最小ではなくローカルな最小値に収束することがよくあります。つまり、ANN は、本質的に「全体像を見落としている」(または森の森を見逃している)ことを意味します

(2)トレーニングが長すぎると、ANNはしばしばオーバーフィットします。つまり、特定のパターンについて、ANNはノイズをパターンの一部と見なし始める可能性があります。

SVMはこれらの2つの問題のどちらにも悩まされません。ただし、SVMがANNの完全な代替になることを意図していることはすぐにはわかりません。それでは、ANNはSVMに対して特定の利点を持っているため、特定の状況に適用できる可能性があります。ANNに対するSVMの特定の利点を挙げましたが、ANNの利点(ある場合)のリストを確認したいと思います。


61
残念ながら、これはおそらくクローズされるか、すぐに移動されますが、私はこの質問が大好きです。私はこれに対するさまざまな思慮深い答えを見ること以上に何も望みません。
duffymo 2012

10
これらのマシンの能力に関する理論的な保証はほとんどないため、この質問に対する答えのほとんどは推測に基づくか、または証拠に基づいていると思います。たとえば(私が正しく思い出した場合)、n層フィードフォワードニューラルネットワークが2層ネットワークより強力かどうかは不明です。では、同じモデルのわずかなバリエーション間の関係さえ理解していない場合、原則としてどちらが一方が他方よりも優れていると言えるでしょうか。
JeremyKun、2012年

13
あまり建設的でないため閉鎖されています...笑
erogol 2014年

65
StackOverflowが質の高い質問と回答を維持しようとするのが気に入っています。StackOverflowがメスではなくaxを使用してこれを強制するのが嫌いです。「HTML stuffzを実行するにはどうすればよいですか」と質問することには違いがあります。そして、他の場所への答えを見つけるのが難しいドメイン固有の質問。これには140の賛成票がある理由がありますが、「建設的ではない」と見なされています。このような質問は、建設的なものの縮図です。確かに、Q&A形式にきちんと分類され、それでも質問者以外のほとんどの人には役に立たない、毎日目にするものの多くよりもはるかに多い。
Chase Ries

20
これは明らかに建設的です。なぜ閉鎖されるのか理解できません。1つのアルゴリズムを使用すると、代替アルゴリズムを使用するよりも利点がある特定の状況が求められます。それは尋ねるのに合理的なことではありませんか?
Rab

回答:


137

あなたが提供する例から判断すると、私はANNとは、多層パーセプトロンなどの多層フィードフォワードネットワーク(略してFFネット)を意味すると想定しています。これは、SVMと直接競合しているためです。

これらのモデルがSVMよりも優れている点の1つは、サイズが固定されていることです。これらはパラメトリックモデルですが、SVMはノンパラメトリックモデルです。つまり、ANNには、サイズがh 1からh nの一連の隠れ層があります。フィーチャの数とバイアスパラメータに応じて、モデルを構成します。対照的に、SVM(少なくともカーネル化されたもの)は、トレーニングセットから選択されたサポートベクトルのセットで構成され、それぞれに重みがあります。最悪の場合、サポートベクトルの数はトレーニングサンプルの数とまったく同じです(ただし、主に小さなトレーニングセットまたは縮退したケースで発生します)。一般に、モデルサイズは線形にスケーリングされます。自然言語処理では、それぞれ数十万の特徴を持つ数万のサポートベクトルを持つSVM分類子は、前例のないものではありません。

また、FFネットのオンライントレーニングは、オンラインSVMフィッティングと比較して非常に簡単であり、予測はかなり高速になる可能性があります。

編集:上記のすべては、カーネル化されたSVMの一般的なケースに関係します。彼らはそれに線形SVMは特殊なケースですされ、パラメトリックと、このような確率的勾配降下法などの単純なアルゴリズムとオンライン学習を可能にします。


12
別の理由は、このペーパーで見つけることができます:yann.lecun.com/exdb/publis/pdf/bengio-lecun-07.pdf。要するに、著者は、「深いアーキテクチャ」は、SVMのような「浅いアーキテクチャ」よりも「インテリジェントな」動作/機能などをより効率的に表すことができると述べています。
アルファ

1
余談ですが、ディープラーニングは、MLP(固定サイズ、より単純なトレーニング)に関してここで与えられた「利点」をいくらか失います。しかし、これらの利点がそれだけの価値があるかどうかはわかりません。
Muhammad Alkarouri、

6
@MuhammadAlkarouri:深層学習はかなり幅広い手法のセットですが、私が精通している手法は、モデルがパラメトリック(固定サイズ)であるという利点を保持しています。
Fred Foo

2つのコメント:オンライントレーニングポイントは真実ですが、オンライン学習用に特別に設計されたSVMのような分類器のバリエーションがあり、MIRA(パッシブアグレッシブ分類器の一種)と呼ばれ、更新は簡単です。第二に、多くのニューラルネットがカーネルトリックを通じてSVMとして定式化できることを指摘する価値があります。
Ben Allison

1
@FredFooもANNがローカルの最小値でスタックする可能性があります。サポートベクターマシンではこの問題が発生しにくいためです。
観光客

62

サポートベクターマシンに対する人工ニューラルネットワークの明らかな利点の1つは、サポートベクターマシンには1つしかありませんが、人工ニューラルネットワークには任意の数の出力がある可能性があることです。サポートベクターマシンでn-ary分類器を作成する最も直接的な方法は、n個のサポートベクターマシンを作成し、それぞれを1つずつトレーニングすることです。一方、ニューラルネットワークを備えたn値分類器は、一度にトレーニングできます。さらに、ニューラルネットワークは全体として1つであるため、より意味があり、サポートベクターマシンは分離されたシステムです。これは、出力が相互に関連している場合に特に役立ちます。

たとえば、手書きの数字を分類することが目的の場合、10個のサポートベクターマシンが分類します。各サポートベクターマシンは1桁のみを認識し、他のすべての数字は認識しません。手書きの各数字は、そのクラス以外の情報を保持するためのものではないので、人工ニューラルネットワークでこれを解決しようとしても意味がありません。

ただし、最終的な食事からの時間、心拍数などの簡単に測定できる生理学的要因の関数として、人のホルモンバランス(いくつかのホルモンについて)をモデル化することが目標であるとします...これらの要因はすべて相互に関連しているため、人工神経ネットワーク回帰は、サポートベクターマシン回帰よりも理にかなっています。


18
実際には、サポートベクターマシンの真のマルチクラス式が存在します(Crammer&Singerの論文を参照)。LibSVMにはこれらの実装が含まれていると思います。
Fred Foo

3
ただし、マルチクラスSVMのトレーニングはそれほど簡単ではなく、パフォーマンスはAVAアプローチよりもOVAの方が優れているようです。
crodriguezo 2015年

3
「人工ニューラルネットワークでこれを解決しようとしても意味がありません」ニューラルネットワークを使用して、手書きの数字の分類を解決できます。私はこれをクラスのハードウェア割り当てとして行いました。出力層には、すべての桁の確率が含まれています。確率が最も高いクラスが仮説として使用されます。正解率は94%でした。
user3266824

つまり、n個の1対N-1 SVM分類器を作成するのではなく、NNを使用してn個の出力を作成します。SVMはこのように遅いようですか?
mskw 2017

@ user3266824ええ、ええ、その引用は古くなりませんでした。
runDOSrun

46

注意すべき点の1つは、2つは実際には非常に関連しているということです。線形SVMは単層NN(つまり、パーセプトロン)と同等であり、多層NNはSVMで表すことができます。詳細については、こちらをご覧ください。


18

カーネルSVMを使用する場合は、カーネルを推測する必要があります。ただし、ANNは普遍的な近似器であり、幅(近似精度)と高さ(近似効率)を推測するだけです。最適化問題を正しく設計すれば、適合しすぎません(適合性については参考文献を参照してください)。また、検索スペースを正確かつ均一にスキャンするかどうかは、トレーニング例にも依存します。幅と深さの発見は整数プログラミングの主題です。

たとえば、範囲がI = [0,1]で、範囲付きの関数f(。)と範囲付きのユニバーサル近似器を、範囲I = [0,1]で再びバインドし、コンパクトサポートU(。、a)の実際のシーケンスによってパラメーター化されているとします。シーケンスのシーケンスが存在するプロパティ

lim sup { |f(x) - U(x,a(k) ) | : x } =0

そして、あなたは例とテスト(x,y)を上の分布Dで描きますIxI

処方されたサポートについて、あなたがすることはそのような最良のものを見つけることです

sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal

これa=aaを確率変数としましょう!

平均使用 D and D^{N} of ( y - U(x,aa) )^{2}

aaエラーを最小限に抑えるように選択した場合、まれな値のセットに対して完全に適合する理由を説明しましょう。ただし、それらはまれであるため、平均が0になることはありません。Dの離散近似がある場合でも、秒を最小化する必要があります。また、サポートの長さは自由であることを覚えておいてください。


14

私がここで見逃している1つの答え:多層パーセプトロンは、フィーチャ間の関係を見つけることができます。たとえば、コンピュータビジョンでは、生の画像が学習アルゴリズムに提供され、高度な機能が計算されるときに必要になります。基本的に、中間レベルは新しい未知の機能を計算できます。


12

また、SVMシステムは、ラベルの付いたグラフや文字列のセットなどの非計量空間に直接適用できることも考慮する必要があります。実際、カーネルの正定性の要件が満たされていれば、内部カーネル関数を事実上あらゆる種類の入力に適切に一般化できます。一方、ラベル付きグラフのセットでANNを使用できるようにするには、明示的な埋め込み手順を検討する必要があります。


6
私の考えでは、賢明なカーネルを構築することと、賢明なメトリック埋め込みを構築することは同じように問題があります。したがって、これはメトリックスよりもカーネルのバリエーションが多い可能性があるという単なるコメントですが、私は実際には購入しません。ohli.de/download/papers/Deza2009.pdf
JeremyKun
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.