SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
ガウス過程(Gaussian processes)に関するメモ(1)
正田 備也
平成 19 年 7 月 15 日
本稿の参考文献は [1] です.その第 2 章を縮めて紹介しますが,直接読むほうが分かりやすいかもしれません.
1 雑音をともなう線形回帰モデル
あるブラックボックスがあって,p 次元のベクトル x が入力として与えられると,ひとつの数値 y を出力すると
します.このブラックボックスの中身がどうなっているのかを説明するために,モデルをつくることにします.本
稿では,ガウス雑音をともなう線形回帰モデルを考えます.これは
f(x) = x w, y = f(x) + ε (1)
という式で書くことのできるモデルです.まず,入力ベクトル x と,モデルのパラメータであるベクトル w との内
積が求められます.これでひとつの数値 f(x) が得られますが,さらにガウス雑音 ε が加わります.ガウス雑音とは,
ガウス分布(=正規分布)で表される雑音で,本稿では平均が 0,分散が σ2
n とします.つまり ε ∼ N(0, σ2
n) です.
なお,このノイズは,別々の入力ベクトルに対して独立に定まるとします.また,ブラックボックスに与えられる
個々の入力ベクトルも互いに独立とします.
たくさんの入力ベクトルを,まとめて X と行列で書くことにします.入力ベクトルの個数を n とします.X は
p × n 行列で,n 個の列のそれぞれが,別々の入力ベクトルに対応しています.そして,これら n 個の入力ベクトル
の各々について得られる出力 y も,縦に並べて y と書くことにします.y は n 次元ベクトルになります.
別々の入力ベクトルに対する出力は,互いに独立となりますので,出力を並べたベクトルとして y = (y1, . . . , yn)
(y は縦ベクトルなので をつけました.)というベクトルを得る確率 p(y|X, w) は
p(y|X, w) =
n
i=1
p(y1|xi, w) =
n
i=1
1
√
2πσn
exp −
(yi − xi w)2
2σ2
n
=
1
(2πσ2
n)n/2
exp −
1
2σ2
n
|y − X w|2
=
1
(2πσ2
n)n/2
exp −
1
2
(y − X w) (σ2
nI)−1
(y − X w) = N(X w, σ2
nI) (2)
となり,平均が X w,共分散行列が σ2
nI のガウス分布になっています.
2 事前分布
ここで,モデルのパラメータ w の事前分布を導入します.事前分布は,N(w0, Σ0) という正規分布とします.参
考文献 [1] では w の従うガウス分布の期待値ベクトルはゼロベクトルですが,本稿では期待値ベクトルを w0 とし
て,しばらくは議論を続けます.ベイズ則 p(w|X, y) ∝ p(y|X, w)p(w) より,事後分布 p(w|X, y) は
p(w|X, y) ∝ exp −
1
2σ2
n
|y − X w|2
exp −
1
2
(w − w0) Σ−1
0 (w − w0) (3)
1
となります.w に依存しない項は省き,「比例する(∝)」という記号を使って式を書きました.
では,式 (3) を平方完成 (completing the square) します.参考文献では省かれている計算を実際にやってみます.
w に依存しない項は定数とみなし,式の変形を進めていきます.
p(w|X, y) ∝ exp −
1
2σ2
n
(y − X w) (y − X w) exp −
1
2
(w − w0) Σ−1
0 (w − w0)
= exp −
1
2σ2
n
(y − X w) (y − X w) −
1
2
(w − w0) Σ−1
0 (w − w0)
∝ exp −
1
2σ2
n
{y − X (w − w0)} {y − X (w − w0)} −
1
σ2
n
w XX w0 −
1
2
(w − w0) Σ−1
0 (w − w0)
∝ exp −
1
2σ2
n
{(w − w0) XX (w − w0) − 2y X (w − w0)} −
1
2
(w − w0) Σ−1
0 (w − w0)
−
1
σ2
n
w XX w0
= exp −
1
2
(w − w0) (
1
σ2
n
XX + Σ−1
0 )(w − w0) +
1
σ2
n
y X (w − w0) −
1
σ2
n
w XX w0
∝ exp −
1
2
(w − w0) (
1
σ2
n
XX + Σ−1
0 )(w − w0) +
1
σ2
n
y X (w − w0) −
1
σ2
n
(w − w0) XX w0
= exp −
1
2
(w − w0) (
1
σ2
n
XX + Σ−1
0 )(w − w0) + 2 ·
1
2
(w − w0) {
1
σ2
n
X(y − X w0)}
= exp −
1
2
(w − w0) (
1
σ2
n
XX + Σ−1
0 ){(w − w0) −
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0)}
+ ·
1
2
{
1
σ2
n
X(y − X w0)} (w − w0)
∝ exp −
1
2
(w − w0) (
1
σ2
n
XX + Σ−1
0 ){(w − w0) −
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0)}
+ ·
1
2
{
1
σ2
n
X(y − X w0)} {(w − w0) −
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0)}
= exp −
1
2
{w − w0 −
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0)}
(
1
σ2
n
XX + Σ−1
0 ){w − w0 −
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0)} (4)
式 (4) は,事後分布 p(w|X, y) がガウス分布に従うことを示しています.期待値ベクトル ¯w は
¯w = w0 +
1
σ2
n
(
1
σ2
n
XX + Σ−1
0 )−1
X(y − X w0) (5)
であり,共分散行列は (σ−2
n XX + Σ−1
0 )−1
です.ここで,この共分散行列の逆行列 σ−2
n XX + Σ−1
0 を A とおく
と,式 (5) で与えられる平均ベクトルは
¯w = w0 + A−1
(
1
σ2
n
Xy −
1
σ2
n
XX w0) = w0 + A−1 1
σ2
n
Xy − A−1
(A − Σ−1
0 )w0 = A−1 1
σ2
n
Xy + A−1
Σ−1
0 w0
= A−1
(
1
σ2
n
Xy + Σ−1
0 w0) (6)
と,すっきりと書き直せます.これは,参考文献 [2] の式 (3.50) に一致しています.
3 予測分布
次に,以上の結果を用いて,予測を行います.つまり,新たに入力ベクトル x* が与えられたとき,これに対して
件のブラックボックスが出す値を予測します.ここで予測するのは,ノイズが加わる前の値 f(x*) = x
*
w です.
2
p 次元ベクトル w が従うガウス分布は,期待値ベクトルが 0 で共分散行列が単位行列のガウス分布(つまり標準
ガウス分布)に従う p 次元ベクトル z を,w = Bz + ¯w と線形変換した p 次元ベクトル w が従う確率分布と見なす
ことができます.ただし A−1
= BB が成り立ちます.
f(x*) は x* w に等しいので,x* w = x* Bz + x* ¯w が従う確率分布を求めれば,p(f*) が得られます.こ
れは,標準ガウス分布に従う p 次元ベクトル z に,x* B を右から掛け,さらに x* ¯w を足すことで得られるスカ
ラ値が従う確率分布です.つまり,z と比べると,線形変換を加えただけなので,得られる確率分布はやはりガウ
ス分布であり,平均は x* ¯w,分散は x* B(x* B) = x* BB x* = x* A−1
x* となります.つまり,
p(f*) ∼ N(x* ¯w, x* A−1
x*) (7)
が得られます.
いま,大半を言葉で説明したことを式で書くと
p(f*) = p(f*|x*, w)p(w|X, y)dw ∼ N(x* ¯w, x* A−1
x*) (8)
というように予測分布 p(f*) を求めたことになっています.つまり,w の事前分布を導入して,w についての周辺
化の積分計算をして,p(f*) を求めたことになっています.
4 共分散関数
ここからは,w0 = 0 と仮定します.このとき,式 (6) より ¯w = 1
σ2
n
A−1
Xy となります.ここで
A =
1
σ2
n
XX + Σ−1
0
AΣ0 = (
1
σ2
n
XX + Σ−1
0 )Σ0 =
1
σ2
n
XX Σ0 + I
AΣ0X = (
1
σ2
n
XX Σ0 + I)X =
1
σ2
n
XX Σ0X + X =
1
σ2
n
X(X Σ0X + σ2
nI)
Σ0X =
1
σ2
n
A−1
X(X Σ0X + σ2
nI)
Σ0X(X Σ0X + σ2
nI)−1
=
1
σ2
n
A−1
X (9)
という計算をして得られる関係式
1
σ2
n
A−1
X = Σ0X(X Σ0X + σ2
nI)−1
をつかって,予測分布 p(f*) の期待値 x* ¯w を書き直します.
x* ¯w =
1
σ2
n
x* A−1
Xy = x* Σ0X(X Σ0X + σ2
nI)−1
y (10)
さらに
Σ0 −
1
σ2
n
A−1
XX Σ0 = (I −
1
σ2
n
A−1
XX )Σ0
= A−1
(A −
1
σ2
n
XX )Σ0
= A−1
(
1
σ2
n
XX + Σ−1
0 −
1
σ2
n
XX )Σ0 = A−1
(11)
という式の変形より,予測分布 p(f*) の分散は
x* A−1
x* = x* (Σ0 −
1
σ2
n
A−1
XX Σ0)x* = x* Σ0x* − x* Σ0X(X Σ0X + σ2
nI)−1
X Σ0x* (12)
3
となります.
式 (10) と式 (12) をよく見ると,k(x, x ) = x Σ0x という記法を導入し,さらに,k(xi, xi ) を第 i 行第 i 列の要
素としてもつ行列を K と書くとともに,k(x*, xi) を第 i 要素とする縦ベクトルを k* と書くことにより,予測分布
p(f*) は
p(f*) ∼ N(k* (K + σ2
nI)−1
y, k(x*, x*) − k* (K + σ2
nI)−1
k*) (13)
と,かなりすっきり書き直せることが分かります.
ところで Σ0 は w の従うガウス分布の共分散行列でした.これは ww の期待値 E[ww ] です.よって,
k(x, x ) = x Σ0x = x E[ww ]x = E[x ww x ] = E[(w x) w x ] = E[f(x)f(x )] (14)
より,k(x, x ) は f(x)f(x ) の期待値になっています.この k(x, x ) を,共分散関数と呼びます.直感的には,異な
る入力ベクトルが与える関数値の散らばり具合を表現する関数です.なお,f(x) = w x の期待値は,w の期待値
ベクトルがゼロベクトルですので,ゼロとなります.したがって
ガウス雑音をともなう線形回帰モデルの予測分布 p(f*) は,雑音が従うガウス分布のパラメータ σn を
除けば,入力ベクトルの関数 f(x) = w x について,その関数値ふたつの積の期待値 E[f(x)f(x )] が任
意の入力ベクトルの対 x,x について計算できるならば,求められる.
と言うことができます.これを一般化すると,次のようになります.
ガウス雑音をともなう確率モデルには,その予測分布 p(f*) が,雑音が従うガウス分布のパラメータ σn
を除けば,入力ベクトルのある関数 f(x) について,その関数値ふたつを掛けた値の期待値 E[f(x)f(x )]
が任意の入力ベクトルの対 x,x について計算できるならば,求められるものがある.
関数 f(x) の期待値がゼロでない場合も考慮に入れると,実は次のようになります.
ガウス雑音をともなう確率モデルには,その予測分布 p(f*) が,雑音が従うガウス分布のパラメータ σn
を除けば,入力ベクトルのある関数 f(x) について,その関数値の期待値 m(x) = E[f(x)] が任意の入
力ベクトル x について計算でき,その関数値の期待値からのズレふたつを掛けた値の期待値 E[(f(x) −
m(x))(f(x ) − m(x))] が任意の入力ベクトルの対 x,x について計算できるならば,求められるものが
ある.
おおよそ,この表現にかなう確率過程 f(x) が,ガウス過程です.
いま f(x) のことを「確率過程」と呼びましたが,これは,f(x) が,単なる関数ではないからです.線形回帰モ
デルでは、f(x) を規定するパラメータの値が固定されてはじめて、x に対してある値を返すひとつの関数が得られ
ます。そして、そのパラメータがある確率分布に従っているということは、f(x) は、特定の関数を値としてとる確
率変数だと言えます。一般には、どの有限個をとってもそれらの結合分布が何らかの確率分布になっているような
確率変数の集まりを、確率過程と呼びます.
5 ガウス過程の定義
ガウス過程 (Gaussian process) は,正確には,次のように定義されます.
ガウス過程とは,確率変数の集まりであって,どの有限個をとっても,その結合分布がガウス分布になっ
ているようなものを,いう.
4
そして,ガウス過程は,期待値関数と共分散関数という,ふたつの関数によって特定されます.期待値関数を m(x),
共分散関数を k(x, x ) と書くことにします.
期待値ベクトルがゼロベクトルのガウス分布を事前分布とする線形回帰モデルは,ガウス過程のひとつの例です.
期待値関数は,m(x) = E[f(x)] = E[w x] = E[w ]x = 0 より恒等的にゼロを与える関数であり,共分散関数は,
k(x, x ) = E[(f(x) − m(x))(f(x ) − m(x))] = E[f(x)f(x )] = E[(w x) w x ] = E[x ww x ]
= x E[ww ]x = x Σ0x (15)
と得られます.
式 (10) で与えた予測分布
p(f*) ∼ N(k* (K + σ2
nI)−1
y, k(x*, x*) − k* (K + σ2
nI)−1
k*) (16)
は,以下のように,実はこのままのかたちで,一般の雑音をともなうガウス過程 y = f(x) + ε に適用できます.
既知の入力ベクトル群 x1, . . . , xn についての関数値を並べた縦ベクトルを f とします.ガウス過程の定義より,f
と予測値 f* の結合分布はガウス分布になります.ここでは,期待値関数は常にゼロを与えるものとします.そして,
共分散関数のみを考慮します.f と予測値 f* の結合分布であるガウス分布の共分散行列は (n + 1) × (n + 1) 行列で
あり,第 i 行第 i 列が k(xi, xi ) となっています.ただし,xn+1 = x* です.
さらに,ガウス雑音も考慮します.今度は,既知の入力ベクトル群 x1, . . . , xn についての出力値,つまり,関数値
に雑音が加わったものを並べた縦ベクトルを y とします.雑音がガウス分布に従うので,これら出力値の結合分布も,
ガウス分布になります.雑音の分散を σ2
n とすると,出力値の共分散行列では,第 i 行第 i 列が k(xi, xi ) + σ2
nδii
となっています.δii は i = i のとき,またそのときに限り 1 となり,残りの場合は 0 となるクロネッカのデルタで
す.このようになるのは,雑音が各関数値に独立に加わると仮定しているためです.そして,y と,予測値 f* との
結合分布もまたガウス分布となり,以下のように書くことができます.
y
f*
∼ N 0,
K + σ2
nI k*
k
*
k(x*, x*)
(17)
ただし,k* は,すべての入力ベクトル x についての k(x*, x) をエントリとする縦ベクトルです.
このガウス分布から f* の条件付き確率 p(f*|X, y, x*) を求めると,式 (16) が得られます.ガウス分布の条件付き
確率の求め方については,参考文献 [2] の 2.3.1 節に詳しい説明があります.
では,なぜ,線形回帰モデルだけで済ますことができないのでしょうか.線形回帰モデルの予測分布の分散は、
式 (8) より x
*
A−1
x* = x
*
(σ−2
n XX + Σ−1
0 )−1
x* でした.この式の中で,XX という行列は,入力ベクトルの
個数が増えるにつれて,その要素の値が増加していきます(詳しい議論は参考文献 [2] の 3.3.2 節を参照).すると,
予測分布の分散は,入力ベクトルが増えるほどゼロに近づきます.
つまり,線形回帰モデルでは,訓練データとして用いる入力ベクトルを増やせば増やすほど,予測がほぼ期待値
に一致してしまうということです.例えば,訓練データとして用いた入力ベクトルが,ある領域に集中していると
します.線形回帰モデルを使うと,その領域から遠く離れた入力ベクトルについても,分散がほとんどゼロで,ほ
ぼ期待値に一致するような予測が得られてしまいます.これは,好ましい予測とは言えません.訓練に用いた入力
ベクトルが密集している領域については分散が小さく,そこから離れた領域については分散が大きくなるような予
測のほうが,自然と言えます.これが,ガウス過程が必要となるひとつの理由です.・・・今回はここまで.
参考文献
[1] C. E. Rasmussen and C. K.I. Williams. Gaussian Processes for Machine Learning. The MIT Press, 2006.
[2] C. M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
5

