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

どうも、かわばっちゃんです。

 

今回は、サポートベクターマシンSVM)を紹介します。

 

 

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

 

AIの中でも主にクラス識別に使われる手法です。

 

様々な入力(説明変数)とバイアスから出力データを識別する方法ですね。

 

 

識別とは

 

識別というと例えば、犬の画像と猫画像、通常メールと迷惑メールなどです。

 

ただ、様々な入力の値が同じだけ結果を左右するとは限りません。

 

例えば、耳が尖っているから猫とは言い切れないですよね。

 

なので、それぞれの入力値がどれだけ重要な要素かという割合を掛け算します。

 

この重要度の割合を「重み」を言います。

 

複数の説明変数にそれぞれの重みを掛け算ものを足し合わせたものが、バイアスを超えているか下回っているかで、識別をするという仕組みがあるわけです。

 

 

サポートベクターマシンSVM)の詳細

 

教師ありデータを散布図で表した時に、2つのクラスに識別したいとします。

 

その時、クラスを識別するために、一本直線を引いて、クラスを分けます。

 

この直線を引いて、重みとバイアスを決定するのがサポートベクターマシンの考え方です。

 

識別するために直線が引けそうな位置は目で見て分かると思いますが、正確な直線の位置はどう決めるでしょうか。

 

サポートベクターマシンでは、直線が引けそうな異なる分類データが近いところで、それぞれのデータとの距離が同じになる位置に直線をひきます。

 

その時に、直線を引くために用いる周辺のデータをサポートベクターと呼び、周辺のデータで異なる分類のものの距離をマージンと呼びます。

 

この時、引いた直線の一次関数の傾きを重み、y切片をバイアスにするというのが、サポートベクターマシンですね。