講義1:カーネル法 - 北海道大学14 カーネル法のポイント...
TRANSCRIPT
1
講義1:カーネル法
産業技術総合研究所 津田宏治
産業技術総合研究所(産総研)
• 産業技術分野におけるさまざまな研究開発を総合的に行う経済産業省所管の研究組織である。「ライフサイエンス」「情報・通信」「環境・エネルギー」「ナノテク・材料・製造」「地質・海洋」「標準・計測」の6分野を主軸に、日本の産業のほぼ全分野を網羅している。
陣容は、研究職を中心とする常勤職員約2500名、事務系職員約700名に加え、企業・大学・外部研究機関等から約5200人の外来研究者を受け入れている。(Wikipedia)
2
生命情報工学研究センター
東京、お台場
生命情報工学研究センターでは、ゲノム情報、生体高分子の構造と機能、細胞内ネットワークを工学的な観点から総合的に解析し、個別技術の統合による実用的、応用志向の研究開発により産業技術に貢献することを目標とします。
生物学データを処理する技術を開発中
3
津田宏治:経歴
1998 京大で博士号取得、旧電子技術総合研究所入所
2000 ドイツGMD FIRSTで在外研究
2001 産総研CBRCに配属
2003-2004, 2006-2008 ドイツ・マックスプランク研究所で研究
2010 ERATO湊プロジェクトチームリーダ
2011 北海道大学 客員教授
4
5
6
講義の構成
パターン認識
カーネル法の紹介
最適化理論の復習
サポートベクターマシン
化学構造の分類:グラフカーネル
7
パターン認識
対象を識別するルールを訓練データより、自動的に取得する
二クラス分類:識別関数 f(x)
訓練データ
テストデータ:X
Negative
Positive
8
ベクトル表現
Feature Space
各対象を、同次元のベクトルで表現する
識別関数は、特徴空間上に定義される
9
Feature Space
線形識別
計算が簡単、多くのデータに適用
線形 vs 非線形
非線形識別
精度が高い
10
非線形識別を線形識別器を用いて行う
元の空間(入力空間)を、非線形に写像
し、写像先(特徴空間)で線形識別
どのように写像を定めるかは難しい問題
11
カーネル法
どのように写像を定めるかは難しい問題
写像を類似度関数(カーネル関数)に基づいて決める
例:ガウシアンカーネル
12
カーネルと射影の関係
カーネル関数が「正定値」なら、
が成り立つような
写像 が存在
13
カーネルトリック
特徴空間における重要な量が、写像を計算することなく求められる
例:ユークリッド距離
14
カーネル法のポイント
写像を陽に求めなくても、写像先の内積にアクセスできる
線形識別法のうち、計算がサンプル間の内積にしか依存しないものは、「カーネル化」できる
例:サポートベクターマシン、カーネル主成分分析、カーネル正準相関分析、カーネルFisher判別分析
•15
正定値カーネル
正定値カーネル
W:集合.
k(x,y) がW上の正定値カーネルであるとは,次の2つを満たすことをいう
1. (対称性) k(x,y) = k(y,x)
2.(正定値性) 任意の自然数 n と,任意のW の点 x1, …, xn に対し,
が(半)正定値.すなわち,任意の実数 c1,…, cn に対し,
対称行列 のことを,グラム行列と呼ぶ
0),(1,
n
ji jiji xxkcc
n
jiji xxk1,
),(
RWW:k
n
jiji xxk1,
),(
),(),(
),(),(
1
111
nnn
n
xxkxxk
xxkxxk
n×n 行列
•16
正定値カーネルの例
多項式カーネル
ガウスカーネル(RBFカーネル)
Fourierカーネル(複素数値)
dT cyxyxk )(),( ( d:自然数, ) 0c
2
2
1exp),( xyyxk
> 0
)(1),( yxT
eyxk mR
•17
例:多項式カーネル
二次元空間上の正定値カーネル
k(x,y) = (xTy )2 = (x1y1 + x2y2)2
対応する写像 :2次元から、3次元へ
2
2
21
2
1
2)(
x
xx
x
x
18
様々な構造データへの応用
カーネル法では、類似度さえ定義できればどのような対象にでも適用できる
例:生物学的ネットワーク上のタンパク質の分類
IBM Research – Tokyo Research Laboratory © 2005 IBM Corporation
様々なカーネル
生物学的配列のカーネル
– Spectrum kernel (Leslie et al., 2002)
– Marginalized kernel (Tsuda et al., 2002)
– Profile kernel (Kuang et al., 2004)
– Local alignment kernel (Saigo et al., 2004)
木構造に関するカーネル
– Kernel for phylogenetic profiles (Vert, 2002)
– Kernel for natural language (Suzuki et al., 2003)
– Kernel for RNA sequences (Kin et al., 2002)
Kernel Methods in Computational
Biology, MIT Press, 2004
IBM Research – Tokyo Research Laboratory © 2005 IBM Corporation
様々なカーネル
ネットワーク上のノード間のカーネル
– Diffusion kernel (Leslie et al., 2002)
– Locally constrained diffusion kernel (Tsuda and Noble, 2004)
グラフカーネル
– Marginalized Graph Kernels (Kashima et al., 2003)
– MGK without tottering (Mahe et al., 2004)
– Acyclic Pattern Kernels (Horvath et al., 2004)
21
最適化理論の復習
条件なし最適化
ある関数fが与えられたとき、それが最小値を取る点を見つけ出す
微分をとって0になる点を見つければいい
22
条件あり最適化
条件を満たすもので、fを最小にする点
ラグランジュ未定係数法:係数λを導入して次の関数を考える
23
ラグランジュ未定乗数法
ラグランジュ関数を、xに対して最小化し、λに対して最大化すると、制約付き問題の最適解が得られる(鞍点)
24
双対問題
ラグランジュ関数が、xに関して解ける場合
• 鞍点発見問題は次のような最適化問題(双対問題)になる
25
Duality Gap
主問題は最小化、双対問題は最大化
最適解において、主問題と、双対問題の目的関数の値は一致する
26
主問題
双対問題
最適化の進行
Duality Gap
27
サポートベクターマシン チュートリアル
28
サポートベクターマシン(SVM)
ベクトル空間上での線形識別器
カーネルトリックを行うことによって、非線形に拡張
:重みパラメータ :バイアス
29
線形識別器の学習
訓練サンプルの誤分類数を減らすようにパラメータを決める
30
SVMの学習の考え方
訓練サンプルを完全に識別する超平面は無数にある
この中で、未知のテストサンプルの識別に優れているのは?
二つのクラスの「真ん中」を通るもの
正則化理論・VC理論による正当化
31
学習方法(マージン最大化)
超平面と訓練サンプルとの最小距離を評価関数として,これを最大にするように超平面を決定する
評価関数の値を大きくすれば,二つのクラスへの距離が自動的にバランスされ,ほぼ真ん中に超平面が位置する
32
サポートベクター
超平面との最小距離に対応するサンプルは,一つではない.
これらのサンプルは,超平面の周辺に位置し,超平面を「サポート」
=サポートベクター
33
学習サンプル
クラスラベル
学習の目的は、パラメータ を決定すること
学習サンプルを完全に識別する超平面があると仮定
正規化:パラメータを定数倍しても超平面は不変
このようにすると最小距離は
学習法の定式化(1)
クラスAなら1,クラスBなら-1
34
訓練サンプルとの最小距離を最大化するには、次の最適化問題を解けば良い
目的関数
制約条件
制約条件により,訓練サンプルはすべて正しく分類される.
最適解は,正規化条件を満たす.
学習法の定式化(2)
最小化
35
学習法の定式化(3)
制約つきの問題をラグランジュの乗数法で解く
最適解においては、
これから、次のような関係が導かれる
36
学習法の定式化(4)
これらの関係を代入して、双対問題を得る
目的関数
制約条件
ポイント:Xの内積のみで記述される
最大化
37
カーネル関数との組み合わせ
写像先の空間での識別関数
ここで、 より
38
学習問題のカーネル化
内積をカーネルに入れ替えて、以下の問題を得る
目的関数
制約条件
最大化
39
ソフトマージン
これまでは、訓練サンプルが超平面で完全に識別できることを仮定
そうでない場合には、制約条件を満たす超平面が存在しないので、解なし
制約条件を緩める=ソフトマージン
40
ソフトマージン
スラック変数を導入し、制約条件を以下のように変更する
最適化においては、次の目的関数を最小化
Cは、どこまで制約条件を緩めるかを指定するパラメータであり、設定は実験的に行われる
41
ソフトマージンの双対問題
目的関数
制約条件
42
サポートベクターマシンの理論
なぜ、超平面を「真ん中」に置けば、誤識別率が最小になることが期待できるのか?
PAC学習の枠組みに沿って説明
43
期待リスクと経験リスク
損失関数
期待リスク(テストサンプルに対する誤識別率)
経験リスク(訓練サンプルに対する誤識別率)
学習の目的は、期待リスクを最小化するfを求めることだが、我々は経験リスクしかしらないので、これを最小化するしかない=「経験リスク最小化」 44
リスクの差
経験的リスク最小化での学習結果は、母関数集合 に影響される
期待リスクを最小にするような の選び方は?
一つの手掛かりとなるのは、リスクの差の上限
45
一般化バウンド
に対応する損失関数の集合 のVC次元を とすると、次の不等式は、 以上の確率で成立する
ここで、
46
一般化バウンドの意味
が大きな集合の場合、損失関数の集合のVC次元は増加し、リスク差の上限は、大きくなる
リスクの差の上限を小さく抑えるには、 を小さな集合にすればいい
47
構造的リスク最小化
構造:入れ子になった関数集合の族
どれを選んで、経験リスク最小化を行えば、最も期待リスクを小さくできるのか?
48
関数集合の大きさによる トレードオフ
期待リスク=経験リスク+リスクの差
関数集合大:経験リスク小、リスクの差大
関数集合小:経験リスク大、リスクの差小
49
SVMと構造的リスク最小化
SVMで用いられている構造
SVMでは、訓練サンプルを完全識別する関数の中で、最も の小さいものを選んでいる
経験リスクを0にするものの中で、最も小さい関数集合を選んでいる
これにより、リスクの差を小さくし、結果的に、期待リスクを小さくできる
50
構造的リスク最小化の理論の特徴
サンプルの従っている分布 に何の仮定も置かない (Distribution Free)
リスクの差の上限に関わるわずかな手がかりから手法を構築
51
次元数の呪いについて
パラメータの次元数が大きくなると、尐数の訓練サンプルから、精度よくパラメータ推定することが難しくなる現象
カーネルトリックによって、パラメータ数は大幅に増加するので、次元数の呪いに陥る可能性がある
PAC学習の立場からは、このような心配はない
リスクの差は、パラメータ数ではなく、パラメータベクトルのノルムによって左右される
52
53
SVMのまとめ
SVMはマージン最大化に基づく線形識別器
カーネル関数と組み合わせることによって非線形な識別も可能
サンプル間の類似度にしか依存しない
非ベクトルデータの分類も可能
•54
-25 -20 -15 -10 -5 0 5 10 15 20
-20
0
20-10
-8
-6
-4
-2
0
2
4
6
8
10
PCAとカーネルPCA
主成分分析(PCA, 復習) m 次元データ X1, …, XN
主成分分析 ・・・ 分散が最大になる方向(部分空間)にデータを射影
単位ベクトル a 方向の分散:
V の固有ベクトル u1, u2, …, um (ノルム1)
固有値( l1 ≧ l2 ≧ … ≧ lm )
第 p 主成分の軸 = up
データ Xj の第 p 主成分 =
VaaXaXa TN
i i
T
N
T 1
21 )~
(][Var
T
i
N
i iNXXV~~
11
N
j jNii XXX1
1~(中心化) 分散共分散行列
j
T
p Xu
•55
カーネルPCA(Schölkopf et al 98)
データ X1, …, XN 特徴ベクトル f1, …, fN
特徴空間での単位ベクトル h 方向の分散 =
としてよい (∵ 直交する方向は分散に寄与しない)
主成分は
カーネル k を設定
N
i iih1
~f
N
i ihN
1
2~,
1f
ただし
N
j jNii 11~
fff (中心化)
ff 2
1
2
1
~1~,
~1K
NN
TN
a a
N
j jj jiijK ff~
,~~
ただし
2~max KT
制約条件 1~
KT
分散
ff Kh T
i i iiiiHk
~~,
~
•56
カーネルPCAのアルゴリズム
分散最大の方向 = の最大固有値の固有ベクトル方向
の固有値分解
第 p 主成分を与える :
K~
K~
N
a
Taa
a uuK1
~l
pp u)(
1~
KT ゆえ p
p
p ul
1)(
データ Xj の第 p 主成分 = p
jpj
N
i i
p
i ulff
~,
~1
)(
N
ba baN
N
a jaN
N
a aiNjiij XXKXXKXXKXXKK1,
11
11
1 ),(),(),(),(~
2
ijNN KQQ
,1 T
NNNNN IQ 11 1N = (1,…,1)T ただし
•57
カーネルPCAの実験例
‘Wine’ データ(UCI Machine Learning Repository)
13次元,178データ,3種類のワインの属性データ
2つの主成分を取った(3クラスの色は参考に付けたもの)
-5 0 5-4
-3
-2
-1
0
1
2
3
4
PCA(線形)
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
KPCA(RBF, = 3)
•58
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
KPCA(RBF, = 5)
KPCA(RBF, = 4)
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
KPCA(RBF, = 2)
•59
カーネルPCAの特徴
非線形な方向でのデータのばらつきが扱える.
結果はカーネルの選び方に依存するので,解釈には注意が必要
ガウスカーネルの分散パラメータなど
どうやって選ぶか? 必ずしも明確でない
前処理として使える
後の処理の結果を改良するための非線形特徴抽出
•60
カーネルCCA
正準相関分析(CCA, 復習) CCA ・・・ 2種類の多次元データの相関を探る
m 次元データ X1, …, XN
n 次元データ Y1, …, YN
X を a 方向,Y を b 方向に射影したときに相関が大きくなる (a,b) を求める
bVbaVa
bVa
YbXa
YbXa
YY
T
XX
T
XY
T
b
a
i i
T
Ni i
T
N
i i
T
i
T
N
b
an
m
n
m
R
R
R
R
max
~~
~~
max2
12
1
1
iT
iiNXY YXV~~1 など ただし
正準相関
X Y a
aTX bTY b
•61
カーネルCCA(Akaho 2001, Bach and Jordan 2002)
データ X1, …, XN 特徴ベクトル fX1, …, fX
N
Y1, …, YN fY
1, …, fYN
カーネルCCA: 特徴空間での相関を最大化する射影方向 f, g を求める
カーネル
kX , kY を設定 XkjX
X
j HXk ),(f
YkjY
Y
j HYk ),(f
i H
Y
iNi H
X
iN
i H
Y
iH
X
iN
Hg
Hf
YkXk
YkXk
Yk
Xk gf
gf
2121
1
~,
~,
~,
~,
maxff
ff
カーネルPCA同様 ,~
1
N Xf f
N Yg1
~ f としてよい.
22 ~~
~~
max
Y
T
X
T
YX
T
KK
KK
N
N
R
R
•62
まとめ
カーネルによる非線形化
線形データ解析アルゴリズムを特徴空間で行うことによって
非線形アルゴリズムが得られる → カーネル化(kernelization)
「内積」を使って表される線形手法なら拡張が可能
射影,相関,分散共分散,etc
例: サポートベクターマシン,スプライン平滑化,カーネルPCA,
カーネルCCA,など
非線形アルゴリズムの特徴
線形ではとらえられない性質が調べられる.
とらえることのできる非線形性はカーネルの選び方に影響を受ける