Más contenido relacionado

Destacado

NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告Hidekazu Oiwa
 
20160924 東京R #57 色々試した変化点検知 異常値検知
20160924 東京R #57 色々試した変化点検知 異常値検知20160924 東京R #57 色々試した変化点検知 異常値検知
20160924 東京R #57 色々試した変化点検知 異常値検知siro yui
 
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...Taiji Suzuki
 
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法ksmzn
 
LDA等のトピックモデル
LDA等のトピックモデルLDA等のトピックモデル
LDA等のトピックモデルMathieu Bertin
 
第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知Tetsuma Tada
 
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDAMasayuki Isobe
 
単純ベイズ法による異常検知 #ml-professional
単純ベイズ法による異常検知  #ml-professional単純ベイズ法による異常検知  #ml-professional
単純ベイズ法による異常検知 #ml-professionalAi Makabi
 
確率的主成分分析
確率的主成分分析確率的主成分分析
確率的主成分分析Mika Yoshimura
 
非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2ndMika Yoshimura
 
カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知弘毅 露崎
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professionalAi Makabi
 
Anomaly detection char10
Anomaly detection char10Anomaly detection char10
Anomaly detection char10natsup
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift ModellingYohei Sato
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説akira_11
 
異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知智文 中野
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01akira_11
 

