第 7 章 疎な解を持つカーネルマシン
DESCRIPTION
第 7 章 疎な解を持つカーネルマシン. 修士2年 山川佳洋. 本章の概要. SVM (Support vector machine) -識別関数の一種 ( 出力の事後確率は不明 ) -モデルパラメータの局所解が大域解になる RVM (Random vector machine) -ベイズ理論に基づき事後確率の推定が可能 - SVM よりさらに疎なモデルが得られる. SVM の種類. 線形 SVM -線形分離可能 -線形分離不可能 非線形 SVM. 非線形 SVM 例. 訓練データ点が 特徴空間 において 線形分離可能 - PowerPoint PPT PresentationTRANSCRIPT
第 7章 疎な解を持つカーネルマシン
修士2年山川佳洋
本章の概要
SVM (Support vector machine)
-識別関数の一種 ( 出力の事後確率は不明 )-モデルパラメータの局所解が大域解になる RVM (Random vector machine)
-ベイズ理論に基づき事後確率の推定が可能- SVM よりさらに疎なモデルが得られる
SVM の種類
線形 SVM-線形分離可能-線形分離不可能 非線形 SVM
非線形 SVM 例
訓練データ点が特徴空間 において線形分離可能得られる SVM は入力空間 において訓練データを完全に分離する ( 入力空間においては分離境界は非線形にもなり得る )
xx
x
x
クラス判別と SVM
1.7by xwx T
2値分類 ( クラス分類 ) 問題を解く x :特徴空間変換関数
b :バイアスパラメータ
訓練データ Nxx ,...,1
目標値 1,1,...,1 nN ttt
x
xy未知のデータ点 を
の符号に応じて分類
最大マージン分類器
線形分離可能な場合
パラメータ が存在b,w
0.1
0.1
nnn
nnn
ytsxt
ytsxt
x
x
0nn yt xまとめて
一般的には解は多数存在する
汎化誤差がもっとも小さくなるような解を求める
マージン (margin) を最大化する
マージン最大化定式化
2.7w
xw
w
x nTn btyt nn
3.7min1
maxarg,
bt nnb
xww
T
w
4.71bt nn xwT 5.7.,...,1,1 Nnbt nn xwT
超平面 0xy から点 までの距離はx w
xy
線形分離可能の仮定から 0xytn
分解境界から点 までの距離はnx
マージンを最大化する最適化問題
境界に最も近い点について
全ての点について
マージン最大化問題
6.72
1minarg
2
,
ww b
7.712
1,,
1
2
N
n
nnn btabL xwwaw T
8.71
N
n
nnnta xw 9.701
N
n
nnta
マージン最大化問題は以下の問題に帰着される
二次計画法の一例→ 線形不等式系で与えられる制約条件の下で 二次関数を最小化する問題
制約付き最適化問題を解くため,ラグランジュ乗数を導入する
0,...,1 nT
N aaaa
b,w に関する停留条件
マージン最大化問題の双対表現
10.7.,2
1~
1 11
N
n
N
m
mnmnmn
N
n
n kttaaaL xxa
11.7,,...,1,0 Nnan
12.7.01
N
n
nnta
(7.6) の双対表現
制約条件
aに関して最大化
この問題は再び二次計画法になっている ( 最適化変数は )a
双対表現主問題 (Primary problem)M変数, N 制約式
双対問題 (Dual problem)N 変数,M制約式
mTnmnk xxxx ,
以下のカーネル関数を用いた
カーネルトリック
x
mTnmnk xxxx ,
カーネル関数
カーネル関数が定義されていれば の具体的な形を知る必要はない
例 )
2
2
2exp,
1,
mn
mn
pm
tnmn
k
k
xxxx
xxxx
10.7.,2
1~
1 11
N
n
N
m
mnmnmn
N
n
n kttaaaL xxa
t
mtnm
tnmn
t
xxxxxxxxxxxx
k
xx
32
31
2212
2121
22
2121
3
21
,,3,3,6,3,3,3,3,1
1,
,
x
xxxxxx
x
サポートベクトル
13.7,1
N
n
nnn bktay xxx
14.70na
15.701nn yt x
16.701 nnn yta x
学習したモデルで新しいデータ点を分類するには
このときKKT条件は
10 nnn ytora x
0na がデータ点の予測に影響 サポートベクトル
一度モデルを学習してしまえばサポートベクトル以外の訓練データは不要
バイアスパラメータの算出
17.71,
Sm
mnmmn bktat xx
18.7.1
,
Sn Sm
mnmmnS
ktatN
b xx
二次計画問題を解き が求まるとバイアスパラメータ を求めることができるa b
S:サポートベクトルの集合
SN:サポートベクトルの総数
線形分離不可能な場合への拡張ここまでの仮定
訓練データ点が特徴空間 において線形分離可能得られる SVM は入力空間 において訓練データを完全に分離する ( 入力空間においては分離境界は非線形にもなり得る )
xx
一部の訓練データの誤分類を許すように修正
訓練データを完全に分離する解が必ずしも汎化能力に優れるとは限らない
誤って分類したデータにはマージンの境界からの距離に比例したペナルティを与える
スラック変数 Nnn ,...,10
データが正しく分類 0n nnn yt xそれ以外
ペナルティ項を加えた定式化
21.7.2
1 2
1
w
N
n
nC
20.7.,...,1,1 Nnyt nnn x
識別関数 (7.5) を修正
Nnn ,...,10
ハードマージンからソフトマージンへの緩和
目的はペナルティを与えつつもマージンを最大化するよって次式を最小化する
C:ペナルティとマージンの大きさの トレードオフを制御するパラメータ
n:誤分類されたデータの上限
最小化問題のラグランジュ関数
23.70na 24.701 nnn yt x
25.701 nnnn yta x
26.70n 27.70n 28.70nn
N
n
N
n
N
n
nnnnnnn ytaC
bL
1 1 1
222.71
2
1
,,,,
xw
aw
KKT 条件
ラグランジュ関数
最小化問題の双対表現
29.701
N
n
nnntaL
xww
30.7001
N
n
nntab
L
31.70 nn CaL
32.7.,2
1~
1 11
N
n
N
m
mnmnmn
N
n
n kttaaaL xxa
についての停留条件 nb ,,w
双対形のラグランジュ関数 33.70 Can
34.701
N
n
nnta
制約条件
サポートベクトル
35.71 nnn yt x
サポートベクトルについては 0na
さらに 31.70 nn Ca 28.700 nn
Can 0 のサポートベクトルでは 10 nnn yt x
36.71,
Sm
mnmmn bktat xx
Mn Sm
mnmmnM
ktatN
b 37.7.1
,xx
先ほどと同様に
SVM を解くアルゴリズム
分類予測時と異なり,パラメータを学習する段階ではサポートベクトルでなく全ての訓練データの情報が必要
実用上, SVM の二次計画法を効率的に解くアルゴリズムが必要
チャンギングを利用 保護共役勾配法 (Burges, 1982) 分解法 (Osuna et al., 1996) 逐次最小問題最適化法 (SMO ; sequential minimal optimizati
on)(Platt,1999) 32.7.,
2
1~
1 11
N
n
N
m
mnmnmn
N
n
n kttaaaL xxa
SMO について
計算効率 ( 計算時間の飛躍的減少 ) のため,最もよく使われる SVM の最適化の手法
たった2つのラグランジュ乗数を含む部分問題を逐次解いていくことで最終的な解を得る
2変数の選び方にはいくつかヒューリスティックが存在する
計算時間 ( データ数の1~2乗 )( 一般的にデータの3乗 )
SMO の定式
.
~,
2
1,
~
21
212121
54
322
1
1 1 1
,21
Constii
iiiniii
N
n
N
n
M
m
mnmnmnnii
Lafaf
aafafafaa
kttaaaaaL
xx
N
iiii
iiii
N
n
nn Consttaaata
21 ,1
21
1
0
制約条件
目的関数
2 変数の 2 次関数 1 変数の 2 次関数
すべての が KTT 条件を満たせば最適解となり終了ia
SMO続き
部分問題で取り上げる 2 変数の選び方
1. を探索していき, KTT 条件を満たしていない を選択する.この時点で全ての が KTT 条件を満たす場合は,その時点で最適解となり,学習は終了となる.
2. ⅰ) を選択する際に,まず を満たし,かつ が 最大になる を選択する.ⅱ ) を満たす がない場合には, または になる を選択する.ⅲ )ⅰ) ,ⅱ ) がない場合,ランダムに を選択する.
3. 選択された で目的関数を解き,最適解が得られたら再び を選択する.
1iaa
2ia Cai 20
02 iaCai 2
12 ii aa
21 , ii aa
1ia
2ia
Cai 20 2ia
2ia
2ia
21 , ii aa
SVM にまつわるその他のトピック
ロジスティック回帰との関係 多クラス SVM-1対他 (one-versus-the-rest)方式-1対1 (one-versus-one)方式 回帰のための SVM
SVM の問題点
多クラス識別が難しい 2次計画法を解くための計算量 カーネルの選択-カーネルの最適型-カーネルの持つパラメータの最適値-ペナルティとマージンの制御パラメータ→実験で求める
何に使えるか
BCALs の移動-滞在判定
ラグランジュ乗数 その1 複数の変数に1つ以上の制約条件が課せられたときに,
関数の停留点を求めるために用いられる.
例1) 0,..,max 2121 xxgtsxxf
0xg
xf
Ax
xg 3.00 Egf
ラグランジュ関数
4., EgfL xxx
,xL ,xの に対する停留点を求める
0,0
LL
x
例2) 0,..,max 2121 xxgtsxxf
ⅰ) 停留点が 0xg
0xgⅱ) 停留点が
制約が無効 停留条件 0 xf
解が制約面 上に存在 0xg 以前の停留条件に等しい
ラグランジュ乗数 その2
0 xx gf が存在してさらに
0の停留条件に等しい
いずれにしろ 0xg
ラグランジュ乗数 その3
例2) 0,..,max 2121 xxgtsxxf
以下の条件でラグランジュ関数 (E.4) の停留点を求める
0
0
0
x
x
g
g
これを Karush-Kuhn-Tucker 条件 (KKT 条件 ) という
何となく気になったこと