X - 統計数理研究所

カーネル法入門
1.カーネル法へのイントロダクション
福水健次
統計数理研究所/総合研究大学院大学
大阪大学大阪大学大学院基礎工学研究科・集中講義
2014 September
1
カーネル法:
近年 (1990年代半ばごろから) 発展したデータ解析の方
法論.非線形な情報や高次モーメントの扱いが容易.
サポートベクターマシンの提案が発端となった.
2
線形なデータ解析,非線形な
データ解析
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
線形なデータ解析
– 数値の表
行列 表現
 X 1(1)  X m(1) 


 X 1( 2 )  X m( 2 )  m 次元
X 



 N 個のデータ
 X (N )  X (N ) 
m 
 1
– 線形代数を使ってデータ解析を行う.
• 相関,
• 主成分分析(Principal component analysis, PCA),
• 正準相関分析(Canonical correlation analysis, CCA),
• 線形回帰,
• 線形判別分析
• ロジスティック回帰
etc.
5
 例1: 主成分分析(Principal component analysis,
PCA)
PCA: 分散が最大となる低次元部分空間にデータを射影する..
1st direction =
argmax||a||1Var[a T X ]
1
Var[a X ] 
N
T
 T  (i ) 1
a  X 

N

i 1 
N

N
j 1
X
( j)



2
 a T VXX a.
VXX
1

N
 (i ) 1
X 

N
i 1 
N
1
( j ) 
(i )
 j 1 X  X  N
N
( j) 
X
 j 1 
N
--- X の分散共分散行列
6
T
– 第p主成分方向
: VXX の第p最大固有値に対する単位固有ベクトル
PCA
行列
の固有値問題
7
 例2: 線形識別(判別)
– 2値識別
入力
クラスラベル
 X 1(1)  X m(1) 


( 2)
( 2)
 X1
 Xm 
X




 X (N )  X (N ) 
m 
 1
 Y (1) 
 ( 2) 
Y 
N


Y 
{
1
}




(
)
N
Y 


識別器
h ( x )  sgn( a T x  b )
を次にように構成する
h( X ( i ) )  Y ( i )
for all (or most) i.
– 例: Fisherの線形判別分析, 線形サポートベクターマシン, etc.
8
線形で十分か?
線形識別不能
線形識別可能
6
15
4
10
5
2
z3
x2
0
-5
0
transform
-10
-15
0
-2
20
5
-4
-6
-6
z1
-4
-2
0
2
4
15
10
10
15
5
6
20
x1
0
z2
( z1 , z 2 , z3 )  ( x12 , x22 , 2 x1 x2 )
Watch the movie! https://www.youtube.com/watch?v=3liCbRZPrZA
9
 Another example: correlation
 XY
Cov[ X , Y ]
E  X  E[ X ]Y  E[Y ]


2
2
Var[ X ]Var[Y ]
E  X  E[ X ] E Y  E[Y ]



3
2
 = 0.94
1
Y
0
-1
-2
-3
-3
-2
-1
0
1
2
3
X
10
Y
2.5
2.5
2
2
1.5
1.5
( X, Y )
1
= 0.17
0.5
0
-0.5
-1.5
( X2,Y )
1
= 0.96
0.5
0
-1
-0.5
0
0.5
1
-0.5
0
1.5
0.5
1
1.5
2
2.5
X
(X, Y)
transform
(X2, Y)
11
がん研 多目的コホート研究(JPHC Study)
肥満度(BMI)のがん全体の罹患に与える影響
12
非線形変換は有望
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.
カーネル法 = データの非線形情報,高次モーメントを抽出するために,デ
ータを高次元の特徴空間に写像する方法論.
13
カーネル法の要点
14
カーネル法の概略
– カーネル法の概念図

xi
xj
元のデータの空間

特徴写像
x
i
x
Hk
,
j
特徴空間
特徴空間で線形データ解析を施す!
e.g. SVM
– 特徴空間として望まれる性質:
• データのさまざまな非線形特徴を有していること
• 内積計算が容易にできること.
多くの線形データ解析の計算は内積に依拠している.
15
 計算の問題
– 高次情報の抽出
(X, Y, Z)  (X, Y, Z, X2, Y2, Z2, XY, YZ, ZX, …)
– 元の空間の次元が高いと 計算は実現できない!
e.g. 10000 次元のデータ,
2次までの特徴
10000C1
+ 10000C2 = 50,005,000
– 計算量爆発.
より効率的な方法が必要  カーネル法
16
特徴空間と正定値カーネル
– 特徴写像: 元の空間から特徴空間への写像
Φ: Ω →
,
↦Φ
– 特別な特徴空間(再生核ヒルベルト空間)を用いると,特徴ベクトルの
内積計算が関数値 (正定値カーネル)
, の評価に置き換えられる
 ( X i ),  ( X j )  k ( X i , X j )
kernel trick
– 内積計算さえできれば,特徴ベクトル (X).の陽な形は知らなくてもよ
い.
17
正定値カーネル
定義.
: 集合
カーネル : Ω
Ω→
が正定値であるとは
k ( x, y )  k ( y , x )
1) (対称性)
2) (正値性) 任意の点
 k ( x1 , x1 ) 




 k(x , x ) 
n
1

(Gram行列)
i.e.,
,…,

n
∈ Ω ∀
k ( x1 , xn ) 

 
k ( xn , xn ) 
c c j k ( xi , x j )  0
i , j 1 i
for any
に対し,
が半正定値
ci  R
18
– 例: Rm上
• Euclid内積
Gaussian
k ( x, y )  x T y
• Gaussian RBF カーネル

