ハードマージンSVMの損失関数とは何ですか?


23

人々はソフトマージンSVMはヒンジ損失関数を使用すると言います:。ただし、ソフトマージンSVMが最小化しようとする実際の目的関数は、 \ frac {1} {2} \ | w \ | ^ 2 + C \ sum_i \ max(0,1-y_i(w ^ \ intercal x_i + b)です。 ) 一部の著者は、\ | w \ | ^ 2項正則化および\ max(0,1-y_i(w ^ \ intercal x_i + b))項損失関数を呼び出します。max(0,1yi(wxi+b))

12w2+Cimax(0,1yi(wxi+b))
w2max(0,1yi(wxi+b))

ただし、ハードマージンSVMの場合、目的関数全体はちょうど

12w2
。これは、ハードマージンSVMが損失関数なしで正則化のみを最小化することを意味しますか?それは非常に奇妙に聞こえます。

まあ、あれば12w2、この場合の損失関数である、我々は二次損失関数を呼び出すことができますか?もしそうなら、なぜハードマージンSVMの損失関数はソフトマージンSVMで正則化され、二次損失からヒンジ損失に変化するのですか?


私の理解では、ハードマージンとは、マージンにデータを受け入れないことを意味します。その結果、最大(0、計算)は常に0を返します
FXM

回答:


26

ソフトマージンSVM のヒンジ損失項imax(0,1yi(wxi+b))誤分類にペナルティを科します。ハードマージンSVMには、定義上、誤分類はありません。

これは確かに、ハードマージンSVMが\ | \ mathbf {w} \ | ^ 2を最小化しようとすることを意味しw2ます。SVM問題の定式化により、マージンは2/w。そのため、\ mathbf {w}のノルムを最小化wすることは、マージンを最大化することと幾何学的に同等です。まさに私たちが欲しいもの!

正則化は、解ベクトルの大きな係数にペナルティを課すことにより、過剰適合を回避する手法です。ハードマージンSVMで損失関数の両方である正則。w2L2

ソフトマージンSVMにおいて、ヒンジ損失用語はまた、正則ような代わりのスラック変数に作用とでなく。正則化はスパース性を誘発します。これが、標準SVMがサポートベクトルの観点からスパースである理由です(最小二乗SVMとは対照的)。wL1L2L1


最後の2つの段落について、さらに詳細と数学を説明できますか?
ナイン

0

明確にするために、 は、点が線形に分離可能であるという制約に従って最小化されます(つまり、2つを完全に分離する超平面を描くことができます)。言い換えると、解として考えることができるwの唯一の許容値は、2つの点のセットを分離する値です。

12w2

現在、ハードマージンSVMはソフトマージンよりも容易に「オーバーフィット」すると考えられています。これは、十分に高いを備えたRBF SVMを使用すると想像しやすくなります。マージンが高ければ高いほど(「C」が高くなると不正確にエミュレートされます)、2セットのポイントを完全に分類する決定境界を見つけるのが難しくなります。γ

「ソフトマージン」に移行すると、制約が緩和され、「スラック」の導入による制約に置き換えられます。このスラック変数は、「ヒンジ損失」項で定義されます。単純化した後、誰もがSVMに関連する損失条件のように、ヒンジ+ l2に到達します。FWIW、私はSVMを、遍在する「勾配に従う」問題ではなく、より最適化の問題としてフレーム化するのが好きです。

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