スライド 1

論理生命学第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 kK1 パラメータ
 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 )
とする。