2-3.サポートベクターマシン

最適化の考え方


図1.サポートベクターマシンの最適化

図1にサポートベクターマシンの基本的な考え方を示します。ベクターは点を表していてサポートベクターとは回帰直線に最も近い点を意味します。そのサポートベクターが最もマージンを大きくなるように回帰直線を決定します。
図1のように完全に直線で分離できる関係を線形分離可能と言います。また、このように完全に線形で分離できているマージンをハードマージンと言います。
ただ、一般の社会ではこのように完全に線形分離可能なデータはあまりありません。むしろ線形分離不可能なデータの方が多いわけです。図2のように完全に分離できないマージンをソフトマージンと言います。


図2.ソフトマージン

ソフトマージンでは異なる分類に点在することを許容したマージン境界を設定します。マージン境界から異なる分類に存在する点にはペナルティが与えられ図2では赤丸の点になります。これらのペナルティの総計が最小になり、また、マージンの広さが最大になるように境界が決定されます。

分析プログラム

サポートベクターマシンを「scikit-learn」のアイリスデータを用いて「Colaboratory」環境で作成したプログラムを以下に示します。アイリスデータは機械学習の分類で最も一般的に利用されるデータの一つで例として利用しました。