SVMとパーセプトロンの違い


29

SVMとパーセプトロンの違いに少し混乱しています。ここで私の理解を要約してみましょう。私が間違っている箇所を修正し、見落としたことを記入してください。

  1. パーセプトロンは、分離の「距離」を最適化しようとしません。2つのセットを分離する超平面を見つける限り、それは良いことです。一方、SVMは「サポートベクトル」、つまり、最も近い2つの最も近いサンプルポイント間の距離を最大化しようとします。

  2. SVMは通常、「カーネル関数」を使用してサンプルポイントを高次元空間に射影し、線形分離可能にしますが、パーセプトロンはサンプルポイントを線形分離可能と想定します。


回答:


18

それは私に聞こえます。人々は、「パーセプトロン」という単語を使用して、分類アルゴリズムとともにトレーニングアルゴリズムを指すこともあります。たとえば、この質問への回答で誰かがこれを説明してくれました。また、パーセプトロンでカーネルを使用することを妨げるものは何もありません。これは多くの場合、より優れた分類器です。カーネルパーセプトロンの実装方法に関するスライド(pdf)については、こちらをご覧ください。

(カーネル)パーセプトロンとSVMの主な実際的な違いは、パーセプトロンをオンラインでトレーニングできることです(つまり、新しいサンプルが1つずつ到着するときに重みを更新できる)が、SVMはできません。SVMをオンラインでトレーニングできるかどうかについては、この質問を参照してください。そのため、通常はSVMの方が優れた分類器ですが、パーセプトロンは安価であり、新鮮なトレーニングデータが常に到着する状況で再トレーニングが容易であるため、依然として有用です。


3
SVMはオンラインでトレーニングできます。デュアルソリューションから対応する原初を取得し、これから確率論的な方法で重みを更新できます。
ファイアバグ


4

SVM:

minw2+Ci=1n(1yi(wxi+w0))+
パーセプトロン
mini=1n(yi(wxi+w0))+

SVMの目標はL2正規化パーセプトロンとほぼ同じであることがわかります。

w2

パーセプトロンがオンライン更新を許可するのはなぜですか?ヒンジ損失の勾配降下更新規則が表示される場合(ヒンジ損失はSVMとパーセプトロンの両方で使用されます)、

wt=wt1+η1Ni=1NyixiI(yiwtxi0)

すべての機械学習アルゴリズムは、損失関数と最適化アルゴリズムの組み合わせとみなすことができるためです。

パーセプトロンはヒンジ損失(損失関数)+確率的勾配降下(最適化)以下

wt=wt1+yy+1xt+1I(yt+1wtxt+10)

また、SVMは、ヒンジ損失+ l2正則化(損失+正則化)+二次計画法、またはSMO(最適化)などの他の手の込んだ最適化アルゴリズムとして見ることができます。


-1

パーセプトロンはSVMの一般化であり、SVMは最適な安定性を持つパーセプトロンです。したがって、パーセプトロンが分離距離を最適化しようとしないと言うのは正しいことです。

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