【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といいます。

【機械学習入門】アルゴリズム&プログラミング
機械学習のアルゴリズム(原理)やプログラミング方法について入門者向けにまとめました。
【画像処理入門】アルゴリズム&プログラミング
この記事では、画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。
機械学習
スポンサーリンク

コメント