サポートベクターマシンにはハードマージン/ソフトマージンという分類があります。訓練データが線形分離可能であるという前提をおいたものをハードマージン、そうでないものをソフトマージンと呼びます。まずはハードマージンを見ていきます。下図はサポートベクターマシンで分類問題を解いた結果例です。緑色で強調した点がサポートベクトルと呼ばれる点です。分類境界を作っているのはこのサポートベクトルのみであり、その他の点は境界に一切影響しないのが特徴です。
分類境界がで与えられるとすれば、訓練データ点と境界までの距離は、直線と点の距離より、
です。
問題の前提をハードマージン、つまり訓練データが線形分離可能としていますから、データのラベルをとすれば常にとなります。また、をかけても大きさは変わりませんから、
のように絶対値を外すことができます。
最大マージン分類器で書いた通り、サポートベクターマシンは、分類境界と最も近い点との距離(マージン)を最大にするような分類境界を求めることが目標です。マージンが最大となるは、
です。ややこしいですが、内側のは、分類境界と最も近い番目のベクトルを指し、このようなベクトルが境界から最も遠くなるを選ぶというのが式(3)の意味です。まあ要するにマージンを最大化するということです。
ここで、、とすると、式(2)の右辺は
となり、結局距離は変わりません。によって任意にをスケーリングできるわけですから、境界に最も近い点に対して、
となるようにを選ぶことができます。これを式(3)に代入すれば、
となります。式(8)を最大にするは、を最小にすると同じです。したがって求めるは
と書けます。をかけているのは、微分したときにきれいな形にするためのもので、あってもなくても求められる解は同じです。また、わざわざ2乗しているのは、後で書くように2次計画問題にもっていきたいからです*1。なおは式(7)の制約がありますから、消えているわけではありません。
式(7)は、分類境界から最も近い点までの距離が1であるということですから、その他の点までの距離は1より大きいといえます。
以上より、
を、
という不等式制約条件下での2次関数の最小問題を解けば良いことになります。制約条件が線形で、目的関数が凸の2次形式であるこのような問題を2次計画と呼ぶようです。
*1:詳しく調べていないのですが、そうしないと解を求めるのが大変、、、なのだと思います。