1. カーネル法への招待 - 統計数理研究所1. カーネル法への招待...
TRANSCRIPT
1. カーネル法への招待
正定値カーネルによるデータ解析- カーネル法の基礎と展開 -
福水健次統計数理研究所/総合研究大学院大学
1
統計数理研究所 公開講座2011年1月13,14日
概要
• カーネル法の基本
– 線形データ解析と非線形データ解析
– カーネル法の原理
• カーネル法の2つの例
– カーネル主成分分析: PCAの非線形拡張
– リッジ回帰とそのカーネル化
2
概要
• カーネル法の基本
– 線形データ解析と非線形データ解析
– カーネル法の原理
• カーネル法の2つの例
– カーネル主成分分析: PCAの非線形拡張
– リッジ回帰とそのカーネル化
3
データ解析とは?Analysis of data is a process of inspecting, cleaning,
transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making. – Wikipedia
4
線形データ解析
– データは数値の「テーブル」として与えられることが多い.行列表現
– データ解析には線形代数が主な数学的道具
• 相関 Correlation,• 線形回帰 Linear regression analysis,• 主成分分析 Principal component analysis,• 正準相関分析 Canonical correlation analysis, etc.
5
=
)()(1
)2()2(1
)1()1(1
Nm
N
m
m
XX
XXXX
X m dimensional, N data
• Example 1: Principal component analysis (PCA)
X(1) , ..., X(N) : m-次元のデータ
PCA: 分散が最大になるようにd-次元の部分空間へ射影する
6
– 第1主軸 =
– General solution:u1, ..., uN: VXX の固有ベクトル(固有値の降順)• 第p主軸 = up
• X(i)の第p 主成分 = upTX(i)
– 「PCA 固有値分解 (線形代数)」
7
][Varargmax 1|||| XaTa =
∑ ∑=
=
−=
N
i
N
jjiTT X
NXa
NXa
1
2
1)()( 11][Var .aVa XX
T=
∑ ∑∑=
==
−
−=
N
i
TN
jjiN
jji X
NXX
NX
N 11
)()(1
)()( 111XXV
(標本)共分散行列
• Example 2: Linear classification– 2値識別
線形識別関数による方法:
so that
– Example: Fisher線形判別分析,(線形)サポートベクターマシン, etc.
8
=
)()(1
)2()2(1
)1()1(1
Nm
N
m
m
XX
XXXX
X
Input data
N
NY
YY
Y 1
)(
)2(
)1(
±∈
=
Class label
( )bxaxh T += sgn)()()( )( ii YXh = for all (or most) i.
線形で十分か?
9
-6 -4 -2 0 2 4 6-6
-4
-2
0
2
4
6
x1
x2
Unclear? Watch the following movie! http://jp.youtube.com/watch?v=3liCbRZPrZA
linearly inseparable
0
5
10
15
20 0
5
10
15
20
-15
-10
-5
0
5
10
15
z1
z3
z2
transform
)2,,(),,( 2122
21321 xxxxzzz =
linearly separable
• Another example: correlation
10
][][],[YVarXVar
YXCovXY =ρ ( )( )[ ]
( )[ ] ( )[ ]22 ][][][][YEYEXEXE
YEYXEXE−−
−−=
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
X
Y
ρ = 0.94
11
-1.5 -1 -0.5 0 0.5 1 1.5-0.5
0
0.5
1
1.5
2
2.5
X
Y ρ( X, Y ) = 0.17
(X, Y)
0 0.5 1 1.5 2 2.5-0.5
0
0.5
1
1.5
2
2.5
ρ( X2,Y )= 0.96
transform (X2, Y)
データの非線形変換によって高次モーメントを抽出するアプローチが有効そうである.
データの非線形変換
Analysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making.
Wikipedia.
カーネル法 = データの非線形性あるいは高次の情報を扱うための非線形変換の系統的方法論.
12
概要
• カーネル法の基本
– 線形データ解析と非線形データ解析
– カーネル法の原理
• カーネル法の2つの例
– カーネル主成分分析: PCAの非線形拡張
– リッジ回帰とそのカーネル化
13
カーネル法の概観
– どのような変換(特徴写像)がよいか?• 元のデータのさまざまな非線形性が抽出できる.• 特徴空間で,内積が計算しやすい.
多くの線形データ解析手法は,内積計算に拠っている.
14
特徴空間
xiΦ Hk
Ω xj
,ixφ
jxφ
データの空間
特徴写像
特徴空間で線形のデータ解析を行う!e.g. SVM
• 計算論的な問題
– もちろん高次項を並べてもよいが,,,
(X, Y, Z) (X, Y, Z, X2, Y2, Z2, XY, YZ, ZX, …)
– 元のデータが高次元だと計算量爆発!
e.g. 元のデータが100 次元のとき,3次まで取ると,特徴ベクトルの次元は
100C1 + 100C2 + 100C3 = 166750.
– 現在の計算機を持ってしても,行列演算は困難.より効率的な方法 カーネル法.
15
正定値カーネルによる内積計算
– 特徴写像:
– 特徴写像をうまく選択すると,特徴空間での内積が正定値カーネル k(x, y) により与えられる
– 多くの線形データ解析手法では,内積の値のみが必要で, 特徴ベクトル Φ(X) の形は知らなくてもよい.(e.g. PCA.後述)
16
),()(),( jiji XXkXX =ΦΦ
H→ΩΦ :
kernel trick.
概要
• カーネル法の基本
– 線形データ解析と非線形データ解析
– カーネル法の原理
• カーネル法の2つの例
– カーネル主成分分析: PCAの非線形拡張
– リッジ回帰とそのカーネル化
17
PCA から Kernel PCAへ
– PCA: 線形の次元削減法.– Kernel PCA: 非線形な次元削減法 (Schölkopf et al. 1998).
– Review of PCA
• PCAの計算
– 方向ベクトルa とデータの内積
– 目的関数の最適化(固有値問題に還元される)
18
∑ ∑=
=
−=
N
i
N
jjiTT X
NXa
NXa
1
2
1)()( 11][Var:max 1|||| =a
– 特徴空間でのPCA• 特徴ベクトル:
• 仮定:
– 特徴空間 H は内積 を持ち,特徴ベクトルの内積が
• 目的関数:
19
∑=
Φ=ΦN
i
iXfN
Xf1
2)( )(~,1])(,[Var:max 1|||| =f
),()(),( jiji XXkXX =ΦΦ
により計算可能
)(,),(,, )()1()()1( NN XXXX ΦΦ→
f: 特徴空間 H 内での方向ベクトル
∑ =Φ−Φ=Φ
N
jjii X
NXX
1)()()( )(1)()(~
ただし
(kernel trick)
,
– 解は次の形で十分
∵) 空間 H を特徴ベクトル の張る部分空間 H0 と,その直交補空間 H0
⊥に直交分解:
方向ベクトル f を
と表わすと,目的関数は
h = 0の時が最適.
20
∑=
Φ=N
i
ii Xcf
1
)( )(~
∑=
=+Φ
N
i
ihg Xg
N 1
2)(1||||||||
)(~,1max 22
,hgf +=
)(~),...,(~ )()1( NXX ΦΦ
.00⊥⊕= HHH
),( 00⊥∈∈ HhHg
=Φ∑=
=
N
i
if Xf
N 1
2)(1||||
)(~,1max 2
– 内積計算:
• ノルム2
• 分散
– 目的関数
21
cKcf T ~|||| 2=
∑ =−=
N
bbiji
ij XXkN
XXkK1
)()()()( ),(1),(~
∑∑ ==+−
N
babaN
aja XXk
NXXk
N 1,)()(
21)()( ),(1),(1
中心化グラム行列(centered Gram matrix)
cKcXXcXf Ti
ij
jji
i 22
)()(2)( ~)(~,)(~)(~, =ΦΦ=Φ ∑ ∑∑
cKcT 2~max subject to* 1~ =cKcT
Kernel PCA:
∑=Φ=
N
ii
i Xcf1
)( )(~
*) “subject to” は,最適化問題で制約条件を書くときの慣用句.
– Kernel PCA も固有値問題に還元される
– Kernel PCA アルゴリズム
• 行列 の計算
• の固有値分解
• 第p主軸
• X(i)の第p主成分
22
K~
∑==
N
iTiii uuK
1
~ λ
021 ≥≥≥≥ Nλλλ eigenvalues
unit eigenvectorsNuuu ,,, 21
K~
)()( )(~, iTpp
ip XuXf λ=Φ=
pp
pN
iii
pp ucXcf
λ1,)(~
1)( =Φ=∑ =
– 内積計算のチェック: for •
•
23
cKcf T ~|||| 2=
cKcXf Ti
i 22)( ~)(~, =Φ∑
∑∑ ∑ ΦΦ=ΦΦ=ji
jijii j
jj
ii XXccXcXcf
.)()()()(2 )(~),(~)(~),(~
)(~),(~:~ )()( jiij XXK ΦΦ= を展開せよ.
∑=
Φ=N
i
ii Xcf
1
)( )(~
∑∑ Φ−ΦΦ−Φ=b bNja aNiij XXXXK )()(,)()(~ 11
∑∑ ΦΦ+ΦΦ−ba baNb biN XXXX
,11 )(),()(),( 2
∑ ΦΦ−ΦΦ=a jaNji XXXX )(),()(),( 1
∑∑∑ +−−=ba baNb biNa jaNji XXkXXkXXkXXk
,111 ),(),(),(),( 2
上と同様に計算できる([Exercise])
24
リッジ回帰
• 線形回帰(復習)
問題
データ行列
最適解
最適な関数
=
=
NNm
N
m
m
Y
YY
Y
XX
XXXX
X
2
1
1
221
111
,
),(,),,( )()()1()1( NN YXYX
RR ∈∈ )()( , imi YX
∑=−
N
ii
wi XfY
12)()( ))((min
を達成する線形関数 fw(x) = wTx
YXXXw TT 1)(ˆ −=
xXXXYxf TTw
1ˆ )()( −=
X
Y
25
• リッジ回帰(Ridge regression)
– 問題
最適解は
最適な関数は
– リッジ回帰は、XTX が特異また特異に近いときによく使われる.
– Bayes的な解釈もできる(正則化:後述)
2
12)()( ))((min wXfYN
ii
wi λ+−∑ =
を達成する線形関数 fw(x) = wTx
YXIXXw TN
T 1)(ˆ −+= λ
xIXXXYxf NTT
w1
ˆ )()( −+= λ
リッジ回帰のカーネル化
– Data:X(i): 任意の集合 Ω に値を持つ. Y(i) ∈ R
– 特徴写像
• 仮定:
– 特徴空間 H は内積 を持ち,特徴ベクトルの内積が
– 特徴空間 H におけるリッジ回帰
26
),(,),,( )()()1()1( NN YXYX
)(,),(,, )()1()()1( NN XXXX ΦΦ→
),()(),( )()()()( jiji XXkXX =ΦΦ
により計算可能
(kernel trick)
,
( ) 2
1
2)()( )(,minH
N
iii
HffXfY λ+Φ−∑=∈
– 最適解:は以下の形を持つ
∵)データ Φ(Xi) の張る H の部分空間をH 0,直交補空間をH ⊥とするとき,f = h0 + h1 の分解で,目的関数の第1項は h0 のみに依存.第2項は || f ||2 = || h0 ||2 + || h1 ||2 により h1 = 0のときが最適.
– 内積計算
• 2乗ノルム:
• 線形関数:
– カーネルリッジ回帰
最適解
27
KccKcY T
c Nλ+−
∈
2minR
),()()( 1 xIKYxf NT k−+= λ
Kij = k(X i, X j) グラム行列Kccf T=2||||
ii
jj
ji KcXXcXf )()(,)()(, )()()( =ΦΦ=Φ ∑
∑=Φ=
N
ii
i Xcf1
)( )(
=),(
),()(
)(
)1(
NXxk
Xxkx k
[Exercise] 導出を確認せよ.
カーネル法の原理
– 特徴写像によって,内積 を持つ特徴空間Hにデータを写像する.
– 特徴ベクトル に,H 上で線形の解析手法を適用する.
– 多くの場合,最適解(H の元)は次の形を持つことがわかる.
– 問題は,内積 を用いて表現される.
– カーネル法では,上の内積が
によって効率的に計算される.基底による展開や表示は必要ない.
28
)(,),(,, )()1()()1( NN XXXX ΦΦ→
,
∑ Φ=i
ii Xcf )( )(
),()(),( )()()()( jiji XXkXX =ΦΦ
)(),( )()( ji XX ΦΦ
(kernel trick)
Ni
iX 1)( )( =Φ
Question:カーネルトリック
を満たすような,特徴写像 Φ と k はどのようなものか?
正定値カーネル
29
),()(),( yxkyx =ΦΦ