next up previous
次へ: カーネルマシンの一般性 上へ: 正則化とソフトマージン 戻る: 正則化

ソフトマージン

さて,SVM に戻って考えよう. 線形分離可能でない場合には,誤識別されるサンプルが存在する. そこで,そのようなサンプル $(\mbox{\boldmath$x$}_i, y_i)$ に対して 損失関数 $R_{\rm emp}(\mbox{\boldmath$x$}_i,y_i,f_w(\mbox{\boldmath$x$}_i))$ を定義することにする. そして,線形分離の場合の最適化関数 $\Vert\mbox{\boldmath$w$}\Vert^2$ を正則化の罰金項として 付け加えた次の正則化法を考える.

\begin{displaymath}
\mathop{\mbox{minimize }}_{\mbox{\boldmath$w$}} {1\over n}\...
...x{\boldmath$x$}_i)) + \lambda \Vert\mbox{\boldmath$w$}\Vert^2.
\end{displaymath}

これを解いて得られる識別器をソフトマージンSVMという. $\lambda$ の値をどんどん小さくしてい くと誤識別サンプルに無限の損失を与えることに相当し,ハードマージン SVM に近づく.

さて,ソフトマージンではどのような損失関数を定義するかによって 種々のアルゴリズムが得られる. 損失関数として自然なのは,0-1 損失 すなわち正解すれば 0 で不正解なら 1 というものであるが,一般にそのような 凸でない損失関数は最適化が難しい. そこで,0-1 損失を 凸な関数で近似するようなものが用いられることが多い. 最も代表的なものは, 区分線形関数 $R_{\rm emp}(\mbox{\boldmath$x$}_i,y_i,f_w(\mbox{\boldmath$x$}))=\max \{0, 1-y_i f_w(\mbox{\boldmath$x$}_i)\}$ である. これを使うと,線形分離の場合の SVM の最適化 (3)で制約を

\begin{displaymath}
0\le\alpha_i\le {1\over2\lambda n}
\end{displaymath}

と変更するだけでよく,ハードマージン SVM が持っている特長をそのまま 引き継ぐことができる.



Shotaro Akaho 平成15年7月18日