web-dev-qa-db-ja.com

SVM-機能マージンとは何ですか?

幾何学的マージンは、特定のx(データポイント)からハイパーレーンまでのユークリッド距離です。

機能的マージンとは何かについての直感的な説明は何ですか?

注:ここでも同様の質問が行われていることに気付きました: SVMの機能マージンを理解する方法は?

しかし、そこで与えられた答えは方程式を説明していますが、その意味は説明していません(私が理解したように)。

17
Cheshie

「幾何学的マージンは、特定のx(データポイント)からハイパーレーンまでのユークリッド距離です。」

それが幾何学的マージンの適切な定義ではないと思います。それがあなたを混乱させていると思います。幾何学的マージンは、機能的マージンの単なるスケーリングバージョンです。

特定のポイントが適切に分類されているかどうかを示すテスト関数と同じように、機能マージンを考えることができます。そして、幾何学的マージンは、|| w ||によってスケーリングされた機能的マージンです。

式を確認すると、次のようになります。

enter image description here

ラベルとは関係なく、結果は適切に分類されたポイント(sig(1 * 5)= 1およびsig(-1 * -5)= 1など)では正であり、それ以外の場合は負であることがわかります。それを|| w ||でスケーリングすると次に、幾何学的なマージンがあります。

なぜ幾何学的マージンが存在するのですか?

マージンを最大化するには、記号だけでなく、大きさの概念が必要です。関数マージンは数値を示しますが、参照がないと、ポイントが実際に遠くにあるか近くにあるかを判断できません。決定面。幾何学的マージンは、ポイントが適切に分類されているかどうかだけでなく、| w |の単位で表したその距離の大きさも示しています。

34
Pedrom

enter image description here

機能マージンは正確さを表します。超平面に直交するベクトル(w ^ T)の大きさが常に同じ値のままである場合、予測の信頼性。

正確には、wx + bが負の場合はyが-1であり、wx + bが正の場合はyが1であるため、関数マージンは常に正である必要があります。マージンが負の場合、サンプルは間違ったグループに分割する必要があります。

自信を持って、機能マージンは2つの理由で変化します:1)サンプル(y_iとx_i)が変化する、または2)超平面に直交するベクトル(w ^ T)がスケーリングされる(スケールwとb)。超平面に直交するベクトル(w ^ T)が常に同じである場合、その大きさがどれほど大きくても、点が右側にグループ化される自信を判断できます。その機能マージンが大きいほど、ポイントが正しく分類されていると言える自信があります。

ただし、機能マージンは、超平面に直交するベクトル(w ^ T)の大きさを同じに保たずに定義され、上記で定義された幾何学的マージンになります。機能的マージンは、トレーニング例の幾何学的マージンを取得するために、wの大きさの大きさによって正規化されます。この制約では、幾何学的マージンの値はサンプルからのみ得られ、超平面に直交するベクトル(w ^ T)のスケーリングからは得られません。

幾何学的マージンは、パラメーターの再スケーリングに対して不変です。これは、幾何学的マージンと機能的マージンの唯一の違いです。

編集:

機能的マージンの導入は2つの役割を果たします:1)幾何学的マージンの最大化を直感的に理解し、2)幾何学的マージン最大化の問題を超平面に直交するベクトルの大きさの最小化に変換します。

パラメータwとbをスケーリングしても意味がなく、パラメータは関数マージンと同じ方法でスケーリングされるため、|| w ||を任意に作成できれば1(結果として幾何学的マージンが最大化)になるように、パラメーターを再スケーリングして、パラメーターを対象にすることもできます。 機能マージンは1次に最小化|| w ||)。

5
Lerner Zhang

チェック Andrew Ngの講義ノート SVMの講義3から(このサイトでmathjax/TeXなしで入力しやすくするために表記が変更されました):

「機能的マージンと幾何学的マージンの概念を形式化しましょう。トレーニング例(x_i, y_i)を前提として、トレーニング例に関して(w, b)の機能マージンを定義します。

gamma_i = y_i((w ^ T)x_i + b)

y_i > 0の場合、機能マージンを大きくするには(つまり、予測が信頼できて正しいため)、(w^T)x + bを大きな正の数にする必要があることに注意してください。逆に、y_i < 0の場合、機能マージンを大きくするには、(w^T)x + bを大きな負の数にする必要があります。また、

y_i((w ^ T)x_i + b)> 0

この例での予測は正しいです。 (これを自分で確認してください。)したがって、大きな機能マージンは、自信を持って正しい予測を表します。」

講義3のページ3 PDF上記の資料ページにリンクされています。

3
ely