Destacado (19)

NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告
 
20160924 東京R #57 色々試した変化点検知 異常値検知
20160924 東京R #57 色々試した変化点検知 異常値検知20160924 東京R #57 色々試した変化点検知 異常値検知
20160924 東京R #57 色々試した変化点検知 異常値検知
 
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...
PAC-Bayesian Bound for Gaussian Process Regression and Multiple Kernel Additi...
 
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
 
LDA等のトピックモデル
LDA等のトピックモデルLDA等のトピックモデル
LDA等のトピックモデル
 
第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知
 
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA
 
単純ベイズ法による異常検知 #ml-professional
単純ベイズ法による異常検知  #ml-professional単純ベイズ法による異常検知  #ml-professional
単純ベイズ法による異常検知 #ml-professional
 
確率的主成分分析
確率的主成分分析確率的主成分分析
確率的主成分分析
 
20151221 public
20151221 public20151221 public
20151221 public
 
非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd非線形データの次元圧縮 150905 WACODE 2nd
非線形データの次元圧縮 150905 WACODE 2nd
 
カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知カーネル法を利用した異常波形検知
カーネル法を利用した異常波形検知
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professional
 
Anomaly detection char10
Anomaly detection char10Anomaly detection char10
Anomaly detection char10
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
 
異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知異常検知と変化検知 7章方向データの異常検知
異常検知と変化検知 7章方向データの異常検知
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 

