サポートベクターマシン(SVM)はどのように機能しますか?


108

サポートベクターマシン(SVM)の仕組みと、線形パーセプトロン線形判別分析ロジスティック回帰などの他の線形分類器との違いは何ですか?*

(* アルゴリズム、最適化戦略、一般化機能、および実行時の複雑さの根本的な動機の観点から考えています



回答:


126

サポートベクターマシンは、区別するのが最も難しいポイントにのみ焦点を当てていますが、他の分類器はすべてのポイントに注意を払っています。

サポートベクターマシンアプローチの背後にある直感は、分類器が最も難しい比較(図2で互いに最も近いBとAのポイント)に優れている場合、分類器は簡単な比較でさらに優れていることです(互いに離れているBとAのポイントを比較する)。

パーセプトロンと他の分類器:

パーセプトロンは、一度に1つのポイントを取得し、それに応じて分割線を調整することによって構築されます。すべてのポイントが分離されると、パーセプトロンアルゴリズムは停止します。しかし、それはどこでも停止する可能性があります。図1は、データを区切るさまざまな分割線があることを示しています。パーセプトロンの停止基準は単純です:「ポイントを分離し、100%分離されたらラインの改善を停止します」。パーセプトロンは、最適な分離線を見つけるように明示的に指示されていません。ロジスティック回帰および線形判別モデルは、パーセプトロンと同様に構築されます。

最適な分割線は、Aに最も近いBポイントとBに最も近いAポイント間の距離を最大化します。これを行うためにすべてのポイントを見る必要はありません。実際、遠くにあるポイントからのフィードバックを組み込むと、以下に示すように、ラインが少し離れすぎます。

ここに画像の説明を入力してください

サポートベクターマシン:

他の分類器とは異なり、サポートベクターマシンは、最適な分離線を見つけるように明示的に指示されます。どうやって?サポートベクターマシンは、「サポートベクター」と呼ばれる最も近いポイント(図2)を検索します(「サポートベクターマシン」という名前は、ポイントがベクターのようなものであり、最適な線が「依存する」またはは、最も近いポイントで「サポート」されています)。

最も近いポイントが見つかると、SVMはそれらを接続する線を描画します(図2の「w」というラベルの線を参照)。ベクトル減算(ポイントA-ポイントB)を行うことにより、この接続線を描画します。次に、サポートベクターマシンは、最適な分離線を、接続線を二等分する、つまり垂直な線として宣言します。

サポートベクターマシンは、新しいサンプル(新しいポイント)を取得するときに、BとAを可能な限り互いに離す線をすでに作成しているため、波及する可能性が低いため、より優れています。相手の領土への線。

ここに画像の説明を入力してください

私は自分自身を視覚的な学習者と考えており、サポートベクターマシンの背後にある直感に長い間苦労しました。SVM ClassifiersのDuality and Geometryと呼ばれる論文は、ついに光を見るのに役立ちました。そこで画像を取得しました。


4
別の視覚学習者からの+1!読者のために、上図で明らかなこれらの境界は、既に変換されたデータセットに基づいていることに注意したいと思います。生データセットではありません。
-Kingz

2年以上svmを読んで、今日は分離線がどのように識別されるかを理解し、さらにいくつかのことを理解しました。きれいな答えをありがとう。
user123

53

Ryan Zottiの答えは、決定境界の最大化の背後にある動機を説明します。carlosdcの答えは、他の分類器との類似点と相違点を示します。この回答では、SVMのトレーニング方法と使用方法の数学的概要を簡単に説明します。

表記法

以下では、スカラーはイタリック体の小文字(例:)、ベクトルは太字の小文字(例:)、およびイタリック体の大文字(例:)。はとの転置です 。y,bw,xwの= W T WWwTww=wTw

させてください:

  • xXR nは n個は特徴ベクトル(つまり、SVMの入力)です。、ここでは特徴ベクトルの次元です。xRnn
  • yのy { - 1 1 }はクラス(つまり、SVMの出力)です。、つまり分類タスクはバイナリです。y{1,1}
  • w bとはSVMのパラメーターです。トレーニングセットを使用して学習する必要があります。b
  • (x(i),y(i))i 番目の Nでありデータセット内のサンプル。トレーニングセットにサンプルがあると仮定します。ithN

では、以下のように、1は、SVMの決定境界を表すことができます。n=2

ここに画像の説明を入力してください

クラスは次のように決定されます。y

y(i)={1 if wTx(i)+b11 if wTx(i)+b1

より簡潔に書くことができます。y(i)(wTx(i)+b)1

ゴール

SVMは、2つの要件を満たすことを目的としています。

  1. SVMは、2つの決定境界間の距離を最大化する必要があります。数学的には、これはで定義される超平面と定義される超平面の間の距離を最大化することを意味します。この距離はと等しくなります。これは、を解くことを意味します。同様に、 です。wTx+b=1wTx+b=12wmaxw2wminww2

  2. SVMはすべてのも正しく分類する必要があります。つまり、x(i)y(i)(wTx(i)+b)1,i{1,,N}

これは、次の2次最適化問題につながります。

minw,bw2,s.t.y(i)(wTx(i)+b)1i{1,,N}

これはハードマージンSVMです。この2次最適化問題は、データが線形に分離可能である場合に解を認めるからです。

いわゆるスラック変数 導入することにより、制約を緩和できます。トレーニングセットの各サンプルには独自のスラック変数があることに注意してください。これにより、次の2次最適化問題が得られます。ξ(i)

minw,bw2+Ci=1Nξ(i),s.t.y(i)(wTx(i)+b)1ξ(i),i{1,,N}ξ(i)0,i{1,,N}

これがソフトマージンSVMです。は、エラー項のペナルティと呼ばれるハイパーパラメーターです。(線形カーネルを使用したSVMでのCの影響は?およびSVM最適パラメーターを決定するための検索範囲は?C

元の特徴空間をより高次元の特徴空間にマッピングする関数を導入することにより、さらに柔軟性を追加できます。これにより、非線形の決定境界が可能になります。二次最適化の問題は次のようになります。ϕ

minw,bw2+Ci=1Nξ(i),s.t.y(i)(wTϕ(x(i))+b)1ξ(i),i{1,,N}ξ(i)0,i{1,,N}

最適化

二次最適化問題は、ラグランジュ双対問題と呼ばれる別の最適化問題に変換できます(前の問題はprimalと呼ばれます)。

maxαminw,bw2+Ci=1Nα(i)(1wTϕ(x(i))+b)),s.t.0α(i)C,i{1,,N}

この最適化の問題は、(いくつかの勾配を設定することにより)単純化できます:0

maxαi=1Nα(i)i=1Nj=1N(y(i)α(i)ϕ(x(i))Tϕ(x(j))y(j)α(j)),s.t.0α(i)C,i{1,,N}

wは(代表定理で述べられているように)。w=i=1Nα(i)y(i)ϕ(x(i))

したがって、トレーニングセットのを使用してを学習します。α(i)(x(i),y(i))

(FYI:SVMをフィッティングするときに二重の問題に悩まされるのはなぜですか?簡単な答え:より高速な計算+カーネルトリックの使用が可能になります。

予測をする

一旦学習され、一方が特徴ベクトルと新しいサンプルのクラスを予測することができる次のようにα(i)xtest

ytest=sign(wTϕ(xtest)+b)=sign(i=1Nα(i)y(i)ϕ(x(i))Tϕ(xtest)+b)

合計は、すべてのトレーニングサンプルを合計する必要があることを意味しますが、圧倒的多数のは(なぜSVMのラグランジュ乗数はまばらですか?)そのため、実際には問題になりません。(すべての特別なケースを構築できることに注意してください。)がサポートベクトルである場合、。上の図には3つのサポートベクターがあります。i=1Nα(i)0α(i)>0α(i)=0x(i)

カーネルトリック

最適化問題では、内積のみ使用されることがわかります。マッピング関数内積には、カーネル呼ばれ、多くの場合示されます。ϕ(x(i))ϕ(x(i))Tϕ(x(j))(x(i),x(j))ϕ(x(i))Tϕ(x(j))k

内積の計算が効率的になるようにを選択できます。これにより、低い計算コストで潜在的に高い機能空間を使用できます。これはカーネルトリックと呼ばれます。カーネル関数を有効にする、つまりカーネルトリックで使用できるようにするには、2つの重要なプロパティを満たす必要がありますから選択する多くのカーネル関数が存在します。補足として、カーネルトリックは他の機械学習モデルに適用される場合があり、その場合はカーネル化されたと呼ばれます。k

もっと遠く行く

SVMに関するいくつかの興味深いQA:

その他のリンク:


参照:


2
こんにちは、フランク、回答ありがとうございます。ベクトルがSVMが生成する超平面に直交する理由を説明していただけますか?そして、2つの決定境界間の距離をと等しくなるようにどのように計算しましたかw2w
tosik

3
この素晴らしい答えに加えて、SVMの背後にある数学について説明し、特に@tosikがコメントしたyoutube.com/watch?v=_PwhiWxHK8o
ニコラスリーブル

とてもいい答えです。この部分に関しては、がサポートベクトルである場合に限り、ます。分類の場合、合計は事実上サポートベクトル(つまり、)上にあります。X I α I 0α(i)=0x(i)α(i)0
989

13

他の分類器との類似点と相違点に焦点を当てます。

  • パーセプトロンから:SVMはヒンジ損失とL2正則化を使用し、パーセプトロンはパーセプトロン損失を使用し、正則化に早期停止(または他の手法の中で)を使用できます。パーセプトロンには正則化の用語はありません。正則化の用語がないため、パーセプトロンはオーバートレーニングされることになります。したがって、一般化機能はthe意的に悪い場合があります。最適化は確率的勾配降下法を使用して行われるため、非常に高速です。良い面として、このペーパーは、わずかに修正された損失関数で早期停止を行うことにより、パフォーマンスがSVMと同等になる可能性があることを示しています。

  • ロジスティック回帰から:ロジスティック回帰はロジスティック損失項を使用し、L1またはL2正則化を使用できます。ロジスティック回帰は、生成的ナイーブベイの差別的な兄弟と考えることができます。

  • LDAから:LDAは生成アルゴリズムと見なすこともでき、確率密度関数(p(x | y = 0)およびp(x | y = 1)が正規分布していると仮定します。これは、データがただし、「トレーニング」には大きな行列の反転が必要になるという欠点があります(多くの機能がある場合)。ホモセダスティック性の下では、LDAはQDAになり、正規分布データに最適なベイズになります。前提は満たされているので、これ以上のことはできません。

実行時(テスト時)にモデルがトレーニングされると、これらすべての方法の複雑さは同じになります。これは、トレーニング手順で見つかった超平面とデータポイント間の単なる内積です。


1
あなたはSVMに非常に有能であるように見えるので、疑問を明確にするようお願いします。最高の分離超平面を見つけたら、それを何に使うのでしょうか?SVMは、最初にデータポイントを正しく分類するために最適な超平面を選択し、次に、この超平面を使用して2つのクラスの新しいデータポイントを切断する方法として定義できます。右?(私は2番目の部分にいくつかの疑いがある)
DavideChicco.it

1
@ DavideChicco.itはい、インディケーター関数を使用して新しいデータを分類できます。これは多くの場合、分類器の主な目的です。(しかし、これについて私の言葉を受け取らないでください、私はそれのすべてに新しいです)。
キーサー

12

この手法は、可能な限り最初の正と負の例に十分なマージンを残して、決定境界線を引くことに基づいています。

ここに画像の説明を入力してください

上の図のように、ような直交ベクトルを選択すると、未知の例決定基準を確立して、形式の正としてカタログ化できます。w=1u

wuC

通りの中央の決定線を超えて投影を配置する値に対応します。その気付く。wu=uw

陽性サンプルの等価条件は次のとおりです。

(1)wu+b0

C=b.

私たちは、必要なおよび決定ルールを持つこと、そしてそこに私たちに必要な取得するために制約をbw

第1の制約我々は課すしようとしているが、その任意の正のサンプルのため、。そして陰性サンプルについて、。分割境界または超平面(中央値)では、値はになりますが、側溝の値はおよびます。x+,wx++b101wx+b1011

ここに画像の説明を入力してください

ベクトルは重みベクトルであり、はバイアスです。wb


これら2つの不等式をまとめるために、変数導入して、正の例ではに、例が負の場合には、yiyi=+1yi=1

yi(xiw+b)10.

だから我々は、これがゼロよりも大きくなければならないことを確立、しかし一例)はこの場合ラインには、意思決定超平面とサポートベクトルの先端間の分離のマージンを最大化する超平面(「ガター」)上にある場合、その後:

(2)yi(xiw+b)1=0

これは、を要求することと同等であることに注意してくださいyi(xiw+b)=1.

ここに画像の説明を入力してください


2番目の制約:決定超平面からサポートベクトルの先端までの距離が最大化されます。言い換えると、分離余白(「ストリート」)が最大化されます。

ここに画像の説明を入力してください

決定境界に垂直な単位ベクトルを想定すると、2つの「境界」プラスとマイナスの例の差をもつドット積は、「通り」の幅になりますw

width=(x+x)ww

上記の方程式で、と溝にあります(分離を最大化する超平面上)。したがって、正の例の場合:または ; そして負例えば:。したがって、通りの幅を再定式化する:x+x (xiw+b)1=0x+w=1bxw=1b

width=(x+x)ww=x+wxww=1b(1b)w(3)=2w

だから今、私たちはちょうど通りの幅を最大化しなければならない-つまり、最大限 最小限、または最小化:2w,w

(4)12w2

これは数学的に便利です。


だから私たちはしたい:

  1. 制約を使用してを最小化します。x2

  2. yi(wxi+b)1=0


いくつかの制約に基づいてこの式を最小化するため、ラグランジュ乗数が必要です(式2と4に戻ります)。

(5)L=12w2λi[yi(xiw+b)1]

差別化、

Lw=wλiyixi=0

したがって、

(6)w=λiyixi

そして、に関して差別化するb:

Lb=λiyi=0,

これは、乗数とラベルのゼロサム積があることを意味します。

(7)λiyi=0

式(6)を式(5)に戻すと、

L=12(λiyixi)(λjyjxj)(λiyixi)(λjyjxj)λiyib+λi

式(7)に従って、最後から2番目の項はゼロです。

したがって、

(8)L=λi12ijλiλjyiyjxixj

式(8)は最後のラグランジアンです。

したがって、最適化は例のペアの内積に依存します。

上記の式(1)の「決定ルール」に戻り、式(6)を使用します。

(9)λiyixiu+b0

新しいベクトルの最終決定ルールになりますu.


オリジナルはありません...もっとエントリーレベルで自分のノートだけ。基本的には、MITのこのビデオから、自分のイラストを使って エラーについては、私に知らせてください。洞察力に富んだ回答、および詳細については、エキスパートレベル(Franckの投稿など)をご覧ください。
アントニ・パレラダ

そして、どのようにbを計算しますか?
マイク

1
@マイクとサポートベクトルのインデックスの集合であるここで見つけることができます。b=ysmSαmymxmxsS(αi>0).
アントニ・パレラダ

@AntoniParellada素晴らしい回答Antoniに感謝します-しかし、デュアル問題とKTT条件の一部を見逃していませんか?
ザビエルバレットシコット

@XavierBourretSicotte私はしばらくそれを扱うことができません。これらの問題に触れる別の答えを書くことを検討してください。もしそうなら、私に知らせてください。私はそれを認識し、それを支持することができます。
アントニ・パレラダ

3

双対性とKTT条件に関するいくつかのコメント

根本的な問題

式と間にある@Antoniの投稿から、元の(または主)最適化問題が次の形式であることを思い出してください。(4)(5)

minw,bf(w,b)=minw,b 12||w||2s.t.  gi(w,b)=y(i)(wTx(i)+b)+1=0

ラグランジュ法

ラグランジュ乗数法を使用すると、制約付き最適化問題を次の形式の制約なしのものに変換できます。

L(w,b,α)=12||w||2imαi[y(i)(wTx(i)+b)1]

ここで、 はラグランジアンと呼ばれ、はラグランジアン乗数と呼ばれます。 L(w,b,α)αi

私たちの原初のラグランジュとの最適化問題は次のようになります:(の使用に注意、我々はまた、使用する必要があるとして、最も厳格ではありませんと ...こちら)minmaxinfsup

minw,b(maxαL(w,b,α))

二重問題

@AntoniとProf. Patrick Winstonの導出で行ったことは、最適化関数と制約が次のような技術条件を満たしていることを前提としています。

minw,b(maxαL(w,b,α))=maxα(minw,bL(w,b,α))

これにより、およびに関しての偏微分を取得し、ゼロに等しい結果を元のラグランジアン方程式にプラグインして、等価なものを生成できます。フォームの二重最適化問題L(w,b,α)wb

maxαminw,bL(w,b,α)maxαimαi12i,jmy(i)y(j)αiαj<x(i)x(j)>s.t. αi0s.t. imαiy(i)=0

双対性とKTT

過度の数学専門的に行くことなく、これらの条件は、双対性とKarushクーン・タッカー(KTT)の条件の組み合わせであり、私たちが解決できるようにする二重の代わりに問題原初の最適解が同じであることを保証しながら、ものを。この場合、条件は次のとおりです。

  • 主目的関数と不等式制約関数は凸でなければなりません
  • 等式制約関数はアフィンでなければなりません
  • 制約は厳密に実行可能でなければなりません

次にが存在します。これらは、主問題と双対問題の解決策です。さらに、パラメーターは以下のKTT条件を満たします。w,αw,α

wiL(w,α,β)=0(A)βiL(w,α,β)=0(B)αigi(w)=0(C)gi(w)0(D)αi0(E)

さらに、一部のがKTTの解を満たしている場合、それらは主問題および双対問題の解でもあります。w,α

上記の式は特に重要であり、二重相補性条件と呼ばれます。これは、場合、あることを意味しますこれは、制約が有効であることを意味します。これは、不等式制約が等式制約に変換されるアントニの導出における方程式背後にある説明です。α * I > 0 gでIワット*= 0 グラムIW 0 2 (C)αi>0gi(w)=0gi(w)0(2)

直感的だが非公式の図

ここに画像の説明を入力してください

ソース


2
どうもありがとうございました。私はそれをすぐに読んで、後でより多くの時間を経てそれに戻りますが、それは素晴らしく聞こえ、私の答えの欠けている点に触れます。
アントニ・パレラダ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.