kG ( x, y )  exp  x  y
2
2

(  0)
• Laplace カーネル
Laplacian

k L ( x, y )  exp   i 1 | xi  yi |
m
• 多項式カーネル
k P ( x, y )  ( c  x T y ) d

(  0)
(c  0, d  N)
19
命題1.1
を内積 ⋅,⋅ を持つベクトル空間とし, Φ: Ω →
とする. : Ω Ω → を
,
により定義すると,
Φ
,
,Φ
,
を写像(特徴写像)
(kernel trick)
は正定値である.
– カーネルトリックを成り立たせる関数は,正定値カーネルである.
*Proof)

c c j k ( X i , X j )  i 1  j 1 ci c j  ( X i ),  ( X j )
n
n
n
i , j 1 i


n
c  ( X i ), j 1 c j  ( X j ) 
i 1 i
n

n
2
c ( X i )  0
i 1 i
20
– 正定値性は十分でもある.
定理1.2 (Moore-Aronszajn)
Ω上の正定値カーネル に対し,Ω上の関数からなるHilbert空間*
(再生核ヒルベルト空間, RKHS) が存在して,次が成り立つ.
1) ⋅, ∈
∀ ∈Ω .
⋅,
∈ Ω は で稠密
2) span
3) (再生性)
, ⋅,
for any ∈ , ∈ Ω.
*Hilbert空間: 内積を持つベクトル空間で,内積により決まるノルムが完備であ
るもの.
21
正定値カーネルによる特徴写像
– 正定値カーネル を用意
– 特徴空間 = RKHS
– 特徴写像:
Φ: Ω →
,…,
,
↦ ⋅,


feature map
xi
xj
Space of original data
↦
,…,
x
i
x
Hk
,
j
Feature space
⋅,
⋅,
– カーネルトリック(再生性):
 ( X i ),  ( X j )  k ( X i , X j ),
– 正定値カーネルを与えれば十分.
• 特徴写像,特徴ベクトルを陽に知る必要はない.
• カーネル法の計算は,グラム行列
,
による計算となる.
22
カーネル法の例:カーネルPCA
23
PCAからカーネルPCAへ
– PCA: 線形な次元削減.
– カーネルPCA: 非線形な次元削減 (Schölkopf et al. 1998).
– 特徴空間でPCAを行う
max ||a||1 :
max || f ||1 :
Var[a T X ] 
1
N
1
Var[ f ,  ( X ) ] 
N
 T  (i ) 1
a  X 

N

i 1 
N
( j ) 
X
 j 1 


1
(i )
 f , ( X ) 

N
i 1 
N
2
N

( j)
 j 1 ( X ) 

N
24
2
次の形の
を考えれば十分

N
f   ci  ( X ( i ) )  N1  j 1  ( X ( j ) )
i 1
N

 f
(直交する方向は分散に効いてこない!) [Representer定理]
(カーネルトリックを使うと)
max Var
1
,Φ
T ~
||
f
||

1

c
KXc 1
subject to
 
~
KX
ij
1
N
 k ( X , X )  b 1 k ( X (i ) , X (b ) )
N
1
1
N
N
(a)
( j)
 a 1 k ( X , X )  2 a ,b 1 k ( X ( a ) , X (b ) )
N
N
(i )
( j)
(中心化Gram行列)
25
– 証明
•
∑
Var
,Φ
Φ
∑
∑
∑
∑
∑
∑
∑
Φ
,Φ
Φ
]
,Φ
≡
.
,∑
Φ
∑
•
∑
≡Φ
,Φ
Φ
∑
•
[Φ
とすると,
Φ
.
Φ
∑
,
∑
Φ
∑
,Φ
,
∑
,
Φ
∑
,
,
26
 カーネルPCAのアルゴリズム:
• 中心化Gram行列
の計算
N
~
の固有分解 K
•

 u uT

i 1
X
i i i
eigenvalues
1  2    N  0
u1 , u2 ,  , u N
unit eigenvectors
∑
• 第p主成分方向
Φ
• X(i)の第p主成分
Φ
∑
Φ
,
Φ
: 中心化特徴ベクトル
,Φ
∑
27
カーネルPCAの例
 Wine データ (UCI repository)
3種類のイタリアワインに関する,13 次元の化学測定値
178 データ.
クラスの情報はカーネルPCAには用いていない
4
Linear PCA
0.6
3
0.4
Kernel PCA (Gaussian kernel)
( = 3)
2
0.2
1
0
0
-0.2
-1
-0.4
-2
-0.6
-3
-4
-5
0
5
-0.8
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
28
カーネル法の構成要素
– 特徴空間上で線形データ解析を適用する. (Kernelization)
– 多くの場合,目的関数をカーネルによって書き直すことができる
 ( X i ),  ( X j )  k ( X i , X j )
f , ( X i )
– 解は以下の形で考えれば十分である(有限パラメータの問題に還元)
N
f   ci  ( X ( i ) ),
i 1
(Representer定理),
 すべての量がGram行列によって表現される(サイズ = データ数).
– 元の空間が高次元でも計算量の問題が生じない.Gram行列を計算し
た後は,データ数のみに依存した計算量.
以上はカーネル法一般に共通の要素である.
29
参考文献
 福水 「カーネル法入門」 1章 朝倉書店 2010.
 B. Schölkopf and A. Smola. Learning with kernels. MIT Press, 2002.
 赤穂 「カーネル多変量解析 ―非線形データ解析の新しい展開」 岩波書店
(2008)
30