Más de Tomonari Masada

Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説Tomonari Masada
 
Denoising Diffusion Probabilistic Modelsの重要な式の解説
Denoising Diffusion Probabilistic Modelsの重要な式の解説Denoising Diffusion Probabilistic Modelsの重要な式の解説
Denoising Diffusion Probabilistic Modelsの重要な式の解説Tomonari Masada
 
Context-dependent Token-wise Variational Autoencoder for Topic Modeling
Context-dependent Token-wise Variational Autoencoder for Topic ModelingContext-dependent Token-wise Variational Autoencoder for Topic Modeling
Context-dependent Token-wise Variational Autoencoder for Topic ModelingTomonari Masada
 
A note on the density of Gumbel-softmax
A note on the density of Gumbel-softmaxA note on the density of Gumbel-softmax
A note on the density of Gumbel-softmaxTomonari Masada
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用Tomonari Masada
 
Expectation propagation for latent Dirichlet allocation
Expectation propagation for latent Dirichlet allocationExpectation propagation for latent Dirichlet allocation
Expectation propagation for latent Dirichlet allocationTomonari Masada
 
Mini-batch Variational Inference for Time-Aware Topic Modeling
Mini-batch Variational Inference for Time-Aware Topic ModelingMini-batch Variational Inference for Time-Aware Topic Modeling
Mini-batch Variational Inference for Time-Aware Topic ModelingTomonari Masada
 
A note on variational inference for the univariate Gaussian
A note on variational inference for the univariate GaussianA note on variational inference for the univariate Gaussian
A note on variational inference for the univariate GaussianTomonari Masada
 
