2017-11-24 1 views
0

私はSVM(サポートベクターマシン)を学んでいる:私はweigth wとhyperplan方程式を見つける方法を知っている(線形分離、原初の場合)なぜSVMのマージンを計算するのですか?

が、私たちは推測することができる場合:あいまいなまま、いくつかのポイントがありますそれからのサポートベクトル、なぜ我々はマージンを計算するのですか?最初に何を計算する必要がありますか?その場合 ?

1/||w|| 

他の人では、このようながら:

私は余裕がこのようにcaculatedされていることをいくつかexemplesで見た

(それらの混合質問のため申し訳ありませんが、私は本当にそれで迷ってしまいました)

2/||w|| 

この2つのケースの違いは何ですか? SVMの

おかげ

+0

SVMの要点は、マージンを最大にする超平面を記述する重みを見つけることです。したがって、マージンを使用してそれらの重みを見つけるのは最適化の問題です。 – Pedrom

+0

これらのウェイトを見つけるためにマージンを使用する方法はありますか? –

答えて

1

最適化の目的は、我々は超平面との最大のマージンを持っているようにB、W軽減することです。

数学的に言えば、 は、ラグランジュ乗数を使用してKKT(Karush-Kunn-Tucker)条件によって解かれる非線形最適化タスクです。

次のビデオでは、これは直線的に分離可能な場合、これが計算される。またどのようhttps://www.youtube.com/watch?v=1NxnPkZM9bc

が線形と原始例の両方のために、ここで説明した方が良いために簡単な言葉で説明しています。

https://www.csie.ntu.edu.tw/~cjlin/talks/rome.pdf

0

分離超平面とSVMのクラス境界との間のマージンは、このアルゴリズムの本質的な特徴です。

(1) w^tx+b>=1, if y=1(2) w^tx+b<=-1, if y=-1の2つの超平面を参照してください。これは、ラベルy=1を持つどのベクトルも、超平面の上または下にエーテルを置かなければならないことを示しています(1)。ラベルy=-1と超平面(2)の場合も同様です。

注:これらの要件が満たされる場合、暗黙的に、データセットが線形に分離可能であることを意味します。このようなマージンを構築できないため、これは理にかなっています。

SVMが見つけようとしているのは、(1)(2)の中間にある決定境界です。この境界を(3) w^tx+b=0と定義しましょう。ここで見られるのは、同じパラメータwbを共有しているため、(1),(2)(3)はパラレル・ハイパープレーンです。パラメータwは、それらの面の方向を保持します。ベクトルは常に方向と大きさ/長さを持ちます。

問題は次のとおりです。超平面をどのように計算できますか(3)?式(1)(2)は、ラベルy=1(3)に最も近いベクトルが、超平面(1)に正確にあるため、(1)は、xの場合はw^tx+b=1になります。同様のことは、負のラベルを持つ最も近いベクトルと(2)に適用されます。平面上のこれらのベクトルは「サポートベクトル」と呼ばれ、もう1つは、単純にサポートベクターについて(1)から(2)を減算して取得することができますので、決定境界(3)は、それらに依存します。

w^tx+b-w^tx+b=1-(-1) => wt^x-w^tx=2 

注:二つの平面のためxがあります異なるサポートベクター。

ここではwの方向を取得したいと考えていますが、(3)と他のプレーンの間の最短距離を得るには長さを無視します。この距離は、(3)から他のものまでの垂直線分です。そうするために、wの長さで除算して、(3)に垂直なノルムベクトルを得ることができ、したがって(wt^x-w^tx)/||w||=2/||w||。左のサイトを無視すると(等しい)、2つの平面間の距離は実際には2/||w||であることがわかります。この距離は最大化する必要があります。

編集: 他の人がここで述べるように、これは原始SVMの最適化問題の凸形である用語 1/2 ||w||^2 s.t. y(w^tx+b)>=1 を最小限に抑えるためにラグランジュ乗数やSMOアルゴリズムを使用します。

関連する問題