論理生命学第8回:
ベイズ推定と変分ベイズ法
渡辺一帆
内容
ベイズ推定
簡単な場合・・・共役事前分布
変分ベイズ法
潜在変数モデルのベイズ推定のための近似
復習:ベイズ推定
学習データ:
x { x1 ,..., x n }
学習モデル: p ( x | w )
パラメータ: w
n
尤度関数:
p (x | w )
p ( xi | w )
予測分布
i 1
最尤推定:
wˆ ML arg max log p ( x | w )
p ( x | wˆ ML )
w
wも確率変数として扱う
事後確率最大化
(MAP)推定:
事前分布: p 0 ( w )
wˆ MAP arg max log p ( x | w ) p 0 ( w )
p ( x | wˆ MAP )
w
事後分布
ベイズ推定:
p (w | x)
p (x | w ) p0 (w )
p( x | x)
Z
Z
p ( x | w ) p (w | x)dw
p (x | w ) p0 (w )dw
規格化定数(実はすごく大事)
ベイズ推定(計算しやすい場合)
データ: x { x1 ,..., x n }
正規分布
p(x | w)
(x w)
1
exp
2
2
2
事前分布
p0 (w)
w2
exp
2
2
1
事後分布を計算してみる
n
p(w | x)
wに関する分布
p ( xi | w ) p 0 ( w )
i 1
exp
n
i 1
( xi w )
2
2
2
w
2
wについては定数
n
1 n 2
n 1 2
exp
w w xi xi
2
2 i 1
i 1
2
n
1
n 1
exp
x
w
i
2
n
1
i 1
事前分布:正規分布
(平均0、分散1)
事後分布:正規分布
1
n
1
(平均 n 1 x i 、分散 n 1 )
i 1
ベイズ推定(計算しやすい場合)
データ: x { x1 ,..., x n }
x i {0 , 1}
ベルヌーイ分布
事前分布:ベータ分布
p ( x | a ) a (1 a )
x
a [ 0 1]
1 x
p0 (a )
:パラメータ
( )
( ) ( )
a
1
1
, ハイパーパラメータ
s 1 t
( s ) t e dt はガンマ関数
0
演習
(1)事後分布 p ( a | x )
1
n
Z
p ( x i | a ) p 0 ( a ) を計算せよ
i 1
ヒント:
1
a
1
(1 a )
1
da
0
(2)予測分布
(1 a )
p( x | x)
p ( x | a ) p ( a | x ) da
ヒント:
を計算せよ
( s 1) s ( s )
( ) ( )
( )
共役事前分布
モデル
事前分布
正規分布
正規分布
ベルヌーイ、二項分布
ベータ分布
多項分布
ディリクレ分布
ポアソン分布
ガンマ分布
正規分布(分散)
ガンマ分布
正規分布(共分散行列)
ウィシャート分布
事後分布は事前分布と同じ分布形
ベイズ推定(計算しにくい場合)
潜在変数モデル
p(x | w )
p ( x, y | w )
y
事後分布は
p (w | x)
1
Z
1
Z
規格化定数
n
p 0 ( w )
i 1
p ( xi , yi | w )
yi
p (x, y | w ) p0 (w )
p (y , w | x)
y
y
Z
p (x, y | w ) p
0
( w )d w
の計算は困難
y
Z
F log Z
周辺尤度(marginal likelihood)
確率的複雑さ(stochastic complexity)
証拠(evidence)
対数証拠(log-evidence)
分配関数(partition function)
自由エネルギー(free energy)
変分ベイズ法(1)
近似
事後分布
p (y , w | x)
F log
q (y , w )
p ( x , y | w ) p 0 ( w )d w
y
変分自由エネルギー
F K ( q ( y , w ) || p ( y , w | x ))
自由エネルギー
F [q ]
事後分布からのずれ
カルバック情報量
K ( q || p )
y
等号成立は
q ( y , w ) log
q (y , w )
dw 0
p (y , w | x)
q (y , w ) p (y , w | x)
K ( q || p )
F [q ]
F
変分ベイズ法(2)
制約(潜在変数とパラメータが独立):
q (y , w ) q (y )q (w )
q ( y ) を固定したときに最適な
q (w )
1
Cw
q (w )
p 0 ( w ) exp log p ( x , y | w )
q (w ) を固定したときに最適な q ( y )
q (y )
1
exp log p ( x , y | w )
Cy
交互に最適化(代入)を繰り返す
q(y )
q(w )
p
期待値
変分ベイズ法(3)
q ( y ) を固定したときに最適な
F [q ]
q
(
w
)
log q ( w )
q (w )
q
(
y
)
log
p
(
x
,
y
|
w
)
p
(
w
)
d w +(Const.)
0
y
q (w )
q ( w ) log
d w +(Const.)
p 0 ( w ) exp q ( y ) log p ( x , y | w )
y
K ( q || p )
q ( w ) log
q (w )
dw 0
p (w )
q (w ) を固定したときに最適な q ( y )
F [q ]
q ( y ) log
y
y
q ( y ) q ( w ) log p ( x , y | w ) d w
q (y )
q ( y ) log
exp
q ( w ) log p ( x , y | w ) d w
+(Const.)
+(Const.)
準備:ディリクレ分布
確率ベクトル上の確率分布
K
a ( a 1 , a 2 ,..., a K )
p (a )
K
l 1 l
K
( l )
a k 0, a k 1
k 1
K
k kK1 パラメータ
1
akk
1
k 1
1 2 1
l 1
a1
1
1 2 1
a1
1
1 2 1
K=2のときはベータ分布
期待値
ak
p (a )
k
log a k
K
l 1
l
p (a )
K
k l
l 1
x log ( x ) はディガンマ関数
a1
応用例)混合正規分布(1)
K
学習モデル: p ( x , y | w )
k 1
事前分布:
a
k
2
M
exp{
|| x k ||
2
}
(k )
K
p 0 ( w ) p 0 (a ) p 0 ( k )
k 1
ディリクレ分布
p 0 (a )
0 、 0 、
正規分布
K
1
ak0
k 1
目標:
2
y
q (w )
1
Cw
q (y )
1
Cy
p0 ( k )
0
2
M
ハイパーパラメータ
|| k 0 ||
exp 0
2
p 0 ( w ) exp log p ( x , y | w )
exp log p ( x , y | w )
0
q(w )
q(y )
応用例)混合正規分布(2)
q ( y ) を固定したときに最適な
n
log p ( x , y | w )
q(y )
i 1
n
i 1
n
nk
y
(k )
i
i 1
q ( yi )
K
k
1
nk
(k )
yi
k 1
(k )
yi
k 1
q (w )
1
2
|| x i k ||
log a k
2
K
q(y )
log a k
1
(k )
yi
2
y
i 1
q(y )
2
|| x i k ||
+(Const.)
(*)
n
(k )
i
q(y )
+(Const.)
q ( yi )
xi
とおくと
nk
2
+(Const.)
n
log
a
||
||
n
k
k
k
k k
2
k 1
K
log p ( x , y | w )
q(y )
p 0 ( w ) exp( )
K
ディリクレ分布 q ( a )
nk 0
( 2 )
パラメータ k n k 0
k 1
正規分布
q( k )
n 0 1
ak k
M
(n 0 )
exp k
|| k k
2
||
平均 k
n k k 0 0
nk 0
1
分散 n k 0
応用例)混合正規分布(3)
q (w ) を固定したときに最適な q ( y )
n
log p ( x , y | w )
q(w )
1
2
|| x i k ||
log a k
2
K
i 1
k 1
n
K
(k )
yi
y
(k )
i
i 1 k 1
log a k
q (a )
1
2
q(w )
|| x i k ||
|| x i k || || x i k k k ||
2
exp( )
+(Const.)
2
q(k )
2
|| x i k || 2 ( x i k ) ( k k ) || k k ||
2
K
n
q (y )
q( y
i 1
n
i
)
i 1
exp(
yi i
(k )
(k )
)
K
exp(
(l )
i
)
l 1
(k )
i
(†)
k 1
(nk 0 ) (n K 0 )
|| x i k ||
2
2
M
1
2 n k 0
変分ベイズ法:(*)と(†)を繰り返す。(変分自由エネルギーの計算も必要)
2
応用例)アルゴリズムの様子(1)
* k
初期化
□:data(n
50 )
q ( y ) を更新
n 3 16 . 9
n1 16 . 4
*
*
*
*
* *
n 2 16 . 7
(2)
q ( yi
q (w ) を更新
終了
n1 24 . 3
*
n 3 13 . 8
* *
n1 14 . 0
*
n 2 22 . 2
1) 0 . 82
* n3 1 .0
繰り返す
*
n 2 24 . 7
応用例)アルゴリズムの様子(2)
終了
n 1 24 . 3
*
終了
n 1 13 . 1
n ** 11 . 8
3
* n3 1 .0
*
n 2 24 . 7
2つのクラスタで推定
(1個は自動的に消える)
*
n 2 25 . 1
3つのクラスタで推定
余分なコンポーネントを自動的に刈り込む。
事前分布の設定でアルゴリズムの振る舞いは変わる。
変分自由エネルギーの最小値 min F [ q ] を評価すると振る舞
q ( y ), q ( w )
いがわかる。
まとめ
ベイズ推定
計算しやすい場合:共役事前分布
変分ベイズ法
潜在変数モデルのためのベイズ推定の近似法
演習
(3) 混合ニ項分布(
x {0 , 1, 2 ,..., N }
N
p ( x , y | w )
x
x
N x
ar1 (1 r1 )
w { a , r1 , r2 }
は既知)
N
(1 a ) r
y
(1 )
x
2
(1 r2 )
N x
y
(2)
に対する変分ベイズ法の適用を考える。
n
q (y )
q( y
i 1
1
q (w )
Cw
i
) を固定したとき、変分自由エネルギーを最小化する
n
p 0 ( w ) exp log p ( x i , y i | w )
i 1
n
を nk
i 1
y
(k )
i
q ( yi )
及び k
1
nk
q (w ) 、
q ( yi )
n
i 1
(k )
yi
q ( yi )
xi
ただし、事前分布を p 0 ( w ) p 0 ( a ) p 0 ( r1 ) p 0 ( r2 )
1
1
p0 (a )
p 0 ( r1 )
a (1 a )
r1 (1 r1 )
(k=1,2)を用いて表せ。
p 0 ( r2 )
1
r2 (1 r2 )
とする。
© Copyright 2026 ExpyDoc