391

ANN (Artificial Neural Networks) and SVM (Support Vector Machines) are two popular strategies for supervised machine learning and classification. It's not often clear which method is better for a particular project, and I'm certain the answer is always "it depends." Often, a combination of both along with Bayesian classification is used.

These questions on Stackoverflow have already been asked regarding ANN vs SVM:

ANN and SVM classification

what the difference among ANN, SVM and KNN in my classification question

Support Vector Machine or Artificial Neural Network for text processing?

In this question, I'd like to know specifically what aspects of an ANN (specifically, a Multilayer Perceptron) might make it desirable to use over an SVM? The reason I ask is because it's easy to answer the opposite question: Support Vector Machines are often superior to ANNs because they avoid two major weaknesses of ANNs:

(1) ANNs often converge on local minima rather than global minima, meaning that they are essentially "missing the big picture" sometimes (or missing the forest for the trees)

(2) ANNs often overfit if training goes on too long, meaning that for any given pattern, an ANN might start to consider the noise as part of the pattern.

SVMs don't suffer from either of these two problems. However, it's not readily apparent that SVMs are meant to be a total replacement for ANNs. So what specific advantage(s) does an ANN have over an SVM that might make it applicable for certain situations? I've listed specific advantages of an SVM over an ANN, now I'd like to see a list of ANN advantages (if any).

4

6 に答える 6

141

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

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

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

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

于 2012-07-24T14:42:44.193 に答える
66

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

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

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

于 2012-11-24T21:03:43.820 に答える
50

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

于 2012-11-24T20:23:53.867 に答える
21

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

範囲が再び I=[0,1] の I=[0,1] に有界関数 f(.) と有界普遍近似があるとします。シーケンスのシーケンスが存在するプロパティ

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

(x,y)そして、分布 D on で例とテストを描きます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 の離散近似がありますが、秒を最小化する必要があります。また、サポートの長さが自由であることを覚えておいてください。

于 2012-11-25T05:39:45.053 に答える
16

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

于 2012-11-25T09:43:13.197 に答える
13

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

于 2012-11-24T19:41:45.213 に答える