Document Modeling with Implicit Approximate Posterior Distributions
Document Modeling with Implicit Approximate Posterior DistributionsDocument Modeling with Implicit Approximate Posterior Distributions
Document Modeling with Implicit Approximate Posterior DistributionsTomonari Masada
 
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka CompositionLDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka CompositionTomonari Masada
 
A Note on Latent LSTM Allocation
A Note on Latent LSTM AllocationA Note on Latent LSTM Allocation
A Note on Latent LSTM AllocationTomonari Masada
 
Word count in Husserliana Volumes 1 to 28
Word count in Husserliana Volumes 1 to 28Word count in Husserliana Volumes 1 to 28
Word count in Husserliana Volumes 1 to 28Tomonari Masada
 
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet AllocationA Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet AllocationTomonari Masada
 
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...Tomonari Masada
 
A Note on BPTT for LSTM LM
A Note on BPTT for LSTM LMA Note on BPTT for LSTM LM
A Note on BPTT for LSTM LMTomonari Masada
 
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...Tomonari Masada
 
A Note on PCVB0 for HDP-LDA
A Note on PCVB0 for HDP-LDAA Note on PCVB0 for HDP-LDA
A Note on PCVB0 for HDP-LDATomonari Masada
 

Más de Tomonari Masada (20)

Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説
 
Denoising Diffusion Probabilistic Modelsの重要な式の解説
Denoising Diffusion Probabilistic Modelsの重要な式の解説Denoising Diffusion Probabilistic Modelsの重要な式の解説
Denoising Diffusion Probabilistic Modelsの重要な式の解説
 
Context-dependent Token-wise Variational Autoencoder for Topic Modeling
Context-dependent Token-wise Variational Autoencoder for Topic ModelingContext-dependent Token-wise Variational Autoencoder for Topic Modeling
Context-dependent Token-wise Variational Autoencoder for Topic Modeling
 
A note on the density of Gumbel-softmax
A note on the density of Gumbel-softmaxA note on the density of Gumbel-softmax
A note on the density of Gumbel-softmax
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用
 
Expectation propagation for latent Dirichlet allocation
Expectation propagation for latent Dirichlet allocationExpectation propagation for latent Dirichlet allocation
Expectation propagation for latent Dirichlet allocation
 
Mini-batch Variational Inference for Time-Aware Topic Modeling
Mini-batch Variational Inference for Time-Aware Topic ModelingMini-batch Variational Inference for Time-Aware Topic Modeling
Mini-batch Variational Inference for Time-Aware Topic Modeling
 
A note on variational inference for the univariate Gaussian
A note on variational inference for the univariate GaussianA note on variational inference for the univariate Gaussian
A note on variational inference for the univariate Gaussian
 
Document Modeling with Implicit Approximate Posterior Distributions
Document Modeling with Implicit Approximate Posterior DistributionsDocument Modeling with Implicit Approximate Posterior Distributions
Document Modeling with Implicit Approximate Posterior Distributions
 
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka CompositionLDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
LDA-Based Scoring of Sequences Generated by RNN for Automatic Tanka Composition
 
A Note on ZINB-VAE
A Note on ZINB-VAEA Note on ZINB-VAE
A Note on ZINB-VAE
 
A Note on Latent LSTM Allocation
A Note on Latent LSTM AllocationA Note on Latent LSTM Allocation
A Note on Latent LSTM Allocation
 
A Note on TopicRNN
A Note on TopicRNNA Note on TopicRNN
A Note on TopicRNN
 
Word count in Husserliana Volumes 1 to 28
Word count in Husserliana Volumes 1 to 28Word count in Husserliana Volumes 1 to 28
Word count in Husserliana Volumes 1 to 28
 
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet AllocationA Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
A Simple Stochastic Gradient Variational Bayes for Latent Dirichlet Allocation
 
FDSE2015
FDSE2015FDSE2015
FDSE2015
 
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...
A derivation of the sampling formulas for An Entity-Topic Model for Entity Li...
 
A Note on BPTT for LSTM LM
A Note on BPTT for LSTM LMA Note on BPTT for LSTM LM
A Note on BPTT for LSTM LM
 
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...
The detailed derivation of the derivatives in Table 2 of Marginalized Denoisi...
 
A Note on PCVB0 for HDP-LDA
A Note on PCVB0 for HDP-LDAA Note on PCVB0 for HDP-LDA
A Note on PCVB0 for HDP-LDA
 

