Upload
ngokhanh
View
218
Download
2
Embed Size (px)
Citation preview
2/50Introduction
@§3 回帰 / @§4 分類 — linear, parametric
kernel function k(x, x′) = φ(x)Tφ(x′)
– ある特徴空間上での内積, 対称k(x, x′) = k(x′, x)– 恒等カーネル k(x, x′) = xTx′
– 不変カーネル k(x, x′) = k(x − x′)– 均一カーネル k(x, x′) = k(||x − x′||)
kernel trick
– kernelを用いて特徴空間上でごにょごにょする技法
@taki0313
3/50
−1 0 1−1
−0.5
0
0.5
1
−1 0 10
0.25
0.5
0.75
1
−1 0 10
0.25
0.5
0.75
1
−1 0 1−0.4
0.0
1.0
−1 0 10.0
1.0
2.0
−1 0 10.0
3.0
6.0
Figure 1: kernelとk(x,x’)をx’を×としてxの関数にしたもの@taki0313
5/50双対表現 — dual representation
正則化項付き線形回帰の評価式
– J(w) = 12
∑{wTφ(xn) − tn}2 + λ
2wTw
– wについての勾配=0
w = − 1λ
∑{wTφ(xn)}φ(xn) =
∑anφ(xn) = ΦTa
– ΦT = (φ(x1) · · ·φ(xN))
パラメータの変換 w a — w = ΦTa → J(w)
– J(a) = 12a
TΦΦTΦΦTa − aTΦΦTt + 12t
Tt + λ2a
TΦΦTa
グラム行列 — Knm ≡ φ(xn)Tφ(xm) = k(xn, xm)
@taki0313
6/50双対表現 — dual representation
Kを用いて
– K = ΦΦT
– J(a) = 12a
TKKa − aTKt + 12t
Tt + λ2a
TKa
w = ΦTa を anの式に代入して
– λan + aTΦφ(xn) = tn → (λIN + K)a = t
予測の式
– y(x) = aTΦφ(x)– y(x) = k(x)T(K + λIN)−1t — k(x) = k(xn, x)
@taki0313
7/50双対表現 — dual representation
kernel method — グラム行列K(NxN)の逆行列を求める
基底関数 — 計画行列Φ(MxM)の逆行列を求める
一般に…
– N >> M
– グラム行列の逆行列を求めるコストは大きい 全てをカーネルkの上で行なえるのが嬉しいことらしい。
@taki0313
9/50カーネル関数の構成
カーネル関数 — 特徴空間上への写像 φ(x)
カーネルkが有効か? ある空間上での内積になること
– (xTz)2 = (x1z1 + x2z2)2 = x2
1z21 + 2x1z1x2z2 + x2
2z22
– = (x21 ,√
2x1x2, x22)(z
21 ,√
2z1z2, z22)
T = φ (x)Tφ (z)
カーネルkが有効か? グラム行列K が半正定値行列
カーネルの構成法 — (6.13) ∼ (6.22)
@taki0313
10/50カーネルの作り方
k(x, x′) = ck1(x, x′)k(x, x′) = f (x)k1(x, x′)f (x′)k(x, x′) = q(k1(x, x′))k(x, x′) = exp(k1(x, x′))k(x, x′) = k1(x, x′) + k2(x, x′)k(x, x′) = k1(x, x′)k2(x, x′)k(x, x′) = k3(φ(x), φ(x′))k(x, x′) = xTAxk(x, x′) = ka(xa, x′a) + kb(xb, x′b)k(x, x′) = ka(xa, x′a)kb(xb, x′b)
– cは定数、fは任意の関数
– qは非負の係数をもつ多項式
– Φ : x → RM
– k3はRM上のkernel
– Aは対称, 半正定値– x = (xa, xb)
– ka, kbはそれぞれで有効なkernel
@taki0313
11/50有名なカーネル
ガウスカーネル k(x, x′) = exp(−12||x − x′||2)
– ||x − x′||2 = xTx + (x′)Tx′ − 2xTx′
– カーネルトリック — → κ(x, x) + κ(x′, x′) − 2κ(x, x′)
シグモイドカーネル k(x, x′) = tanh(axTx′ + b)
@taki0313
12/50確率的生成モデル → カーネル
生成モデル p(x) → k(x, x′) = p(x)p(x′)
一般化
– 離散 — k(x, x′) =∑
i p(x|i)p(x′|i)p(i)
– 連続 — k(x, x′) =∫
p(x|z)p(x′|z)p(z)dz
HMM → §13
– よく知らないので…– k(X,X′) =
∑Z p(X|Z)p(X′|Z)p(Z)
@taki0313
13/50生成モデル → カーネル
parametric な生成モデル — p(x|θ)
フィッシャーカーネル
– フィッシャースコア — g(θ, x) = ∇θ ln p(x|θ)– フィッシャー情報量行列 — F = Eθ[g(θ, x)g(θ, x)T ]
近似 — F ∼ 1N
∑g(θ, xn)g(θ, xn)
T
– フィッシャーカーネル∗ k(x, x′) = g(θ, x)TF−1g(θ, x′)∗ k(x, x′) = g(θ, x)Tg(θ, x′)
@taki0313
15/50RBF network — Radial Basis Function
関数補間
– 入力集合 {x1, x2, · · · , xN, }{t1, t2, · · · , tN}– 1 ≤ n ≤ Nについて f (xn) = tnになる関数 fを求める– f (x) =
∑wnh(||x − xn||) として{wn} を最小二乗法で求める。
— 過学習
ノイズが入る場合の補間
– ノイズの分布 ν(ξ) — 確率変数ξ
– 二乗誤差 E = 12
∑Nn=1
∫{y(xn + ξ) − tn}2ν(ξ)dξ
@taki0313
16/50RBF network — Radial Basis Function
変分法による最適化
– Nadaraya-Watson Model.
– y(x) =∑
tnh(x − xn), h(x − xn) =ν(x − xn)∑ν(x − xn)
– 正則化 → 全ての関数が小さい値にならにように
−1 −0.5 0 0.5 10
0.2
0.4
0.6
0.8
1
−1 −0.5 0 0.5 10
0.2
0.4
0.6
0.8
1
@taki0313
17/506.3.1 Nadaraya-Watson Model
§3.3.3 — 新しい入力xに対する予測を線形結合の式で行う
– y(x,mN) =∑
k(x, xn)tn — 等価カーネル– 和の制約を満たしている
回帰 密度推定
– 訓練集合 {xn, tn} → p(x, t)の推定 — Parzen推定法(§2.5.1)
– p(x, t) = 1N
∑f (x − xn, t − tn) — 各要素を中心に持つ
– 条件付き期待値 が良い — y(x) = E[t|x] =∫ ∞−∞ tp(t|x)dt
– E[t|x] =
∫tpdt∫pdt
=
∑n
∫tf (x − xn, t − tn)dt∑
m
∫f (x − xm, t − tm)dt
@taki0313
18/506.3.1 Nadaraya-Watson Model
y(x) = E[t|x] =
∫tpdt∫pdt
=
∑n
∫tf (x − xn, t − tn)dt∑
m
∫f (x − xm, t − tm)dt
簡単化 — 各要素の平均は0 —∫
tf (x, t)dt = 0
変数置換 → Nadaraya-Watson Model
– y(x) =∑
n g(x − xn)tn/∑
m g(x − xm) =∑
n k(x, xn)tn– g(x) =
∫ ∞−∞ f (x, t)dt
– k(x, xn) = g(x − xn)/∑
m g(x − xm)
@taki0313
19/506.3.1 Nadaraya-Watson Model
条件付き確率分布— p(t|x) = p(t, x)/∫
p(t, x)dt
例 — 1次元、f (x , t) ∼ N (0,σ2), z = (x , t) の場合
0 0.2 0.4 0.6 0.8 1−1.5
−1
−0.5
0
0.5
1
1.5 • sin(緑)
• データ点(青)
• 条件付き期待値(赤)
• 赤±2σ
@taki0313
21/50ガウス過程
確率過程
– 任意の有限な値集合 {y1, y2, · · · , yn}に対して矛盾のない同時分布を与えるもの
– その同時分布がガウス分布 — ガウス過程
§6.1 回帰、双対性→カーネル — 非確率的モデル
確率的識別モデル + カーネル法 — ガウス過程
@taki0313
22/506.4.1 線形回帰の復習
線形回帰モデルy(x) = wTφ(x)パラメータの事前分布 p(w) = N (w|0,α−1I )
入力 {x1, x2, · · · , xN}による評価 {y(x1), y(x2), · · · , y(xN)}による評価→ {yn}, y = (y1, y2, · · · , yN)T を評価する
– E[y] = ΦE[w] = 0– Cov [y] = ΦCov [wwT]ΦT = 1
αΦΦT = K– Knm = k(xn, xm) = 1
α φ(xn)Tφ(xm)
線形回帰はガウス過程の特殊な場合
@taki0313
23/50ガウス過程
同時分布の性質が平均、共分散で完全に記述される
– 平均(1次モーメント) =0とする = p(w|α)の平均を0
– ガウス過程 ← カーネル関数 — E[y(xn), y(xm)] = k(xn, xm)
−1 −0.5 0 0.5 1−3
−1.5
0
1.5
3
−1 −0.5 0 0.5 1−3
−1.5
0
1.5
3
カーネル&ガウス過程から取り出した関数
@taki0313
24/50カーネル関数の直接定義
図(左) — ガウスカーネル k(x, x′) = exp(−||x−x′||22σ2 )
図(右) — 指数カーネル k(x, x) = exp(−θ|x − x′|)— オルンシュタイン-ウーレンベック過程
@taki0313
25/506.4.2 ガウス過程による回帰
ガウス分布のノイズを考える — tn = yn + εn
p(tn|yn) = N (tn|yn, β−1)
データ y = (y1, · · · , yN)T と t = (t1, · · · , tN)が与えられるその同時分布が等方的ガウス分布になるとする(ガウス過程)
– p(t|y) = N (t|y, β−1IN)
– p(y) = N (y|0,K)
– K は xn, xmが似ていれば大きい値になる
実際の予測のための分布 p(t)
@taki0313
26/506.4.2 ガウス過程による回帰
実際の予測のための分布 p(t)を考える
– p(t) =∫
p(t|y)p(y)dy ∼ N (t|0,C)
– C(xn, xm) = k(xn, xm) + β−1δnm
– データとノイズが独立なので共分散を加えるだけでいい
回帰に使われるようなモデル
k(xn, xm) = θ0 exp{−θ12 ||xn − xm||2} + θ2 + θ3xT
nxm
— (θ0, θ1, θ2, θ3)毎のプロット : 図6.5
@taki0313
27/50図6.5 — 事前分布からのサンプル
(1.00, 4.00, 0.00, 0.00)
−1 −0.5 0 0.5 1−3
−1.5
0
1.5
3(9.00, 4.00, 0.00, 0.00)
−1 −0.5 0 0.5 1−9
−4.5
0
4.5
9(1.00, 64.00, 0.00, 0.00)
−1 −0.5 0 0.5 1−3
−1.5
0
1.5
3
(1.00, 0.25, 0.00, 0.00)
−1 −0.5 0 0.5 1−3
−1.5
0
1.5
3(1.00, 4.00, 10.00, 0.00)
−1 −0.5 0 0.5 1−9
−4.5
0
4.5
9(1.00, 4.00, 0.00, 5.00)
−1 −0.5 0 0.5 1−4
−2
0
2
4
@taki0313
28/50図6.6 — 同時分布からのサンプル
x
t
−1 0 1−3
0
3 ガウス過程の事前分布からサンプリングされた関数 f
入力 {xn}
入力に対する{yn} (赤)
サンプル {tn}(緑)
– ノイズ入り
@taki0313
29/506.4.2 ガウス過程による回帰
これまで — ガウス過程の視点からの同時分布のモデル化
新しい入力に対する予測が必要
– 訓練集合 {x1, · · · , xN}, t = (t1, · · · , tN)T
– 入力 xN+1 , その予測値 tN+1
– 予測分布 p(tN+1|tN)
– 同時分布 p(tN) を書き下す– tN+1 = (t1, · · · , tN, tN+1)
T
@taki0313
30/50予測分布
p(tN+1) = N (tN+1|0,CN+1) — (6.61)より
共分散行列の分割
— CN+1 =
(CN kkT c
)— 正定値でなければならない
— c = k(xN+1, xN+1) + β−1, kの要素はk(xn, xN+1)
2章の結果から、条件付き分布p(tN+1|t)は
– m(xN+1) = kTC−1N t
– σ2(xN+1) = c − kTC−1N k
@taki0313
31/50予測分布
事前分布&条件付き分布はガウス分布
予測分布の平均・分散もxN+1に依存
t1
t2
m(x2)
−1 0 1
−1
0
1
訓練/テストデータが1つずつ
• 楕円 — 同時分布 p(t1, t2)
• t1 — 訓練データ(青)
• t1に依存して p(t2|t1)(緑)
@taki0313
32/50予測分布
ガウス過程による回帰の例
0 0.2 0.4 0.6 0.8 1
−1
−0.5
0
0.5
1
• sin関数(緑)
• データ(右3つ以外, 青)
• ガウス過程による予測分布の平均(赤)
• 標準分布の2倍ぐらい(薄い赤)
@taki0313
33/506.4.2 ガウス過程による回帰
Kの固有値λi → Cの固有値λi + β−1
– k(xn, xm)が∀xn, xmに関して半正定値であればいい
予測分布の平均
– m(xN+1) =∑
ank(xn, xN+1)
– anはC−1N tのn番目の要素
– kが動径に依存するならRBFが使える
計算量
– ガウス過程 NxNの逆行列 O(N3) — 基底による回帰 O(M3)
@taki0313
34/506.4.3 超パラメータの学習
予測が共分散の選び方にある程度依存する → parametric
ハイパーパラメータθ → p(t|θ)
– θの点推定, 共役勾配法
ガウス分布&ガウス過程では…
– ln p(t|θ) = −12 ln |CN| − 1
2tTC−1
N t − N2 ln(2π)
– 勾配 — ∂∂θi
ln p(t|θ) = −12Tr(C−1
N∂CN∂θi
) + 12t
TC−1N
∂CN∂θi
C−1N t
一般には非凸関数で、近似的に解く。以下略
@taki0313
35/506.4.4 関連度自動決定
関連度自由決定(ARD) —ニューラルネットから提案された何か
詳しくは §7.2.2
例 — 2次元の入力空間x = (x1, x2)をもつガウス過程
– カーネル k(x, x′) = θ0 exp{−1
2
∑ηi(xi − x ′
i )2}
@taki0313
36/50図6.9 — ARD事前分布からのサンプル
−1
0
1
−1
0
1−1
0
1
−1
0
1
−1
0
1−1
0
1
η1 = η2 = 1 (左)
η1 = 1, η2 = 0.01 (右)
ηは入力に対する敏感さ
ARDの文脈から出力の予測にあまり寄与しない入力変数を求められる。
@taki0313
37/50図6.10 — ARDにおけるηの変化
0 20 40 60 80 10010
−4
10−2
100
102
3次元の入力 x1, x2, x3
最適化 — 共役勾配法
目標変数t
– x1:ガウス分布、100個– x2はx1+ノイズ– x3はランダムなノイズ– sin(2πx1)+ノイズ
η1 > η2 >>>> η3
@taki0313
38/506.4.4 ARD
ARD → 指数・2次カーネル
– k(xn, xm) = θ0 exp{−12
∑ηi(xni − xmi)
2} + θ2 + θ3
∑xnixmi
種々の応用において有用らしいカーネル
@taki0313
39/506.4.5 ガウス過程による分類
確率的な分類 → 事後確率 ∈ (0, 1)
ガウス過程 → 実数値全体 → 活性化関数 → 分類問題
2クラス分類問題 t ∈ {0, 1}
– 関数a(x)上でのガウス過程を考える– y = σ(a)と変換する– y ∈ {0, 1}へ落とす– 1次元の例 — 図6.11
@taki0313
40/50図6.11
−1 −0.5 0 0.5 1−10
−5
0
5
10
−1 −0.5 0 0.5 10
0.25
0.5
0.75
1
• 上図
– a(x)に対するガウス過程の事前分布からのサンプル
• 下図
– ロジスティックシグモイド関数で変換した
@taki0313
41/506.4.5 ガウス過程による分類
目標変数tの確率分布 — ベルヌーイ分布
– p(t|a) = σ(a)t(1 − σ(a))1−t
入力の訓練集合{x1, · · · , xN}
対応する目標変数の観測値t = (t1, t2 · · · , tN)T
テスト点xN+1に対するtN+1を予測
– 予測分布p(tN+1|t)を決定する– 要素a(x1), · · · , a(xN+1)を持つベクトルaN+1
@taki0313
42/506.4.5 ガウス過程による分類
ベクトルaN+1い対するガウス過程による事前分布
– p(aN+1) = N (aN+1|0,CN+1)
– 正しいラベルが付いている → CNにはノイズが入ってない– 正定値保証のためにパラメータνの項を入れる– C (xn, xm) = k(xn, xm) + νδnm
– カーネルはパラメータθによって決まる
2クラス分類 — p(tN+1 = 1|tN)を予測する
– p(tN+1 = 1|tN) =∫
p(tN+1 = 1|aN+1)p(aN+1|tN)daN+1
@taki0313
43/506.4.5 ガウス過程による分類
p(tN+1 = 1|tN) =∫
p(tN+1 = 1|aN+1)p(aN+1|tN)daN+1
解析的に解けない
– 詳細略– 漸近的にガウス分布に近づく– どうやってガウス分布として近似するか∗ 10.1 変分推論法∗ 10.7 EP法∗ 6.4.6 ラプラス近似
@taki0313
44/506.4.6 ラプラス近似
ベイズの定理 & p(tN|aN+1, aN) = p(tN|aN) より
p(aN+1|tN) =
∫p(aN+1, aN|tN)daN
=1
p(tN)
∫p(aN+1, aN)p(tN|aN+1, aN)daN
=1
p(tN)
∫p(aN+1|aN)p(aN)p(tN|aN)daN
=
∫p(aN+1|aN)p(aN|tN)daN
@taki0313
45/506.4.6 ラプラス近似
条件付き分布 — (6.66), (6.67)
– p(aN+1|aN) = N (aN+1|kTC−1N aN, c − kTC−1
N k)
積分 → ラプラス近似 & ガウス分布の畳み込み
p(aN) — 平均0, 共分散行列CNであるガウス過程による
データについての項(各々独立として…)
– p(tN|aN) =∏N
n=1 σ(an)tn(1 − σ(an))
1−tn =∏N
n=1 eantnσ(−an)
@taki0313
46/506.4.6 ラプラス近似
定数項を無視してラプラス近似
– Ψ(aN) = ln p(aN) + ln p(tN|aN)
= −12a
TNCNaN − N
2 ln(2π)− 12 ln |CN|+ tTNaN −
∑Nn=1 ln(1 + ean)
– ∇Ψ(aN) = tN − σN − C−1N aN
σNの要素はσ(an)
– ∇∇Ψ(aN) = −WN − C−1N
Wは対角要素にσ(an)(1 − σ(an))を持つ正定値行列dσda = σ(1 − σ)(4.88)
正定値行列の和も正定値行列 (演習6.24)
@taki0313
47/506.4.6 ラプラス近似
ヘッセ行列 A = −∇∇Ψ(aN)が正定値— 事後分布p(aN|tN)の対数が凸関数
凸関数 — 極小・極大 = 最小・最大
逐次更新で最適解を目指せる— Newton-Raphson medhot (4.92)
– anewN = CN(I + WNCN)−1{tN−σN + WnaN}
– a∗N に収束するまで — モード– このとき a∗N = CN(tN−σN)
収束時のヘッセ行列 H = −∇∇Ψ(aN) = WN + C−1N
@taki0313
48/506.4.6 ラプラス近似
収束時の、事後分布p(aN|tN)のガウス分布による近似
– q(aN) = N (aN|a∗N,H−1)
2つのガウス分布の畳み込み積分の評価 — 2章
– E[aN+1|tN] = kT(tN − σN)
– var [aN+1|tN] = c − kT(W−1N + CN)−1k
→ガウス分布の情報が得られたので…
@taki0313
49/506.4.6 ラプラス近似
共分散パラメータθの決定
– 尤度最大化, 最尤推定– 尤度関数p(tN|θ) =
∫p(tN|aN)p(aN|θ)daN
近似
– ln p(tN|θ) = Ψ(a∗N) − 12 ln |WN + C−1
N | + N2 ln(2π)
Ψ(a∗N) = ln p(a∗N) + ln p(tN|a∗N)
θの微分がCNとaNの二種類の項が表れる(以下略?)
@taki0313