SV分類の特徴は、マージンを最大化するように決定関数を決定することにある。

そして、そのマージンの取り方には二つのやり方があり、一つがハードマージン、もう一つがソフトマージンだ。

ハードマージンは、決定関数を訓練するにあたって使用するデータが、クラスを完全にスパッと分けられる、いわゆる分類可能な場合に使用する。

一方、ソフトマージンは、訓練データが分類可能でない場合に使用する。そのため、一般的に得られるデータを考えれば、ソフトマージンのほうが重要となってくるだろう。

分類問題

分類したいデータがあるとしよう。たとえば、犬と猫の写真が合わせて\(n\)枚あるとする。

そして、その画像の各ピクセル値をベクトル化して入力変数\(\textbf{x}_i\)、犬か猫で1か‐1を割り振れたものを出力変数\(y_i\)とすればれっきとした訓練データ\(\{\textbf{x}_i, y_i\}\)の完成だ。

ハードマージン

ハードとは、きびしいということ。つまり、ハードマージンとは制限がきついマージンということだ。

まあ、今回は、いろいろと説明するのはめんどくさいので、いろいろとすっ飛ばして、最適化するべき関数だけを示すことにする。またの機会にまとめます。ごめんね。

$$\min_{\textbf{w},b} ||\textbf{w}||^2$$

そして、制約式が

$$s.t.\quad y_i(\textbf{w}^T \textbf{x}_i + b) \geq 1 \quad i\in[n]$$

ソフトマージン

ハードマージンにおける最適化関数と制約式に対して、ソフトマージンでは制約を弱めるための項を加えることで、ソフトなマージンを実現します。

$$\min_{\textbf{w},b,\xi} \frac{1}{2}||\textbf{w}||^2 + C\sum_{i\in[n]} \xi_i$$

制約式

$$s.t.\quad y_i(\textbf{w}^T \textbf{x}_i + b) \geq 1 – \xi_i \quad i\in[n]$$

$$\xi_i \geq 0 \quad i\in[n]$$

定式化できればあとは最適化するだけ

上記で、SVMで重要な式を示しました。

定式化できればあとは最適化するだけですね。。。。

とはいっても、実際どうすんだい、ということになるでしょう。

まあ、私もあんまりわかっていないのですが、線形計画法や勾配法やらの話になってくると思います。間違っていたらすみません。また勉強します。