ガウス過程に関するメモ (1). 正田備也, 2007.

  • 1. ガウス過程(Gaussian processes)に関するメモ(1) 正田 備也 平成 19 年 7 月 15 日 本稿の参考文献は [1] です.その第 2 章を縮めて紹介しますが,直接読むほうが分かりやすいかもしれません. 1 雑音をともなう線形回帰モデル あるブラックボックスがあって,p 次元のベクトル x が入力として与えられると,ひとつの数値 y を出力すると します.このブラックボックスの中身がどうなっているのかを説明するために,モデルをつくることにします.本 稿では,ガウス雑音をともなう線形回帰モデルを考えます.これは f(x) = x w, y = f(x) + ε (1) という式で書くことのできるモデルです.まず,入力ベクトル x と,モデルのパラメータであるベクトル w との内 積が求められます.これでひとつの数値 f(x) が得られますが,さらにガウス雑音 ε が加わります.ガウス雑音とは, ガウス分布(=正規分布)で表される雑音で,本稿では平均が 0,分散が σ2 n とします.つまり ε ∼ N(0, σ2 n) です. なお,このノイズは,別々の入力ベクトルに対して独立に定まるとします.また,ブラックボックスに与えられる 個々の入力ベクトルも互いに独立とします. たくさんの入力ベクトルを,まとめて X と行列で書くことにします.入力ベクトルの個数を n とします.X は p × n 行列で,n 個の列のそれぞれが,別々の入力ベクトルに対応しています.そして,これら n 個の入力ベクトル の各々について得られる出力 y も,縦に並べて y と書くことにします.y は n 次元ベクトルになります. 別々の入力ベクトルに対する出力は,互いに独立となりますので,出力を並べたベクトルとして y = (y1, . . . , yn) (y は縦ベクトルなので をつけました.)というベクトルを得る確率 p(y|X, w) は p(y|X, w) = n i=1 p(y1|xi, w) = n i=1 1 √ 2πσn exp − (yi − xi w)2 2σ2 n = 1 (2πσ2 n)n/2 exp − 1 2σ2 n |y − X w|2 = 1 (2πσ2 n)n/2 exp − 1 2 (y − X w) (σ2 nI)−1 (y − X w) = N(X w, σ2 nI) (2) となり,平均が X w,共分散行列が σ2 nI のガウス分布になっています. 2 事前分布 ここで,モデルのパラメータ w の事前分布を導入します.事前分布は,N(w0, Σ0) という正規分布とします.参 考文献 [1] では w の従うガウス分布の期待値ベクトルはゼロベクトルですが,本稿では期待値ベクトルを w0 とし て,しばらくは議論を続けます.ベイズ則 p(w|X, y) ∝ p(y|X, w)p(w) より,事後分布 p(w|X, y) は p(w|X, y) ∝ exp − 1 2σ2 n |y − X w|2 exp − 1 2 (w − w0) Σ−1 0 (w − w0) (3) 1
  • 2. となります.w に依存しない項は省き,「比例する(∝)」という記号を使って式を書きました. では,式 (3) を平方完成 (completing the square) します.参考文献では省かれている計算を実際にやってみます. w に依存しない項は定数とみなし,式の変形を進めていきます. p(w|X, y) ∝ exp − 1 2σ2 n (y − X w) (y − X w) exp − 1 2 (w − w0) Σ−1 0 (w − w0) = exp − 1 2σ2 n (y − X w) (y − X w) − 1 2 (w − w0) Σ−1 0 (w − w0) ∝ exp − 1 2σ2 n {y − X (w − w0)} {y − X (w − w0)} − 1 σ2 n w XX w0 − 1 2 (w − w0) Σ−1 0 (w − w0) ∝ exp − 1 2σ2 n {(w − w0) XX (w − w0) − 2y X (w − w0)} − 1 2 (w − w0) Σ−1 0 (w − w0) − 1 σ2 n w XX w0 = exp − 1 2 (w − w0) ( 1 σ2 n XX + Σ−1 0 )(w − w0) + 1 σ2 n y X (w − w0) − 1 σ2 n w XX w0 ∝ exp − 1 2 (w − w0) ( 1 σ2 n XX + Σ−1 0 )(w − w0) + 1 σ2 n y X (w − w0) − 1 σ2 n (w − w0) XX w0 = exp − 1 2 (w − w0) ( 1 σ2 n XX + Σ−1 0 )(w − w0) + 2 · 1 2 (w − w0) { 1 σ2 n X(y − X w0)} = exp − 1 2 (w − w0) ( 1 σ2 n XX + Σ−1 0 ){(w − w0) − 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0)} + · 1 2 { 1 σ2 n X(y − X w0)} (w − w0) ∝ exp − 1 2 (w − w0) ( 1 σ2 n XX + Σ−1 0 ){(w − w0) − 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0)} + · 1 2 { 1 σ2 n X(y − X w0)} {(w − w0) − 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0)} = exp − 1 2 {w − w0 − 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0)} ( 1 σ2 n XX + Σ−1 0 ){w − w0 − 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0)} (4) 式 (4) は,事後分布 p(w|X, y) がガウス分布に従うことを示しています.期待値ベクトル ¯w は ¯w = w0 + 1 σ2 n ( 1 σ2 n XX + Σ−1 0 )−1 X(y − X w0) (5) であり,共分散行列は (σ−2 n XX + Σ−1 0 )−1 です.ここで,この共分散行列の逆行列 σ−2 n XX + Σ−1 0 を A とおく と,式 (5) で与えられる平均ベクトルは ¯w = w0 + A−1 ( 1 σ2 n Xy − 1 σ2 n XX w0) = w0 + A−1 1 σ2 n Xy − A−1 (A − Σ−1 0 )w0 = A−1 1 σ2 n Xy + A−1 Σ−1 0 w0 = A−1 ( 1 σ2 n Xy + Σ−1 0 w0) (6) と,すっきりと書き直せます.これは,参考文献 [2] の式 (3.50) に一致しています. 3 予測分布 次に,以上の結果を用いて,予測を行います.つまり,新たに入力ベクトル x* が与えられたとき,これに対して 件のブラックボックスが出す値を予測します.ここで予測するのは,ノイズが加わる前の値 f(x*) = x * w です. 2
  • 3. p 次元ベクトル w が従うガウス分布は,期待値ベクトルが 0 で共分散行列が単位行列のガウス分布(つまり標準 ガウス分布)に従う p 次元ベクトル z を,w = Bz + ¯w と線形変換した p 次元ベクトル w が従う確率分布と見なす ことができます.ただし A−1 = BB が成り立ちます. f(x*) は x* w に等しいので,x* w = x* Bz + x* ¯w が従う確率分布を求めれば,p(f*) が得られます.こ れは,標準ガウス分布に従う p 次元ベクトル z に,x* B を右から掛け,さらに x* ¯w を足すことで得られるスカ ラ値が従う確率分布です.つまり,z と比べると,線形変換を加えただけなので,得られる確率分布はやはりガウ ス分布であり,平均は x* ¯w,分散は x* B(x* B) = x* BB x* = x* A−1 x* となります.つまり, p(f*) ∼ N(x* ¯w, x* A−1 x*) (7) が得られます. いま,大半を言葉で説明したことを式で書くと p(f*) = p(f*|x*, w)p(w|X, y)dw ∼ N(x* ¯w, x* A−1 x*) (8) というように予測分布 p(f*) を求めたことになっています.つまり,w の事前分布を導入して,w についての周辺 化の積分計算をして,p(f*) を求めたことになっています. 4 共分散関数 ここからは,w0 = 0 と仮定します.このとき,式 (6) より ¯w = 1 σ2 n A−1 Xy となります.ここで A = 1 σ2 n XX + Σ−1 0 AΣ0 = ( 1 σ2 n XX + Σ−1 0 )Σ0 = 1 σ2 n XX Σ0 + I AΣ0X = ( 1 σ2 n XX Σ0 + I)X = 1 σ2 n XX Σ0X + X = 1 σ2 n X(X Σ0X + σ2 nI) Σ0X = 1 σ2 n A−1 X(X Σ0X + σ2 nI) Σ0X(X Σ0X + σ2 nI)−1 = 1 σ2 n A−1 X (9) という計算をして得られる関係式 1 σ2 n A−1 X = Σ0X(X Σ0X + σ2 nI)−1 をつかって,予測分布 p(f*) の期待値 x* ¯w を書き直します. x* ¯w = 1 σ2 n x* A−1 Xy = x* Σ0X(X Σ0X + σ2 nI)−1 y (10) さらに Σ0 − 1 σ2 n A−1 XX Σ0 = (I − 1 σ2 n A−1 XX )Σ0 = A−1 (A − 1 σ2 n XX )Σ0 = A−1 ( 1 σ2 n XX + Σ−1 0 − 1 σ2 n XX )Σ0 = A−1 (11) という式の変形より,予測分布 p(f*) の分散は x* A−1 x* = x* (Σ0 − 1 σ2 n A−1 XX Σ0)x* = x* Σ0x* − x* Σ0X(X Σ0X + σ2 nI)−1 X Σ0x* (12) 3
  • 4. となります. 式 (10) と式 (12) をよく見ると,k(x, x ) = x Σ0x という記法を導入し,さらに,k(xi, xi ) を第 i 行第 i 列の要 素としてもつ行列を K と書くとともに,k(x*, xi) を第 i 要素とする縦ベクトルを k* と書くことにより,予測分布 p(f*) は p(f*) ∼ N(k* (K + σ2 nI)−1 y, k(x*, x*) − k* (K + σ2 nI)−1 k*) (13) と,かなりすっきり書き直せることが分かります. ところで Σ0 は w の従うガウス分布の共分散行列でした.これは ww の期待値 E[ww ] です.よって, k(x, x ) = x Σ0x = x E[ww ]x = E[x ww x ] = E[(w x) w x ] = E[f(x)f(x )] (14) より,k(x, x ) は f(x)f(x ) の期待値になっています.この k(x, x ) を,共分散関数と呼びます.直感的には,異な る入力ベクトルが与える関数値の散らばり具合を表現する関数です.なお,f(x) = w x の期待値は,w の期待値 ベクトルがゼロベクトルですので,ゼロとなります.したがって ガウス雑音をともなう線形回帰モデルの予測分布 p(f*) は,雑音が従うガウス分布のパラメータ σn を 除けば,入力ベクトルの関数 f(x) = w x について,その関数値ふたつの積の期待値 E[f(x)f(x )] が任 意の入力ベクトルの対 x,x について計算できるならば,求められる. と言うことができます.これを一般化すると,次のようになります. ガウス雑音をともなう確率モデルには,その予測分布 p(f*) が,雑音が従うガウス分布のパラメータ σn を除けば,入力ベクトルのある関数 f(x) について,その関数値ふたつを掛けた値の期待値 E[f(x)f(x )] が任意の入力ベクトルの対 x,x について計算できるならば,求められるものがある. 関数 f(x) の期待値がゼロでない場合も考慮に入れると,実は次のようになります. ガウス雑音をともなう確率モデルには,その予測分布 p(f*) が,雑音が従うガウス分布のパラメータ σn を除けば,入力ベクトルのある関数 f(x) について,その関数値の期待値 m(x) = E[f(x)] が任意の入 力ベクトル x について計算でき,その関数値の期待値からのズレふたつを掛けた値の期待値 E[(f(x) − m(x))(f(x ) − m(x))] が任意の入力ベクトルの対 x,x について計算できるならば,求められるものが ある. おおよそ,この表現にかなう確率過程 f(x) が,ガウス過程です. いま f(x) のことを「確率過程」と呼びましたが,これは,f(x) が,単なる関数ではないからです.線形回帰モ デルでは、f(x) を規定するパラメータの値が固定されてはじめて、x に対してある値を返すひとつの関数が得られ ます。そして、そのパラメータがある確率分布に従っているということは、f(x) は、特定の関数を値としてとる確 率変数だと言えます。一般には、どの有限個をとってもそれらの結合分布が何らかの確率分布になっているような 確率変数の集まりを、確率過程と呼びます. 5 ガウス過程の定義 ガウス過程 (Gaussian process) は,正確には,次のように定義されます. ガウス過程とは,確率変数の集まりであって,どの有限個をとっても,その結合分布がガウス分布になっ ているようなものを,いう. 4
  • 5. そして,ガウス過程は,期待値関数と共分散関数という,ふたつの関数によって特定されます.期待値関数を m(x), 共分散関数を k(x, x ) と書くことにします. 期待値ベクトルがゼロベクトルのガウス分布を事前分布とする線形回帰モデルは,ガウス過程のひとつの例です. 期待値関数は,m(x) = E[f(x)] = E[w x] = E[w ]x = 0 より恒等的にゼロを与える関数であり,共分散関数は, k(x, x ) = E[(f(x) − m(x))(f(x ) − m(x))] = E[f(x)f(x )] = E[(w x) w x ] = E[x ww x ] = x E[ww ]x = x Σ0x (15) と得られます. 式 (10) で与えた予測分布 p(f*) ∼ N(k* (K + σ2 nI)−1 y, k(x*, x*) − k* (K + σ2 nI)−1 k*) (16) は,以下のように,実はこのままのかたちで,一般の雑音をともなうガウス過程 y = f(x) + ε に適用できます. 既知の入力ベクトル群 x1, . . . , xn についての関数値を並べた縦ベクトルを f とします.ガウス過程の定義より,f と予測値 f* の結合分布はガウス分布になります.ここでは,期待値関数は常にゼロを与えるものとします.そして, 共分散関数のみを考慮します.f と予測値 f* の結合分布であるガウス分布の共分散行列は (n + 1) × (n + 1) 行列で あり,第 i 行第 i 列が k(xi, xi ) となっています.ただし,xn+1 = x* です. さらに,ガウス雑音も考慮します.今度は,既知の入力ベクトル群 x1, . . . , xn についての出力値,つまり,関数値 に雑音が加わったものを並べた縦ベクトルを y とします.雑音がガウス分布に従うので,これら出力値の結合分布も, ガウス分布になります.雑音の分散を σ2 n とすると,出力値の共分散行列では,第 i 行第 i 列が k(xi, xi ) + σ2 nδii となっています.δii は i = i のとき,またそのときに限り 1 となり,残りの場合は 0 となるクロネッカのデルタで す.このようになるのは,雑音が各関数値に独立に加わると仮定しているためです.そして,y と,予測値 f* との 結合分布もまたガウス分布となり,以下のように書くことができます. y f* ∼ N 0, K + σ2 nI k* k * k(x*, x*) (17) ただし,k* は,すべての入力ベクトル x についての k(x*, x) をエントリとする縦ベクトルです. このガウス分布から f* の条件付き確率 p(f*|X, y, x*) を求めると,式 (16) が得られます.ガウス分布の条件付き 確率の求め方については,参考文献 [2] の 2.3.1 節に詳しい説明があります. では,なぜ,線形回帰モデルだけで済ますことができないのでしょうか.線形回帰モデルの予測分布の分散は、 式 (8) より x * A−1 x* = x * (σ−2 n XX + Σ−1 0 )−1 x* でした.この式の中で,XX という行列は,入力ベクトルの 個数が増えるにつれて,その要素の値が増加していきます(詳しい議論は参考文献 [2] の 3.3.2 節を参照).すると, 予測分布の分散は,入力ベクトルが増えるほどゼロに近づきます. つまり,線形回帰モデルでは,訓練データとして用いる入力ベクトルを増やせば増やすほど,予測がほぼ期待値 に一致してしまうということです.例えば,訓練データとして用いた入力ベクトルが,ある領域に集中していると します.線形回帰モデルを使うと,その領域から遠く離れた入力ベクトルについても,分散がほとんどゼロで,ほ ぼ期待値に一致するような予測が得られてしまいます.これは,好ましい予測とは言えません.訓練に用いた入力 ベクトルが密集している領域については分散が小さく,そこから離れた領域については分散が大きくなるような予 測のほうが,自然と言えます.これが,ガウス過程が必要となるひとつの理由です.・・・今回はここまで. 参考文献 [1] C. E. Rasmussen and C. K.I. Williams. Gaussian Processes for Machine Learning. The MIT Press, 2006. [2] C. M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006. 5