【SVM】サポートベクターマシンの原理・計算式

この記事では、機械学習のアルゴリズム「サポートベクターマシン(SVM)」の基本的な原理や仕組みについてまとめました。

サポートベクターマシンとは

サポートベクターマシン(通称:SVM)とは、高い汎化性能をもつ線形識別器の1つです。

2つのクラスがある2次元データx_nがいくつかあるとします。
このとき、平面上に次式のような境界線(直線)を引くことで識別を行います。

(1) \begin{eqnarray*} y=wx+w_0 \end{eqnarray*}

SVMでは、いかに2つのクラスを綺麗に分ける境界線を引けるかが課題となります。
そのために、SVMでは「マージン最大化」というアイデアを用います。

マージン最大化

マージンとは、「境界線」と「2つのクラス」間の距離Mのことです。
マージン最大化は、距離Mが最大となるように境界線を決定することです。
距離が大きくなるほど、より多くの未学習データの判別が可能となります。(汎化能力の向上)

ハードマージンSVMとソフトマージンSVM

マージン最大化により境界線を決定すると述べました。
しかし、現実の問題はデータにノイズが混じっており、綺麗に分離できないことが多いです。
そこで、データにノイズが混じっている場合にも対応したSVMをソフトマージンSVMといいます。

【関連記事】
【画像処理入門】アルゴリズム&プログラミング

シェア&フォローお願いします!