SVM (Support Vector Machine) は、機械学習において広く使用される分類器の一つ。

  • データ数の二乗オーダーで計算できる。
  • サポートベクトル以外の点が境界面に影響しないため、外れ値に対してロバスト。 SVM は、線形分類問題に対して高い分類性能を発揮するが、線形分離不可能な問題に対しては、カーネルトリックを使用することで解決することができる。

線形分類問題

線形分類問題は、2つのクラスに属するデータが与えられたときに、そのデータを2つのクラスに分類する問題。
線形分類問題では、2つのクラスを分離する直線や平面を見つけることが目的。

線形分離不可能な問題

しかし、現実の問題には線形分離不可能な問題も存在する。
線形分離不可能な問題は、2つのクラスを分離するための直線や平面を見つけることができない問題。

線形分離不可能な問題を解決するためには、カーネルトリックを使用することができる。

カーネルトリック

カーネルトリックとは、非線形分類問題を解くために、データを高次元空間に写像することで、線形分離可能な問題にする手法。
カーネルトリックを使用することで、高次元空間での計算を低次元空間で行うことができる。

具体的には、カーネル関数を使用して、元の特徴空間から別の特徴空間に写像する。
一般的に使用されるカーネル関数には、線形カーネル、多項式カーネル、ガウスカーネル、シグモイドカーネル、ラプラスカーネルなどがある。
このうち、線形カーネルでは非線形な分類境界は実現できない。

\[\min \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i \alpha_j y_i y_j K(x_i,x_j)-\sum_{i=1}^n \alpha_i\]

制約条件は、

\[\sum_{i=1}^n \alpha_i y_i=0\] \[0 \leq \alpha_i \leq C\]

ここで、 \(\alpha_i\) はラグランジュ乗数、 \(y_i\) はクラスラベル、 C はハイパーパラメータ。

動的基底関数

動的基底関数は、カーネル関数を使用する代わりに、データを動的に変換する手法です。
ニューラルネットワークは、非線形変換を行うことができるため、カーネルトリックと同様に線形分離不可能な問題を解決することができます。

\[k(x, x') = exp(-\frac{||x - x'||^2}{\beta})\]

ソフトマージンSVM

ソフトマージンSVMは、線形分離不可能な問題に対して、ハードマージンSVMよりも柔軟な対応が可能な手法。 ハードマージンSVMでは、訓練データが線形分離可能であることが前提とされていた。
しかし、現実のデータはノイズや外れ値を含むことがあり、線形分離不可能な場合が多い。

ソフトマージンSVMは、ハードマージンSVMと異なり、誤分類を許容することができる。
つまり、訓練データを完全に分離することができなくても、一定の誤分類を許容して最適な決定境界を求めることができる。

ソフトマージンSVMの最適化問題は、次のように表される。

\[\min \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i \alpha_j y_i y_j K(x_i,x_j)-\sum_{i=1}^n \alpha_i\]

制約条件は、

\[\sum_{i=1}^n \alpha_i y_i=0\] \[0 \leq \alpha_i \leq C\]

ここで、 \(\alpha_i\) はラグランジュ乗数、 \(y_i\) はクラスラベル、 \(C\) はハイパーパラメータ。

ソフトマージンSVM では、誤分類されたデータに対して、罰金を課すことで、誤分類を最小化する。
この罰金をスラック変数と呼ぶ。

\[\xi_i=\max(0,1-y_i(w^Tx_i+b))\]

ここで、 \(w\) は分離超平面の法線ベクトル、 \(b\) はバイアス項、 \(y_i\) はクラスラベル。
スラック変数 \(\xi_i\) は、 \(i\) 番目のデータが誤分類された場合に、そのデータに対して課される罰金を表す。

スラック変数を導入したソフトマージンSVM の最適化問題は、次のように表される。

\[\min \frac{1}{2}\left\|w\right\|^2+C\sum_{i=1}^n \xi_i\]

制約条件は、

\[y_i(w^Tx_i+b) \geq 1-\xi_i\] \[\xi_i \geq 0\]

ここで、$C$ はハイパーパラメータであり、スラック変数に対する罰金の度合いを調整する。

ハードマージンSVM

ハードマージンSVMは、線形分類問題に対して、最適な分離超平面を求める手法。

\[\min \frac{1}{2}\left\|w\right\|^2\]

制約条件は、

\[y_i(w^Tx_i+b) \geq 1\]

ここで、 \(w\) は分離超平面の法線ベクトル、 \(b\) はバイアス項、 \(y_i\) はクラスラベル。 ハードマージンSVMは、訓練データが線形分離可能であることが前提。