機械学習のアルゴリズム「サポートベクターマシン(SVM)」の基本的な原理や仕組みについて解説します。
サポートベクターマシンとは
サポートベクターマシン(通称:SVM)とは、高い汎化性能をもつ線形識別器の1つです。
2つのクラスがある2次元データ$x_n$がいくつかあるとします。
このとき、平面上に次式のような境界線(直線)を引くことで識別を行います。
SVMでは、いかに2つのクラスを綺麗に分ける境界線を引けるかが課題となります。
そのために、SVMでは「マージン最大化」というアイデアを用います。

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

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

【機械学習のアルゴリズム超入門】原理からプログラミング実装例まで解説
機械学習のアルゴリズム(原理)やプログラミング方法について入門者向けにまとめました。

PythonとOpenCVで画像処理プログラミング超入門
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。

【画像処理超入門】アルゴリズムの仕組みと実装方法を簡単に解説
画像処理超アルゴリズムの仕組みとプログラミングによる実装方法を簡単に解説します。


コメント