サポートベクターマシン(SVM)のメモ

機械学習




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

データの分布を分ける溝(境界線)を求める。

多層パーセプトロンのようなデータの分類と似ている。

サポートベクターマシンでは、データの距離(マージン)を最大にして、その真ん中を通る識別関数を解析的に求める。
マージン領域が最大になるデータ点をサポートベクターと呼ぶ。

カーネルトリックと呼ばれる方法で非線型の識別関数を決めることができる。

sklearn SVC

01
02
03
04
05
06
07
08
09
10
11
12
13
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X = load_iris().data
y = load_iris().target
 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
 
from sklearn.svm import SVC
 
svc = SVC(kernel='linear')
 
svc.fit(X_train, y_train)
accuracy_score(svc.predict(X_test),y_test)

参考

1.4. Support Vector Machines
...
SVM: Maximum margin separating hyperplane
...

タイトルとURLをコピーしました