SVM

SVM(サポートベクトルマシン)

SVMとは

機械学習のアルゴリズムの一つ。

2クラスのパターン分類を考えます。2つのクラスを分ける境界に対し、あるマージンを最大化することを考える手法です。利点として、新たに分類したいデータも正しく分類することができるということが挙げられます。

SVMは識別境界から学習データまでの距離を基準とする最適化問題として美しく定式化されています。また、分類制度が高いことで知られています。

それでは、実際に式と図を用いて説明します。

特徴ベクトルをx=(1,x₁,・・・,xd)T=(1,xT)Tとし、パラメータを、w=(w0,w1,・・・,wd)T=(w0,w)Tとします。

ここでは、xを用いて線形識別関数を

g(x)=w0+wTx ・・・・①

と表現します。この時2クラスを分類する境界は

g(x)=0

です。

g(x)=0となるxは、①式より、空間を二つに分割します。

与えられたデータが、図のように線形識別可能(直線で分けられる)なとき、識別境界に対して、マージン以内にデータが何もない状態を作れるよう、パラメータwを選択することを考えます。このマージンを最大にする方法がSVM(サポートベクトルマシン)です。

出典)後藤正幸、小林学 「入門 パターン認識と機械学習」 コロナ社

 

注意

全てのデータが図のように直線を引くことで分類できるとは限りません。このままのSVMでは、このような直線で分類することができるデータしか対応できません。しかしカーネル法という手法を用いることで、直線で分類できないデータに対しても分類可能になります。

 

参考)後藤正幸、小林学 「入門 パターン認識と機械学習」 コロナ社

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する