3. 6.0 カーネル法の概要(1)
3・4章の線形なパラメトリックモデル
y (x, w ) = w T Φ (x)
訓練データはwを学習したら捨てる。
非線形、複雑なモデルに対応できない。
・カーネル法は、訓練データを予測時にも利用するモデル。
⇒学習は速いが、予測は遅い。
●なぜ「カーネル法」というのか?
カーネル関数を使うから。
2
6. 6.1 双対表現(1)
多くの線形モデルは、双対表現で表すことにより、カー
ネル関数が自然に現れる。
→サポートベクトルマシン(7章)において重要
具体的に、線形回帰モデルの二乗和誤差を考える。
1 N λ T
J (w ) = ∑ {w φ ( xn ) − t n } + w w ≥ 0)
T 2
(λ
2 n =1 2
J’(w)=0
N N
1
w=−
λ
∑ {w T φ ( xn ) − t n }φ ( xn ) = ∑ anφ ( xn ) = Φ T a
n =1 n =1
1
( an = − {w T φ ( xn ) − t n } 、a = (a1 ,⋅ ⋅ ⋅, an ) )
λ
5
7. 6.1 双対表現(2)
最小二乗法のアルゴリズムを w を使わず、 a で表現し直す。
→双対表現の誕生
w = Φ T a を J (w ) に代入
K nm = φ ( xn ) φ ( xm ) = k ( xn , xm )
T カーネル関数
と定められるグラム行列 K = ΦΦ T
を定義する.
1 T 1 T λ T
J (a) = a KKa − a Kt + t t + a Ka
T
2 2 2
( t = (t1 ,⋅ ⋅ ⋅, t N ) )
T
6
8. 6.1 双対表現(3)
aの解: a = (K + λI N ) t −1
線形回帰モデルに代入し直すと予測関数は
y ( x ) = w φ ( x ) = a Φ φ ( x ) = k ( x ) (K + λI N ) t
T T T −1
( k (x) は要素 k n ( x) = k ( x n , x) を持つベクトル)
●双対関数の意義
すべてがカーネル関数 k ( x, x' ) で表現されるため、常
にカーネル関数を通じて問題を扱うことができ、特徴ベ
クトル φ (x) を明示的に考えることを避け、高次元・無
限次元の特徴ベクトルを間接的に扱うことができる。
7
9. 6.2 カーネル関数の構成(1)
●有効なカーネル関数を構成する方法
①特徴空間への写像φ(x)から 構成する。
M
k ( x, x' ) = φ ( x) φ ( x' ) = ∑ φi ( x)φi ( x' )
T
i =1
φi ( x) : 基底関数(多項式関数、ガウス分布など))
(
②カーネル関数を直接定義する。
→カーネル関数として有効であることを保証する必要
k (x, z ) = (xT z ) 2 = ( x1 z1 + x2 z 2 ) 2 = x12 z12 + 2 x1 z1 x2 z 2 + x2 z 2
2 2
= ( x12 , 2 x1 x2 , x2 )( z12 , 2 z1 z 2 , z 2 )T
2 2
= φ ( x)T φ ( z ) 有効なカーネル関数だと分かった
8
10. 6.2 カーネル関数の構成(2)
●関数が有効なカーネルか簡単に調べたい!
関数 k (x, x' ) が有効なカーネル
∀
⇔ {x n } に対してグラム行列Kが半正定値
●新たなカーネルの構築法
k (x, x' ) =ck1 (x, x' ) k (x, x' ) = k1 (x, x' )k 2 (x, x' )
k (x, x' ) = f (x)k1 (x, x' ) f (x' ) k (x, x' ) = k3 (φ (x), φ (x' ))
k (x, x' ) = q (k1 (x, x' )) k (x, x' ) = xT Ax'
k (x, x' ) = exp(k1 (x, x' )) k (x, x' ) = k a (x a , x'a ) + kb (x b , x'b )
k (x, x' ) = k1 (x, x' ) + k 2 (x, x' ) k (x, x' ) = k a (x a , x'a )kb (x b , x'b )
f( )は任意の関数、q( )は非負の係数をもつ多項式、k3( , )
は特徴空間次元で定義された有効なカーネル、Aは対称
な半正定値行列、x=(xa,xb)、kaとkbはそれぞれの特徴空
間において有効なカーネル関数 9
11. 6.2 カーネル関数の構成(3)
●色々なカーネル関数
①一般化された多項式カーネル k (x, x' ) = (x x'+ c) ( c > 0)
T M
k (x, x' ) = exp(− x − x' / 2σ 2 )
2
②ガウスカーネル
→よく使われる。
特徴ベクトルが無限次元。
③集合が対象のカーネル A1 ∩ A2
k ( A1 , A2 ) = 2
k (x, x' ) = p (x) p (x' )
④生成モデルから構成したカーネル 生成モデル
⑤シグモイドカーネル k (x, x' ) = tahn(axT x'+b)
→グラム行列が必ずしも半正定値にならない。
サポートベクトルマシンとニューラルネットワークが
表層的に類似したものになる。 10
12. 6.3 RBFネットワーク(1)
線形回帰モデル(3章)
M −1
y (x, w ) = ∑ w jφ j (x) = w φ (x)T
j =0
●基底関数にどのようなものを使えばよいか?
一般的にRBF(動径基底関数:radial basis function)
φ j ( x) = h( x − μ j ) : RBF よく使うものとして
ガウス関数がある。
※RBFはその中心μjからの動径のみに依存している。
●RBFを導入する動機
①正確に目標変数の値を再現する関数補間
→ 目的変数のノイズによって過学習の恐れ有り
②入力変数にノイズが含まれる場合の補間
→ Nadaraya-Watsonモデル 11
13. 6.3 RBFネットワーク(2)
入力変数に確率分布ν(ξ)に従う確率変数ξで表されるノイズ
が含まれるとき、二乗和誤差関数は
1 N
E = ∑ ∫ { y (x n + ξ ) − t n }2ν (ξ )dξ
2 n =1
変分法を用いると
N
y (x) = ∑ t n h(x − x n ) :Nadaraya - Watsonモデル
n =1
ここで、RBFは以下によって与えられる。
ν (x − x n ) 式の形から分かるよ
h( x − x n ) = N うに、このRBFは正
∑ν (x − x
n =1
n ) 規化されている。
12
15. 6.3.1 Nadaraya-Watsonモデル(1)
・訓練集合{xn ,tn}について同時分布 p(x,t) の推定にParzen
推定法を用いると
N
1
p (x, t ) =
N
∑ f (x − x
n =1
n , t − tn )
( f(x,t) は密度関数の要素で、各データ点が中心 )
回帰関数(予測関数)は以下の式で与えられる。
∞
y (x) = E[t | x] = ∫ tp (t | x)dt
−∞
∫ tp(x, t )dt ∑ ∫ tf (x − x , t − t )dt n n
= = n
∫ p(x, t )dt ∑ ∫ f (x − x , t − t )dt
m
m m
14
16. 6.3.1 Nadaraya-Watsonモデル(2)
簡単のため、密度関数の各要素の平均が零、すなわち
∞
∫
∀
x、 f (x, t )tdt = 0
−∞
とし、また
∞
g (x) = ∫ f (x, t )dt
−∞
とすると、回帰関数は、
∑ g (x − x )t
n n
y ( x) = n
= ∑ k (x, x )t n
∑ g (x − x )
n
m n
m
と書くことができる。 15
17. 6.3.1 Nadaraya-Watsonモデル(3)
ここで、 g (x − x n )
k (x, x n ) =
∑ g (x − x m )
m
これらは、先に見たNadaraya-Watsonモデルである。
または、カーネル回帰(kernel regression)と呼ばれる。
このモデルは、E[t|x]だけではなく、p(t|x) も定義する。
緑線:正弦関数
p (t , x) 赤線:予測関数
p (t | x) =
∫ p(t , x)dt 青点:データ点
青○:対応する
∑ f (x − x , t − t )n n
カーネルの標準
偏差の等高線
= n
赤領域:p(t|x)
∑ ∫ f (x − x , t − t )
m m の標準偏差の2
m 倍までの領域
16
18. 6.4 ガウス過程
6.1節→回帰のための非確率的モデルからカーネル法を導いた。
この節→ベイズ的な設定においても自然にカーネルが現れる
ことを見る。
●そもそもガウス過程とは?
ガウス過程:
関数y(x)の上の確率分布で次を満たすもの(を定義するモデル)
∀
{x1 , , x N } に対して、 y (x1 ), , y (x N )} の同時分布が、
{
ガウス分布に従う
●ガウス過程の考え方
パラメータwの事前分布p(w)を使うのではなく、
関数y(x)の事前分布p(y)を直接定義してしまう。
→具体的に線形回帰モデルを見てみると理解しやすい。 17
19. 6.4.1 線形回帰再訪(1)
線形回帰モデル y ( x) = w T φ ( x) を考える。
wの事前分布として、次の等方的ガウス分布を考える。
p (w ) = Ν (w | 0, α I ) −1
α : 分布の精度
※1つのwに対して1つのy(x)が決まる
→wの事前分布を与えることは、y(x)の事前分布を与える
ことに相当する
●訓練データに対応する{y(x1), … ,y(xN)}の同時分布を求める
y = { y (x1 ), , y (x N )}T
= Φw ( Φ nk = φk (x n ) )
18
20. 6.4.1 線形回帰再訪(2)
wはガウス分布に従う変数集合
→その線形結合であるy自身もガウス分布に従う。
→平均と分散を求めれば、yの分布(同時分布)が定まる。
E[y ] = ΦE[w ] = 0
1
cov[y ] = E[yy ] = ΦE[ww ]Φ = ΦΦ T = K
T T T
α
1 カーネル
( K nm = k (x n , x m ) = φ ( x n )T φ ( x m ) )
α 関数
●ガウス過程の重要な点
→同時分布が、平均や共分散といった2次までの統計量で
記述される。
→y(x)の平均は零とすることが多いので、ガウス過程は
カーネル関数として与えられる。
※カーネル関数は直接定義することもできる。
(基底関数の選択をしない)
→ガウスカーネル、指数カーネルなど 19
21. 6.4.2 ガウス過程による回帰(1)
目標変数にノイズが含まれていることを考慮
→各観測値に対し独立に決定、ガウス分布に従う
⇒目標値の同時分布は、等方的なガウス分布に従う。
p (t | y ) = N (t | y , β I N )
−1
β : ノイズの精度
ガウス過程の定義より
p (y ) = N (y | 0, K )
よって、周辺分布p(t)は、(2.3.3節の結果より)
p (t ) = ∫ p (t | y ) p (y )dy = Ν (t | 0, C)
ここで、共分散行列Cは次の要素を持つ。
C (x n , x m ) = k (x n , x m ) + β δ nm
−1
20
22. 6.4.2 ガウス過程による回帰(2)
実線: 事前分布p(y)からサンプリング
された関数y
: 入力集合{xn}に対するy(xn)
: y(xn)+ノイズ = tn
●回帰の目的:
訓練集合 x1 , … , xN 、tN = (t1,…,tN)T が与えられている
時、新しい入力 xN+1に対する目標変数 tN+1を予測したい。
→予測分布 p(tN+1|tN) を求めたい。
先の結果から、 CN k
C N +1 = T
k
c
p (t N +1 ) = N (t N +1 | 0, C N +1 ) ,
k n = k ( xn , x N +1 )
−1
c = k(x , x ) + β
N +1 N +1 21
23. 6.4.2 ガウス過程による回帰(3)
これに2章の結果を用いると、条件付き分布 p (t N +1 | t ) は次に
示す平均と共分散を持つガウス分布に従う。
m(x N +1 ) = k T C −1t
N
σ (x N +1 ) = c − k C k
2 T −1
N
●カーネル関数の制約:
共分散行列Cが正定値
(カーネル行列Kが半正定値)
ガウス過程による回帰の例
(右に行くに従い、不確か
●ガウス過程の利点・欠点 さが大きくなっている)
・利点:無限個の基底関数に対応できる。
・欠点:O(N3)の大きな計算量を必要とする。
(大きな訓練データを使えない)
22
26. 6.4.5 ガウス過程による分類(2)
ガウス過程の事前分布 ロジスティックシグモ
からのサンプル イド関数による変換
目標変数tの確率分布はベルヌーイ分布になる
p (t | a ) = σ (a ) (1 − σ (a ))
t 1−t
目的:予測分布 p(t N +1 | t ) の決定
25
27. 6.4.5 ガウス過程による分類(3)
◆導出の流れ
a N +1 = {a (x1 ),, a (x N +1 )} のガウス過程事前分布を考える
⇒ tN+1に対する非ガウス過程事前分布が導かれる
⇒ tNが与えられた下での予測分布が与えられる
aN+1に対するガウス過程事前分布は
p (a N +1 ) = N (a N +1 | 0, C N +1 )
回帰問題と異なり、共分散行列にノイズが含まれない
→行列の正定値性を保証するためノイズのような項をいれる
26
28. 6.4.5 ガウス過程による分類(4)
※2クラス分類問題なので p (t N +1 = 1 | t N ) を求めるので十分
p (t N +1 = 1 | t N ) = ∫ p (t N +1 = 1 | a N +1 ) p (a N +1 | t N )da N +1
σ (a N +1 )
この積分を解析的に解くのは不可能
サンプリング、またはガウス分布による近似
●ガウス分布による近似
①変分推論法(10.1節)に基づく方法
②EP法(10.7節)を用いる方法
③ラプラス近似(4.4節)を用いた方法 次の節
27
29. 6.4.6 ラプラス近似
p (a N +1 | t N ) のラプラス近似
E[a N +1 | t N ] = k T (t N − σ N )
−1 −1
var[a N +1 | t N ] = c − k ( W + C N ) k
T
N
よって、近似式
∫ σ (a) Ν (a | µ , σ )da ≅ σ (κ (σ ) µ )
2 2
(4.153)
( κ (σ ) = (1 + πσ / 8)
2 2 −1 / 2
)
により解くことができる。
28