LoginSignup
1
1

More than 3 years have passed since last update.

初めてのパターン認識 8章 SVM

Last updated at Posted at 2020-03-13

8章 サポートベクトルマシン

パターン認識学習アルゴリズムの一つである

2クラス問題の線形変別するための関数を導出する

マージン最大化するのが良い 
 (クラス間距離の事)
スクリーンショット 2019-11-13 11.32.45.png

線形分離不可の場合 非線形特徴写像によって特徴空間に写像そ線形分離可能にする

そのために高次元空間内での内積計算が大変
ケーネルトリックを用いるとできます
 
今回は V-SVMと 1クラスSVMを扱う

8.1 サポートベクトルマシンの導出

導出のためには最大マージンの式(7.2)を使う
↓ざっくりいうとクラス群の平均値みたいなもの
スクリーンショット 2019-11-13 9.51.09.png

SVMでは標準座標系を用いる
他クラス問題では 1 対 その他 で分類することが多い

 8.1.1最適識別超平面

クラス付き学習データ $D_L={(t_i,x_i)}$
がどちらのクラスに属するかの分類をする

$|(w^Tx_i+b)|$は点と線の距離
どの点をとっても マージン(K)よりは大きい
$(w^Tx_i+b)\geq K$
これをKで割って正規化
その後$t_i$を掛けて符号を考える

$t_i(w^Tx_i+b)\geq1$
と分類がまとめられる

クラス間マージンは 各クラスのデータをw方向に射影した長さの差の最小値
スクリーンショット 2019-11-13 13.51.27.png
であたえられる

スクリーンショット 2019-11-13 13.57.43.png

$\frac{2}{||w||}$
の最大値を求める

||w||
の最小値を求める
$t_i(w^Tx_i+b)\geq1$を条件とする

8.1.2 KKT条件

この最小化問題を解くために ラグランジュ関数を使う

条件↓の時(移項して0 =の形にする)
$0=g(x,y)$
$f(x,y)$の最小値は
$f(x,y)-g(x,y)$
となる

スクリーンショット 2019-11-19 12.47.36.png

となる

スクリーンショット 2019-11-19 13.07.05.png
∇ なぶら

特に5つ目の式は制約条件に対する者である

式8.7を書き換える

スクリーンショット 2019-11-19 14.00.31.png

が得られる 

スクリーンショット 2019-11-19 14.34.04.png

制約条件 KTTの2から得ている
制約条件とは この問題が相対問題となる条件である。

$t_i(w^Tx_i+b)=1 $
のときにサホートベクトル(マージンを考える点)である。
サポートベクトルだけあれば計算ができる
サポートベクトルの平均をとったりすると良い

1個目は式8.8
スクリーンショット 2019-11-19 20.18.00.png

8.2 線形分離可能でない場合の拡張

主問題 KKT条件 双対問題がこんな感じに変わる
スクリーンショット 2019-12-03 18.02.28.png

スクリーンショット 2019-12-03 18.04.15.png

8.3 非線形写像

 
例えばXORは線形識別できない
これを線形識別するために 非線形写像する。

イメージ図 線形識別できていないものが
非線形写像によって識別可能になる。
スクリーンショット 2019-12-03 18.54.38.png

${φ(x_j)}^M_1$
を写像とする

スクリーンショット 2019-12-03 19.11.36.png

カーネル関数で変換した先の値は
グラム行列という名前で保存される。

非線形写像で線形分離が
可能になっても時間がかかるけど
内積計算で済ませば高速な計算が可能である
そのような各関数を内積カーネルという

8.3.1 多項式カーネル

$K_p(u,v)=(a + u^Tv)^p$
内積カーネルの一種
多項式カーネルである

スクリーンショット 2019-12-04 6.00.58.png

多項式カーネル のとき
変換後の次元はこういう風になる
スクリーンショット 2019-12-04 6.40.00.png
二項定理と帰納法を使って証明される

$$ {}_nC_r \Leftrightarrow ( n\quad p)$$
であることに注意 二項定理の時は頻出的な表現
例えば 2次元 2乗 の時は

$_4C_2 = 6 $

8.4 ν-SVM

誤識別数で判断してた。
データ数で評価が変わっちゃう
誤識別率で判断すれば良いよね
でも
謝り率 ←→ 機械の複雑さ
トレードオフ

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1