サポートベクターマシン(SVM)
サポートベクターマシン(SVM)
データを2つに分類する直線(超平面)を求める手法
scikit-learnではsklearn.svm.SVCなど
データが多すぎなければ多くの場合うまく機能する
基本的には分類のモデル。ただし回帰にも拡張できる
SVMのイメージ
データを2つに分類する直線(超平面)のうち、最近傍のデータまでのマージンを最大化するような直線(超平面)を選ぶ手法
凸2次計画問題として定式化でき、学習が確実かつ容易にできる
https://gyazo.com/c1c38865f74b567214d6646338a61dc1
上図は、株式会社システム計画研究所 編「Pythonによる機械学習入門」(2016) より引用
線形分離不可能なデータに対する対応
カーネルトリックを使うことで、線形分離不可能なデータについても対応できる
カーネル関数(核関数)と呼ばれる非線形関数でデータを変換することで、非線形写像空間上で線形分離できるようにするテクニック
https://gyazo.com/fd1ddd7a5d3e6c21b8909cbb1bd94751
カーネル関数には、多項式カーネル、RBFカーネルなどいろいろな種類がある
多クラス分類