Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
カーネルマシン
赤穂昭太郎
産総研脳神経情報研究部門情報数理研究グループ
http://www.neurosci.aist.go.jp/˜akaho/kernel.html
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
1
識別問題
yi=1
yi=-1
x
y
x1x2 xn
...
• 入力: x ∈ �d
• 出力: y ∈ {1,−1}• 学習サンプル:
(x1, y1), . . . , (xn, yn)
2
メモリベースド識別器
x
y
x1x2 xn
...
x
y
x1x2 xn
...
• ×完全メモリベースド
• 正則化: なまし⇒カーネル• 最近傍法:
識別時の計算量が多い
3
線形識別器 (パーセプトロン)
x
y
x1x2 xn
...
• y = sgn[w · x]
• サンプル誤差大• サポートベクタマシン=
メモリベースド+線形識別器
4
1. はじめに2. パーセプトロンからサポートベクタマシンへ
2.1パーセプトロン2.2カーネルトリック2.3マージン最大化と SVM2.4正則化とソフトマージン
3. カーネルマシンの一般性4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
5
2.1パーセプトロン
x1
x2
xd
w1
w2
wd
y
ww.x=0
xi
Δw
• y = sgn[fw(x)]
識別関数 fw(x) = w · x
• 誤り訂正学習:
Δw ∝ yixi
• 線形分離可能⇒有限回で収束
6
2.2カーネルトリック
x1
x2
xd
w1
w2
wh
y
φ1(x)
φ2(x)
φh(x)
• 線形分離可能でないときは?• 高次元の特徴空間に写像
x ∈ �d → φ(x) ∈ �h
• h ≥ nなら必ず線形分離可能
• 識別関数 (特徴空間版)
fw(x) = w · φ(x)
7
• 誤り訂正学習: Δw ∝ yiφ(xi)
• w = 0でスタート⇒学習終了後w =n∑
i=1
αiφ(xi)
• 入出力関数: y = sgn[
n∑i=1
αiφ(xi) · φ(x)]
• カーネル関数:
k(xi,x) = φ(xi) · φ(x)
• パーセプトロン (カーネル版): y = sgn[n∑
i=1
αik(xi,x)]
8
パーセプトロン カーネルパーセプトロン
x1
x2
xd
k(x1,x)
α2 yk(x2,x)
k(xn,x)
α2
αn
x1
x2
xd
w1=Σαiφi(x)
w2
wh
y
φ1(x)
φ2(x)
φh(x)
9
• 勝手に持ってきた関数 k(xi,x)が内積の形になっていないか?
• 高次元の写像 φ(x)を計算しなくてすむ
• どんな関数なら内積の形に書けるんだろうか?
10
定理 1 [Mercerの定理] x,y ∈ X の関数 kが内積の形
k(x,y) =∞∑
j=1
γjψj(x)ψj(y), γi ≥ 0
�k(x,y) = k(y,x),かつ,半正定値: ∀f に対し
∫X
∫Xk(x,y)f(x)f(y) dx dy ≥ 0
ただし,ψj(x)は k(x,y)の固有関数∫Xk(x,y)ψj(x) = γjψj(x)
11
• カーネルが定義できれば入力記号列でもグラフでも何でも OK
• Mercerカーネルの例
シグモイド: k(x,y) =1
1 + exp(−βx · y)
RBF: k(x,y) = exp(−β‖x − y‖2)
多項式: k(x,y) = (x · y + c)p
12
2.3マージン最大化と SVM
• 線形分離なら識別面は無限個• 次元が高いほど自由度は高い• どれがベストか?
13
wφ(xi)
w.φ(x)=1
w.φ(x)=0w.φ(x)=-1
• マージンを最大化• 識別面までの距離:
|w · φ(x)|‖w‖
• スカラー変換不変w · φ(x) = 0 ⇔ (cw) · φ(x) = 0
• 仮定: w · φ(xi) ≥ 1 (正例);
w · φ(xi) ≤ −1 (負例);
一つは等式で満たす
• マージン = 1/‖w‖ → max
14
• 解くべき問題:
minimizew
‖w‖2
subject to yiw · φ(xi) ≥ 1
• Lagrangeの未定係数 αi > 0の導入
1
2‖w‖2 −
n∑i=1
αi{yiw · φ(xi) − 1}
• wで微分して 0とおく:
w =n∑
i=1
αiyiφ(xi)
15
• Wolfe dual +カーネル (Lagurane関数に wを代入)
maximizeα
n∑i=1
αi − 1
2
∑i,j
αiαjyiyjk(xi,xj).
subject to αi ≥ 0
• 凸2次計画問題• ハードマージン SVM
y = sgn[∑
i
αiyik(xi,x)]
16
• 局所最適解の問題がない• サポートベクタ: 識別面に一番近いサンプルだけが αi = 0
(Karush-Kuhn-Tucker条件)
• スパースネスは SVMの売りの一つ
• 凸2次計画問題を効率的に解くパッケージがある
17
ハードマージン SVM
-0.5 0 0.5 1 1.5
-0.5
0
0.5
1
1.5
18
2.4正則化とソフトマージン
• 十分高次元に写像すればどんな配置でも分離可能
• ノイズあり:線形分離可能の仮定は不適当
19
2.4.1学習における正則化
• 学習:本来小さくしたい汎化誤差 R(f)のかわりにサンプル損失Remp(D, f)を最小化
• 不良設定性: f の関数クラスが大きすぎると (いくらサンプルを増やしても)真の f に収束しない
• 正則化:罰金項 Ω(f)を導入し,
minimizef
Remp(D, f) + λΩ(f)
• λをサンプル数とともに適切に小さくすれば真の f に収束
20
2.4.2ソフトマージン
• ソフトマージン SVM:
minimizew
1
n
n∑i=1
Remp(xi, yi, fw(xi)) + λ‖w‖2.
• Remp の設計によっていろいろある
• λ→ 0でハードマージンに近づく
21
yi fw(xi)
R1
10
• 0-1損失:凸でないので難しい
• R = max{0, 1 − yifw(xi)}で近似⇒max
n∑i=1
αi − 1
2
∑i,j
αiαjyiyjk(xi,xj)
subject to 0 ≤ αi ≤ 1
2λn
• ハードマージンとほぼ同じ性質を保つ
22
ハードマージン SVM
-1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
23
ソフトマージン SVM (1)
-1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
24
ソフトマージン SVM (2)
-1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
25
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性
3.1再生核ヒルベルト空間3.2 Representer定理
4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
26
• 疑問: サンプル点でのカーネル関数の線形和で書けたのは幸運だったから?
• 解答: Representer定理によりかなり一般的に成立
• Mercerカーネル⇔再生核ヒルベルト空間
27
3.1再生核ヒルベルト空間
• Mercerの定理により,基底関数の内積と半正定値カーネルが対応
k(x,y) =
∞∑j=1
γjψj(x)ψj(y), γi ≥ 0
• 特徴ベクトル: φ(x) = (√γjψj(x))j=1,...,∞
• w · φ(x)のwは?
• kと ψj の両方が出てきて面倒
28
• 基底関数の線形和の集合 F を考える
f( · ) =∞∑
j=1
cjψj( · ), g( · ) =∞∑
j=1
djψj( · )
• F 内積:
〈f, g〉 =
∞∑j=1
cjdj
γj.
• カーネルも F の要素: k( · ,y) =∑∞
j=1(γjψj(y))ψj( · )
〈f, k( · ,y)〉 =∞∑
j=1
cj(γjψj(y))
γj
= f(y)
⇒再生核ヒルベルト空間 (RKHS)
29
• 表現 1 (固有関数): φ(x) = (√γjψj(x))を l2 内積で
• 表現 2 (RKHS): φ(x) = k( · ,x)を F 内積で• RKHSの要素の一般表現:
w =m∑
l=1
alk( · ,yl)
• wと φ(x)との F 内積:
fw(x) = 〈w,φ(x)〉 =
m∑l=1
alk(yl,x)
⇒ fw( · ) ∈ F
30
3.2 Representer定理
• 学習サンプル: (xi, yi) ∈ X × Y , i = 1, . . . , n.
• サンプル損失 Gemp: (X × Y × �)n 上の実数値関数
• 正則化項 Greg: �から [0,∞)への狭義単調増加関数
minimizef∈F
Gemp(((xi, yi, f(xi)))i=1,...,n) +Greg(‖f‖F)
の解 f ∈ F はf(x) =
n∑i=1
αik(xi,x).
• SVMの正則化項 ‖w‖2F も条件を満たす
31
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性4. SVMの汎化能力
4.1 PACによる汎化能力の評価5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
32
• SVMは経験的には汎化能力が高い
• それを示す理論が十分確立しているわけではない• 正則化による効果• PACの枠組
33
4.1 PACによる汎化能力の評価
• 本当に最小化したいもの:期待損失
R(α) =
∫r(x, y; α) dP (x, y) → min ⇒ α∗
• 学習で最小化するもの:サンプル損失
Remp(α;D) =1
n
n∑r=1
r(xi, yi; α) → min ⇒ α̂
• 差が重要C1 = R(α̂) −R(α∗)
34
C1 = R(α̂) −R(α∗)
• AICなどでは C1 の平均を求める
• PACでは C1 の信頼区間を求める (求めたい)
• でも難しいので上限を評価
35
上限評価のポイント
C1 = R(α̂) −R(α∗)
• 一様収束による上限
C1 < 2 supα
[|R(α) −Remp(α)|]
• 一様収束を和で置き換える上限
Pr[supα
C3(α) > ε] <∑α∈A
Pr[C3(α) > ε]
< |A|Pr[C3 > ε]
36
• VC (Vapnik-Chervonenkis)次元: |A|を評価するための関数複雑度
• マージン γ の識別器クラスの VC次元:
O(min{D2γ2, h})
• だから SVMは PAC学習の意味で最適,次元の呪いもなし
37
• SVMは「マージン γ の識別器」を学習するわけではない⇒luckiness (サンプルに依存した仮説クラス)
• そもそも「場合の数」的な関数クラスでやるとゆるい上限になる⇒– データ圧縮に基づく上限 (Floyd et al., 1995)
– 関数のロバストさに基づく上限 (Bousquet et al., 2001)
38
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
39
カーネルの設計
• バイオインフォマティクス・自然言語処理:文字列や HMMなどが対象
• ストリングカーネル: 共通部分文字列の数再帰的な効率的アルゴリズム
40
カーネルを作る・変形する
• k1, k2 からできるカーネル
k1 + k2; ck1; k1 + c;
k1k2; (k1 + c)m; exp(ck1);
• コンフォーマル変換: c(x) > 0を使って
c(x)c(y)k(x,y)
41
いろいろな設計指針
• 対角成分が異常に大きいのはまずい• サポートベクタのまわりの解像度を上げる (Amari et al., 1999)
• 入力空間のマージンを大きくする (赤穂, 2003)
• 欠損部分を埋める正定値行列⇔正規分布の分散補助情報があるときに EMを使って埋める (Tsuda et al., 2003)
42
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン
6.1 SVM一族6.2カーネル密度推定, RBF6.3ガウシアンプロセス6.4その他のカーネルマシン
7. むすび
43
6.1 SVM一族
複数クラス
• SVMは「1:1」が基本
• 「1:他」をクラス数分A vs B,C B vs C,A C vs A,B
⇒誤り訂正符号• 「1:1」をたくさん
A vs B B vs C C vs A
クラス数が多いときにはこちらが有望統合: グラフィカルモデル,分類木
44
関数近似
yi -fw(xi)
R
-ε ε
• ε不感応関数
• 凸2次計画に帰着• 大域的最適• スパースネス
45
ν トリック
• ソフトマージンで正則化パラメータの調節が困難• マージンを越えるサンプルの割合 ν を調節すれば?
• 同じように凸2次計画で書ける
minimizeξ1,...,ξn,ρ,w
n∑i=1
ξi − νρ+1
2‖w‖2,
subject to yiw · φ(xi) ≥ ρ− ξi,
ξi ≥ 0, ρ ≥ 0.
46
6.2カーネル密度推定, RBF
• 密度推定+正則化⇒カーネル密度• 関数近似+シフト不変正則化⇒ RBF
• 一般には正定値にはならない
47
6.3ガウシアンプロセス
• SVMよりも基本的
• 線形回帰モデルf(x) = w · φ(x) + ε
• ベイズ推定ε ∼ N [0, σ2], w ∼ N [0, Ih]
• MAP解
fw(x) =n∑
i=1
αik(xi,x), α = (G+ σ2In)−1y.
48
6.4その他のカーネルマシン
• なんでもカーネル化:線形手法+Representer定理⇒カーネル版PCA, FDA, CCA, . . .
• 最近傍法もカーネル法の仲間• カーネル ICA:
ICAそのものは線形カーネル正準相関分析を使って非線形な損失関数を評価
49
1. はじめに2. パーセプトロンからサポートベクタマシンへ3. カーネルマシンの一般性4. SVMの汎化能力5. いろいろなカーネル6. いろいろなカーネルマシン7. むすび
50
今後の方向性
• なんでもカーネル化はだいたい終わり?
• カーネルを選ぶ,作る (複雑な対象,欠損値)
• 汎化誤差の評価 (PAC,平均評価)
• 計算量を減らす,凸最適 (線形/2次/半正定値計画)
• オンライン学習 (スパース性や凸最適性などが課題)
• http://www.neurosci.aist.go.jp/˜akaho/kernel.html
51