モデル推定
潜在変数がある場合のモデル推論
EMアルゴリズム
EMの混合正規分布への適用例
変分ベイズ法
EP法
潜在変数を考慮する推論
prior:w(=潜在変数+分布のパラメター)と観測データ
{x,t}(ただし、xは入力、tは結果)の分布にハイパーパ
ラメターα、βを導入する。
まず、観測データから事後確率を最大化するpriorをベ
イズで求める。このためにいろいろな技法あり。(例え
ば経験ベイズ法)
p(w | x, t,, ) p(t | x, w, ) p(w | )
新規データxに対する予測 t を計算するのは以下の式
p(t | x, x, t, , ) p(t | x, w, ) p( w | x, t, , )dw
モデル推定のための学習法
事前知識のない場合はK-meansなど
EM(Expectation and Maximization)アルゴリズム
モデル学習法の古典
変分ベイズ法
予測モデルqを既知のモデル(prior)とのKL divergence
を最小化する関数として変分法で繰り返し計算で求める。
速度は速い。
KL(p||q)=Σp log(p/q)
MCMC(Markov Chain Monte Carlo)
モデルのパラメター推定をシミュレーションで解いてしまう
方法。速度は遅い。
経験ベイズ法 :
事前分布のパラメターの初期値の推定
ベイズモデルのパラメターを恣意的に決めると気持ち悪い
ベイズモデルのパラメターを観測データに基づいて求める
方法
π( θ | α ):事前分布 ただし、 α は事前分布πを決めるパ
arg max
ラメター
観測データx から尤度p (x|θ)が与えられたとき、これを用
いて事前分布のパラメターαmaxを求める。
max
max arg max p x | | d
( EB10)
経験ベイズ法 :
事前分布のパラメターの初期値の推定例
max arg max p x | | d
( EB10)
多項分布、ディリクレ分布の例
観測データ iの出現回数
Dir ( | X , ) Mult X | Dir ( | ) ii mi 1
i 1
max arg max Dir ( | X , )
arg max Dir ( | X )
K
i 1
i 1
m:i X (m1 ,..., mK ), mi M , i 0
K
K
K
0 M
arg max
ii mi 1
1 m1 K mK i 1
EMアルゴリズム
観測変数 observed variable(顕在変数
manifest variable)
隠れ変数 hidden variable(潜在変数 latent
variable)
例:混合正規分布のとき、どの正規分布から生成された
データかを示す変数
観測変数のデータを用いて母集団の統計モ
デルの潜在変数を推定する(最尤推定値)
パラメータの値を点で推定
このための数値解法:EMアルゴリズム
Expectation and Maximization Algorithm
観測されたデータ(=観測変数の実測データ):X
潜在変数のとる値:Z
統計モデルのおける未知のパラメター:θ
logの中のΣが現
対数尤度関数(log likelihood func.)
れると嫌だ!
L( X | ) log p( X | ) log p( X , Z | )
Z
未知パラメターθの最尤推定値は
ˆ arg max L( X | )
EMアルゴリズムの導出 その1
P( X , Z | ) P( Z | X , ) P( X | )
を用いると
log P( X , Z | ) log P( Z | X , ) log P( X | )
ここで Zに関する確率分布 q( Z )を用いると上の式は以 下のようになる
P( X , Z | )
P( Z | X , )
q
(
Z
)
log
q
(
Z
)
log
log P( X | )
Z
q( Z )
q(Z )
Z
この式は以下のように みなせる
P( X , Z | )
q
(
Z
)
log
KL(q( Z ) || P( Z | X , )) log P( X | )
Z
q( Z )
すなわち、
log P( X | ) KL(q( Z ) || P( Z | X , )) q ( Z ) log
Z
P( X , Z | )
q( Z )
EMアルゴリズムの導出 その2
log P( X | ) KL( q( Z ) || P( Z | X , )) q( Z ) log
Z
P( X , Z | )
q( Z )
ここで Zに対する分布の推定は 、 の現在の推定値 oldを用いると
P( Z | X , old )なので、これを q( Z )とする。すなわち
log P( X | ) KL( P( Z | X , old ) || P( Z | X , )) P( Z | X , old ) log
Z
さて、 pldを更新した newを、log P( X | )を改善(より大きくす
選びたい。そこで、 log P( X |
log P( X |
new
new
P( X , Z | )
P( Z | X , old )
る)ように
) log P( X | ) を評価してみよう。
old
) log P( X | )
old
=0
KL( P( Z | X , old ) || P( Z | X , new )) KL( P( Z | X , old ) || P( Z | X , old ))
new
old
P
(
X
,
Z
|
)
P
(
X
,
Z
|
)
old
P( Z | X , old ) log
P
(
Z
|
X
,
)
log
old
old
P
(
Z
|
X
,
)
P
(
Z
|
X
,
)
Z
Z
EMアルゴリズムの導出 その3
log P( X |
new
) log P( X | )
old
KL( P( Z | X , old ) || P( Z | X , new ))
P( Z | X , old ) log P( X , Z | new ) P( Z | X , old ) log P( X , Z | old )
Z
Z
KL( P( Z | X , old ) || P( Z | X , new ))は定義より非負。
また、 P( Z | X , old ) log P( X , Z | old )は newには関係ないので、
Z
結局、できるだけ真の に近い newは
P( Z | X ,
old
) log P( X , Z | )を最大化するような である
Z
new arg max P( Z | X , old ) log P( X , Z | )
Z
なお、以後 Q( | old ) P( Z | X , old ) log P( X , Z | ) と書く。
Z
E Z oldに固定 log P( X , Z | )
EMアルゴリズムの詳細
Q( | old ) P( Z | X , old ) log P( X , Z | ) E Z, old log P( X , Z | )
Z
P( Z | X ,
old
P( Z , X , old )
)
P(Z , X , old )
Z
初期化:θoldを適当に決める
以下のEstep, Mstepを収束するまで繰り返す
E step: P(Z|X, θold)を計算
M step: θnew =argmax Q(θ| θold) とし、 θold をθnewに更新
θ
しかし、上記の導出から分かるように、log P( X | ) をθを動か
しながら最大化しているので、局所解に陥る可能性あり。
EMとQ関数の再考
QをEZ( θold)[logP(Z,X| θ)]で書き直すと
以下のEstep, Mstepを収束するまで繰り返す
E step: P(Z|X, θold)を計算
M step: θnew =argmax θ EZ( θold)[logP(Z,X| θ)]とし、 θold を
θnewに更新
つまり、 P(Z,X| θ)を θold を固定してZで期待値をとることで
θに関する情報を教師データZから集めてにθ反映させること
を繰り返しての良い推定値を求めている。
K-meansに似ている
θはベクトル。よって、 Mstepでは、θの全要素
を一度に更新する式を求めている点に注意。
楽屋裏の話:なぜQ(θ| θ(t))か?
なぜ
L( X | ) log p( X | ) log p( X , Z | )
を直接最適化せずにQ(θ| θold)か?
Z
Q(θ| θold)=ΣP(Z|X ,θold)logP(Z,X |θold)
である。すなわち、 LはlogΣの形で解析的に扱いにくい。QはΣlogの形で
解析的に扱いやすい
では、そもそもなぜ尤度ではなく対数尤度なのか?
多くの分布は exp(f(x)) だったり(ex 正規分布)、べき乗の形であるから、
logをとると扱いやすい。
なぜ、expやべき乗なのか?
複数の確率変数の共起は、各々の確率の積だから、という説明も可能
理論的な背景から見れば「指数分布族:exponential family」であることが効
果を発揮している。
EMの適用例:1変数正規分布
このような観測データから、混合
正規分布の各パラメタを推定する
混合正規分布
1 N ( x | 1 , 1 ) 2 N ( x | 2 , 2 )
要素の正規分布 N ( x | 1 , 1 )
N ( x | 2 , 2 )
where
1 2 1
問題の定式化
1 , 1 , 1 , 2 , 2 , 2
p( x ) 1 N ( x | 1 , 1 ) 2 N ( x | 2 , 2 )
1 2 1
潜在変数zk 0,1
p( z1 1) 1
p( z2 1) 2
推定するパラメター:
p( z) 1 1 2
z
z2
(GM 10)
p( x | z ) N ( x | 1 , 1 ) z1 N ( x | 2 , 2 ) z2
p( x )
(GM 11)
p( z ) p( x | z ) N ( x | , )
k 1, 2
k
k
ここで次のように定義
zk p ( zk 1 | x )
1
1
1
2
N ( x | 2 , 2 )
される zk を導入し、ベイズの定
p( zk 1) p( x | zk 1)
p( zk 1) p( x | zk 1)
k 1, 2
k N ( x | k , k )
j N ( x | j , j )
j 1, 2
(GM 30)
(GM 20)
理で書きなおす
いよいよEMアルゴリズムの適用
次のパラメターに適当な初期値を設定: , , 2 k
k
k
E step: P(Z|X, θ(t))を計算
ただし、観測されたデータはN個あるとする。
実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにする
。
N
z
z
2
(GM 10)と (GM 11)より p( Z | X , , , ) 1 N ( xn | 1 , 12 ) 2 N ( xn | 2 , 22 )
n1
n 1
ここで Z(すなわち zn1 , zn 2 まとめて znk where k 1,2)を評価する。
Eznk
znk k N ( xn | k , k )
2
znk
N ( x
j
| j , j )
2
n
znk
k N ( xn | k , k 2 )
znk
2
j N ( xn | j , j )
znj
(GM 40)
j 1, 2
znj
これはデータ xnの znk ( どちらの正規分布が選 ばれるか)への寄与を 表す
N
note!
定義より
2
N
2
z Ez N
nk
n 1 k 1
N
n 1 k 1
N
z Ez N
n 1
nk
nk
n 1
nk
k
k , k , k の現在の値
の
から計算した更新値
n2
Mstep
(GM 10)( GM 11)より N
p( X , Z | , , ) p( X | Z ) p( Z ) 1 N ( xn | 1 , 1 ) n1 2 N ( xn | 2 , 2 ) n 2
z
z
n 1
N
2
log p( X , Z | , , ) znk log k log N ( xn | k , k )
n 1 k 1
(GM 40)より
N
2
E Z log p( X , Z | , , ) Eznk log k log N ( xn | k , k )
2
2
n 1 k 1
N
2
znk log k log N ( xn | k , k )
n 1 k 1
次に znk を固定した上で (GM 50)において
k , k , k 2を最大化してこの stepでの最適値を求める。
2
(GM 50)
kの最適化し k に更新する
(GM 50)を kで微分してゼロとおく
new
k
N
2
z log
nk
n 1 k 1
k
。
log N ( xn | k , k )
( xn k ) 2
znk log k
const
2
2 k
n 1 k 1
N
( xn k )
znk
0
2
k
N
2
k
n 1
N
k
new
x z
n 1
N
n
nk
znk
n 1
1
Nk
N
x z
n 1
n
nk
(GM 70)
2 new
k の最適化し、 k に更新する
(GM 50)を kで微分してゼロとおく
2
N
k
2
。
2
2
z
log
log
N
(
x
|
,
nk
k
n
k
k )
n 1 k 1
k
1
( xn k ) 2
2
znk log k
const
2
2 k
n 1 k 1
2
N
2
2
1
( xn k ) 2
znk
0
2
2 2
n 1
2 k
2 k
N
N
N
n 1
n 1
(GM 801)
(GM 801)より k znk znk ( xn k ) 2
2
N
k
2 new
2
z
(
x
)
nk n k
n 1
Nk
(GM 80)
kの最適化
2
L znk log k log N ( xn | k , k ) k 1
n 1 k 1
k 1
N
N
L
znk
new
znk k N k k 0
k n 1 k
n 1
N
2
2
N
一方 znk k
k 1 n 1
2
以上の2式より
k
N 0
Nk
N
(GM 90)
ここでは、 ( z k ) が古い k , k , k を反映して計算された値であった。
それを固定して、loglikelihoodを最大化する新たな k , k , k 2 を求めているわ
けだ。
2
以上の(GM70)(GM80)(GM90)によって k , k , k
log likelihood (GM50)が収束しなければEstepに戻る
2
の更新式が求められた。
EMの適用例:混合多変数正規分布
1変数の場合と似ているが、少し難しいところあり
このような観測データから、混合
正規分布の各パラメタを推定する
この例では1変数の正規分布だ
が以下の導出は多変数の正規分
布を仮定している。
x, 1 , 2はベクトル ,
1 ( 11 ), 2 ( 21 ),は行列
混合正規分布
1 N ( x | 1 , 1 ) 2 N ( x | 2 , 2 )
要素の正規分布 N ( x | 1 , 1 )
N ( x | 2 , 2 )
where
1 2 1
Σは共分散行列、Λは精度行列で
あることに注意
下の式はk変数の正規分布においてN個のデータがある場合
x
i
1
1
N
1
xi1 1 ,..., xik k
N i 1
xik k
x21 x1, x 2
1
x1, x 2 xk2
問題の定式化
1 , 1 , 1 , 2 , 2 , 2
p ( x) 1 N ( x | 1 , 1 ) 2 N ( x | 2 , 2 )
1 2 1
潜在変数z k 0,1
p ( z1 1) 1
p ( z 2 1) 2
推定するパラメター:
p(z ) 1 1 2
z
z2
(GM 10)
p ( x | z ) N ( x | 1 , 1 ) z1 N ( x | 2 , 2 ) z2
p ( x)
p( z
k 1, 2
k
(GM 11)
) p ( x | z k ) 1 N ( x | 1 , 1 ) 2 N ( x | 2 , 2 )
ここで次のように定義
z k p( z k 1 | x)
される z k を導入し、ベイズの定
p ( z k 1) p( x | z k 1)
p( zk 1) p( x | zk 1)
k 1, 2
k N ( x | k , k )
jN (x | j , j )
j 1, 2
(GM 30)
(GM 20)
理で書きなおす
いよいよEMアルゴリズムの適用
次のパラメターに適当な初期値を設定: k , k , k
E step: P(Z|X, θ(t))を計算
ただし、観測されたデータはN個あるとする。
実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにす
る。
N
z
z
(GM 10)と (GM 11)より p ( Z | X , , , ) 1 N ( xn | 1 , 1 ) 2 N ( xn | 2 , 2 )
n1
n 1
ここで Z(すなわち z n1 , z n 2 まとめて z nk where k 1,2)を評価する。
znk k N ( xn | k , k ) nk
z
Ez nk
z nk
N ( x
j
n | j, j )
z nj
k N ( xn | k , k )
z nk
N
(
x
|
,
)
j n j j
(GM 40)
j 1, 2
z nj
これはデータ xnの z nk (どちらの正規分布が選 ばれるか)への寄与を 表す
N
note!
定義より
2
N
2
z Ez N
nk
n 1 k 1
N
n 1 k 1
nk
n 1
nk
のk , k , kの現在の値か
ら計算した更新値
N
z Ez N
n 1
nk
k
n2
Mstep
(GM 10)(GM 11)より N
p ( X , Z | , , ) p ( X | Z ) p ( Z ) 1 N ( xn | 1 , 1 ) n1 2 N ( xn | 2 , 2 ) n 2
z
z
n 1
N
2
log p ( X , Z | , , ) znk log k log N ( xn | k , k )
n 1 k 1
(GM 40)より N
2
E Z log p ( X , Z | , , ) Eznk log k log N ( xn | k , k )
n 1 k 1
N
2
znk log k log N ( xn | k , k )
n 1 k 1
N
2
znk log k log N ( xn | k , k1 )
n 1 k 1
次に znk を固定した上で (GM 50)において
k , k , kを最適化してこの stepでの最適値を求める。
(GM 50)
kの最適化し k newに更新する
(GM 50)を kで微分してゼロとおく
k
N
2
z log
nk
n 1 k 1
k
k
。
log N ( xn | k , k )
1
1
T
z
log
(
x
)
(
x
)
const
nk
k
n
k
k
n
k
2
n 1 k 1
N
2
N
znk k
n 1
1
xn k 0
N
k
new
x z
n 1
N
n
nk
z
n 1
nk
1
Nk
N
x z
n 1
n
nk
(GM 70)
kの最適化し、 k に更新する
new
ここが多変数だと難しくなる部分
new
1
k ( k1 )の最適化し、 new
k ( k
(GM 50)を k で微分してゼロとおく
k
z log
2
N
nk
n 1 k 1
k
N
2
1
2
k
)に更新する
。
log N ( xn | k , 1k )
znk log k ( xn k )T k ( xn k ) const
n 1 k 1
1
2
1 log k 1 ( xn k )T k ( xn k )
znk
0
k
2
n 1
2 k
N
(GM 801)
1 log k 1 ( xn k )T k ( xn k )
znk
0
2
2
n 1
k
k
(GM 801)のおのおのの項の微分 を計算する
N
log k
1
k
k
(GM 801)
T
k
1
(GM 802)
trace( AB)
BT より
A
log k
1
( xn k ) T k ( xn k ) k
trace k ( xn k ) ( xn k ) T
k
k
k
公式 x T Ax trace( Axx T ) k ( xn k ) ( xn k ) T k ( xn k ) ( xn k ) T 0
1
1
T
N
(GM 801)(GM 802)(GM 803)より znk k
1
n 1
N
znk k k
1
n 1
1
new
k
1new
znk ( xn k ) ( xn k ) T
n 1
N
1
z
nk k N k
n 1
N
k
N
z ( x
n 1
nk
n
k ) ( xn k ) T
Nk
(GM 803)
(GM 80)
kの最適化
2
L z nk log k log N ( xn | k , k ) k 1
n 1 k 1
k 1
N
N
z nk
L
new
z nk k N k k 0
k n 1 k
n 1
N
2
N
一方 z nk k N 0
k 1 n 1
N
以上の2式より
k k
(GM 90)
N
2
ここでは、 ( z k ) が古い k , k , k を反映して計算された値であった。
それを固定して、loglikelihoodを最大化する新たな k , k , k を求めているわ
けだ。
以上の(GM70)(GM80)(GM90)によって k , k , k の更新式が求められた。
log likelihood (GM50)が収束しなければEstepに戻る
EM法の応用:不完全観測データの場合
のモデル推定:多項分布の場合
観測値が不完全な場合としては、複数の確率変数があるの
に観測されるのは、K個の和だけなどという場合。
例題:母集団が次の多項分布である場合にN個の観測値か
らパラメタ-を推定する問題を考える。
N!
p x1 , x2 , x3 , x4 , x5
1x1 2x23x3 4x45x5
x1! x2! x3! x4! x5!
1 1 1
ただし 1 , 2 , 3 , 4 , 5 , ,
,
, (1)
4 4
2 4 4
観測値としては、x1,x2,x3,x4,x5ではなく、x1+x2に対応するyと
x3,x4,x5が得られていたとする。
このため、観測値から直接にパラメタ- θを求められない。
そこで、以下のstep1, step2を繰り返して θ を近似する。ただし
、 θの初期値を θ(0)とする。また、以下はk+1回目の繰り返し
とする。
k を用いて x1,x2 ,x3,x4 ,x5の推定値を求める。
step1 既に求まっている
の近似値として k が与えられていたとき
log
の対数尤度は次式
N!
x1 log 2 x2 x3 x4 x5 log 4 x2 x5 log x3 x4 log1
x1! x2! x3! x4! x5!
x2 x5 log x3 x4 log1 const
x1 , x2 , x3 , x4 , x5のなす多項分布は次式
1
4
ただし、 y x1 x2なので、
N!
1
x1! x2! x3! x4! x5! 2 4
y!
x1! x2! 1 old
4
2
1
2
y
old
x1
4
1 old
4
2
1
4
4
x1 , x2の分布は次式
x3
x4
x5
x2
y! 2
x1! x2! 2 old
x1
old
2 old
x2
step2 step1の結果を用いて Q関数
Q | old Ex , x , x , x , x , old [ p ( x1 , x2 , x3 , x4 , x5 , )]
1
2
3
4
5
の新しい近似値 k 1を次式で求める
k 1 arg max Ex , x , x , x , x , [ p( x1 , x2 , x3 , x4 , x5 , )]
old
1
2
3
4
5
具体的には
Q | old Ex , x , x , x , x , old [ p ( x1 , x2 , x3 , x4 , x5 , )]
1
2
3
4
5
E old x2 x5 log x3 x4 log1 const
yは x1, x 2が各々確率
1
2
(*)
old
,
4
1 old 1 old
2
4 2
4
である 2項分布で y x1 x 2
n k
nk
2項分布 p 1 p の期待値は np
k
old
old
この場合には n y, p
E x2 y
2 old
2 old
old
(*) y
x5 log x3 x4 log1 const
2 old
old
y
x5
old
2 old
Q |
x3 x4 0
1
new arg max Q | old
y
old
x5
2 old
old
y
x3 x4 x5
2 old
準備:KL divergence
相対エントロピー or Kullback-Leibler divergence or
KL divergence: KL(P||Q):分布PとQの類似性を測る尺度
KL( P || Q )
i
P ( xi ) log
P ( xi )
Q ( xi )
KL(P||P)=0
KL(P||Q)≠KL(Q||P)
非対称なので擬距離
対称性を持たせるために
SymmetricKL(P||Q)=(KL(P||Q)+KL(Q||P))/2 という尺度もある
相互情報量:
I x, y KLP x, y || P x P y P x, y log
x, y
この部分をpointwise mutual informationとして使うこと
もある
P x, y
P x P y
変分ベイズ法(Variational Bayse:VB)
観測データからのベイズ推定
観測データ:X、未知パラメター:θ、
モデル構造:M、潜在変数集合:Z
M
Z
θ
X
p( X , Z , , M ) p( X , Z | , M ) p( | M ) p( M )
p( X , Z | , M ) p( | M ) p( M ) p( X , Z | , M ) p( | M ) p( M )
p( , Z , M | X )
p( X )
p( X , Z , , M )dθ
M
Z
p( | X ) p( , Z , M | X )
M
Z
新たなデータxの事後予測分布
p ( x | X ) p ( x | ) p ( | X )d
この積分の計算が
困難
計算の困難さの問題点を詳しくいうと
ベイズ推定は、最尤推定と異なり、未知データの予測値では
なく予測分布を求める
教師データが少ない場合でも、汎化能力の高い予測器が作
れる
ただし、P(Z|x,θ,M)、xは1個の観測データ(L次元)で、ベイズ
の定理で次のように変形するが
P ( Z | x, , M )
右辺 P(x,Z|θ,M)は
P ( x, Z | , M )
P ( x, Z | , M )
Z
xはZの成分(z1,z2,…,zK)に組み合わせで依存しているため、次式のよ
うに分解できない。
K
L
P(x, Z | , M ) P( xl , zk | , M )
k 1 l 1
よって、Kが大きくなるとZの成分の組み合わせの数が膨大になり計算
が困難
変分ベイズ法の考え方
問題であった期待値の計算を近似的に確率的シミュレーションで
解くMCMC法が有力。
ただし、MCMCは計算が膨大。数理モデルを工夫し計算を効率
化する方法として変分ベイズ法
EM法では、Q(θ)を最大にするθを求めた。
VB法では、θの値を最大化の対象にするのではなく、θの分布の
形そのものを求める変分法
変分ベイズ法のトリック
L( X ) log P( X ) log p( X , Z , , M )d
M
Z
p( X , Z , , M )
log q( Z , , M )
d
q( Z , , M )
M Z
Jensen の不等式
log( E[ x ]) E[log( x )]
より
p( X , Z , , M )
q( Z , , M ) log
d F ( q)
q( Z , , M )
M Z
q( Z , , M )d 1
M
に注意。
Z
すなわち、 log P( X )はM , , Zに対して
周辺化しているので、
M , , Zに依存しない。
L( X ) F(q)
q( Z , , M ) log p( X )d q( Z , , M ) log
M
Z
M
Z
p( X , Z , , M )
d (1)
q( Z , , M )
p( X , Z , , M )
p( Z , , M | X ) だから
p( X )
p( Z , , M | X )
(1) q( Z , , M ) log
d KL( q || p )
q( Z , , M )
M Z
よって
L( X ) F(q) KL( q || p )
L(X)はqに依存しないから、F(q)を最大化すること
はKL(q||p)を最小化、すなわちpに最も似たqを求め
ることになる
EMでは、qをP( X , Z | (t ) ) と決め打ちしていたが、VB
では、より柔軟な決め方を行っている。
上記のqを求めるプロセスをいきなり計算することは困難なので、
パラメターの事前分布とにq関して以下の仮定をおく。
因子化の仮定
I
p(θ | M )
p(
i
|M)
i 1
I
q(
q( Z , θ , M ) q( M ) q( Z | M )
i
|M)
i 1
この仮定の下で、変分法を使えば、次に述べる変分ベイズ
法のアルゴリズムが導ける
しかし、この仮定が成立しないこともあるので、適用する問
題によっては注意が必要。
因子化の仮定下でのVBの導出 その1
I
F(q) q( M ) q( Z | M ) qi | M log
M
i 1
Z
d d1 d I
p( X , Z | , M ) p( | M ) p( M )
d
I
q( Z | M ) qi | M q( M )
i 1
I
p( | M ) p i | M に注意すると
i 1
I
p( X , Z | , M )
q
(
Z
|
M
)
q
|
M
log
d
i
q( Z | M )
i 1
Z
I
p i | M
F(q) q( M ) qi | M log
di
q
|
M
M
i
i 1
p( M )
log
q
(
M
)
I
q( Z | M ) q
Z
i 1
i
| M d1 d I 1
q( Z | M ) 1
q | M d 1
Z
j
j
因子化の仮定下でのVBの導出 その2
モデル Mが与えられたときの
q( Z | M ) 1
Zの最適な分布 q( Z | M )は
という条件下で F(q) を q( Z | M )に対して最大化
Z
すなわち、次の J [ q( Z | M )]の極値問題を解く。
I
J [ q( Z | M )] q( M ) q( Z | M ) qi | M log
M
Z
i 1
p( X , Z | , M )
d
q( Z | M )
q ( Z | M ) 1
Z
J [ q( Z | M )]が q( Z | M )の微分を含まないので
J [ q( Z | M )]
0
q( Z | M )
J [ q( Z | M )]
0
ただし、 q( Z | M )は と無関係なので、 J [ q( Z | M )]の右辺 の前に出、
次のようになる。
因子化の仮定下でのVBの導出 その3
J [q ( Z | M )]
q ( Z | M )
I
q ( Z | M ) q i | M log p ( X , Z | , M )d
i 1
q ( M ) Z
I
M
q ( Z | M ) log q ( Z | M ) q i | M d
i 1
q ( Z | M )
Z
q ( Z | M ) 1
Z
I
q i | M log p ( X , Z | , M )d
i 1
q( M )
0
I
I
M
log q ( Z | M )
q i | M d q i | M d
i 1
i 1
なぜなら q ( M ) 1だから q ( M ) とおけるので
M
M
因子化の仮定下でのVBの導出 その4
I
さらに
q
i
| M d 1だから、結局
i 1
I
q
i
| M log p( X , Z | , M )d 1 log q( Z | M )
i 1
I
q( Z | M ) C exp q i | M log p ( X , Z | , M )d
i 1
もし、 が確率変数でなく確定 していると、
q i | M i
はある iに対する iの値(スカラー)
よって、 q( Z | M ) Cp( X , Z | , M )
C
1
p( X , Z | , M )
Z
(*)
この式の は(*)の からなるベクトル
因子化の仮定下でのVBの導出 その5
モデル Mが与えられたときの Z の最適な分布 q(i | M ) は
次の J [ q(i | M )]( 下の式の の内部)の極値問題を 解く。
I
q
(
Z
|
M
)
q
|
M
log
p
(
X
,
Z
|
,
M
)
log
q
(
Z
,
M
)
d
i
Z
i
1
q( M )
I
p
|
M
i
M
qi | M log
di
q(i | M )
qi | M
i 1
q
|
M
d
1
i
i
q( Z | M ) q j | M log p( X , Z | , M )d i di
i j
0
q( M ) Z
p i | M
M
log
1di
di
qi | M
f ( )d
i
よって
i
0 だから f (i ) 0
q( Z | M ) q j | M log p( X , Z | , M )d i log
Z
i j
qi | M
C
p i | M
qi | M C p i | M exp q( Z | M ) q j | M log p( X , Z | , M )d i
i j
Z
変分ベイズ法のアルゴリズム
初期化として、以下の初期分布を設定
{q( i | M ) old },{ p( i | M ) old }
i 1,..., I
反復計算 以下を収束するまで繰り返す。
VB-E step
q( Z | M ) new C exp( q( | M ) old log p( X , Z | , M )d ) C exp( EM , Z , [log p( X , Z | , M )])
M
Z
VB-M step
q( i | M ) new
C ' p( i | M ) exp( q( Z | M ) newq( \ { i } | M ) old log p( D, Z | , M )dZd \ { i })
M
Z
C ' p( i | M ) exp( EM new , Z , \{ }old [log p( X , Z | , M )])
i
変数 newを変数 oldとする。
\ {i } はθの構成要素からθiを除いた残りを意味する
変分ベイズ法再考
EMの再考を思い出して比較してみる。
VB Estep :
q( Z | M )new C exp( EM ,Z , [log p( X , Z | , M )])
VB Mstep :
q(i | M )new C ' p(i | M ) exp( EM new ,Z , \{ }old [log p( X , Z | , M )])
i
変数 newを変数 oldとする。
P(Z,X| θ,M)を θold を固定してZ, θ,Mで期待値をとる
ことによって、Z,θ,Mに関する情報を教師データZか
ら集めて再度推定することを繰り返しての良い推定
値を求めている。
ただし、因子化仮定によってθiを別々に更新してい
る。だから解析的に更新式が求まる場合もあるわけ
だ。
変分ベイズ法の例題
1変数正規分布p(X| μ , τ )のパラメターを観測データから推
定。ただし、平均値μ(これを潜在変数Zとみなす) 精度
(=分散の逆数)τ(これをパラメターθとみなす)の事前分
布は以下のように与えられているとする。
p(τ|a,b )を定義するガンマ関数は、パラメターa,bによっていろ
いろな分布形になるので、a,bを変化させて適した分布を得る
目的でVBの事前分布として使うことが多い。
p ( X | , )
2
N
2
N
2
exp ( xi )
2 i 1
p( | ) N ( | 0, (0 ) 1 )
b0 0 a0 1
p( | a0 , b0 ) Gamma( | a0 , b0 )
exp( b0 )
(a0 )
a
ガンマ分布
0.5
10
factorizedな変分近似の事後分布を
q(μ , τ )=q μ(μ)q τ(τ)とすると、以下のようにVB-Eステップ、VB-Mステッ
プの計算ができる。左辺のqは更新した結果とする。
VB-E:ここでは、内部変数μ,λを更新する。
q ( ) C0 exp E [log p ( X | , ) log p ( | )]
E[ ] N
2
2
C1 exp
( xi ) 0 ( 0 )
2 i 1
E[log(τ/2π)N/2]
N
N
2
2
などはμには
x
x
0 0
i
0 0
i
関係しないの
E[ ]
i 1
i 1
2 2
C
exp
N
1
0
で定数とみな
2
N
N
0
0
す
よって
q ( ) N ( | N , N1 )
N
0 0 Nx
0 N
N 0 N E[ ]
VB-Mステップ
q ( ) C0 p( ) exp E [log p( X | , ( ) 1 ) log p( | )]
N 1
( a0 1) log b0 2 log
C1 exp
N
2
2
E [ ( xi ) 0 ( 0 ) ]
2
i 1
Gamma分布が指数分布族(事前分布と事後分布が同じタイプ
だから、以下のように推論できる。
この結果を Gamma( | a N , bN )に対応させると以下の 更新式が得られる
N 1
a N a0
2
N
1
bN b0 E [ ( xi ) 2 0 ( 0 ) 2 ]
2
i 1
こうして p ( ) を定義するGamma分布のパラメターが更新さ
れた。
以下、同様にVB-E,VB-Mを収束するまで繰り返すことになる。
Expectation Propagation
変分ベイズ法ではKL(q||p)を最小化した。しかし、p
に近いqを求めればよいのだからKL(p||q)を最小化
する方法もありうる。
これがExpectation Propagation:EP法。
EP法の背景
KL(p||q)を最小化するqをpから求める。
qはexponential family
q(z ) h(z ) exp( ηTu(z) a( η))
KL( p || q) a( η) ηT E p ( z ) [u(z) ] const
then to minimize
KL( p || q)
a( η)
E p ( z ) [u(z) ]
η
一方、exponential familyであるqにおいて
qの積分が1だから
T
h
(
z
)
exp
η
u(z) a ( η) dz=1
a ( η)
h( x ) exp( ηT u( x ) a ( η))dx h( x ) exp( ηT u( x ) a ( η))u( x )dx 0
η
a ( η)
ゆえに
Eq ( z ) [u(z) ]
η
より
あわせると
Eq ( z ) [u(z) ]= E p ( z ) [u(z) ] となり
momentが保存されている。
EP法
確率変数θをパラメターとするとき、第i番目の
データの出現確率がfi(θ)とする。
このとき、観測データDの結合確率は p( D, ) f i ( )
i
そこで、狙いは事後分布p(θ|D)を近似する分
布qを以下のように求めること。
1
q( )
Z
i
~
f i ( )
EP法の処理手順
1.
~
fi ( )
を全て初期化。
q( )
2. 事後分布の近似を以下ように設定
~
f i ( )
i
3. 収束するまで以下を繰り返す
(a)改善すべき ~f j ( ) を決める
(b)これを次のようにして取り除く
q( )
q ( ) ~
f j ( )
\j
(c)良い十分統計量(exモメント)が保存されるような新し
い事後分布 q new ( ) q \ j ( ) f ( ) を求め、正規化定数も
j
次のように求める。
Z q \ j ( ) f ( )d
j
j
(この計算を解析的に行うので、けっこう面倒である。)
(d)以下の更新を行う。
~
q new ( )
f j ( ) Z j \ j
q ( )
4. 得られたモデルの近似度を評価する。
p( D )
i
~
f i ( )d
EP法の例:グラフィカルモデル
左側の構造のグラフィカルモデルを、右側のように
分解する。
~
~
~
f a1
x1
x2
fa
x3
x1
~
fa2
fb2
x2
fc
x4
x3
~
fc2
fb
~
fc4
~
f a1
x4
fb3
p(x) f a ( x1 , x2 ) f b ( x2 , x3 ) f c ( x3 , x4 )
~
~
~
q(x) f a ( x1 , x2 ) f b ( x2 , x3 ) f c ( x3 , x4 )
ここで、前頁の右のグラフのように分解してみると
~
~
~
~
~
~
q( x ) f a1 ( x1 ) f a 2 ( x2 ) f b 2 ( x2 ) f b 3 ( x3 ) f c 2 ( x2 ) f c 4 ( x4 )
~
~
~
ここでEPアルゴリズ
ムにおいて f b ( x2 , x3 )=f b 2 ( x2 ) f b 3 ( x3 )を選ぶ。
すると
~
~
~
~
q ( x ) f a1 ( x1 ) f a 2 ( x2 ) f c 2 ( x2 ) f c 4 ( x4 )
\b
そして、更新した
f bをかけて
~
~
~
~
pˆ ( x ) q \b ( x ) f b ( x2 , x3 ) f a1 ( x1 ) f a 2 ( x2 ) f b ( x2 , x3 ) f c 2 ( x2 ) f c 4 ( x4 )
ここで、 q new ( x )は、 KL( pˆ || q new )を最小化するものとし
て得る。
KL( pˆ || q new )を最小化するものは以 下のようにして求める
。
KLを最小化するには
M
KL( p || q) p( Z) log qi ( Z i )dZ
i 1
M
const (じつは p( Z) log pi ( Z i )dZすなわち、 qに無関係な pのエントロピー )
i 1
これを qiについて最小化するの だが、 Lagrangue未定乗数法により
M
h KL( p || q) ( qi 1)
i 1
0
h
1
p( Z) dZi
q j
qi ( Z i )
i j
p ( Z ) dZ
i j
ここで
i
p( Z
p(Z j ) qi ( Z i )
j
) 1 qi ( Z i )かつ qi ( Z i ) 1より 1
ゆえに最適な qすなわち q* ( Z i ) p( Z) dZi
i j
周辺化した p
よってqnewは更新したpを周辺化すればよい
関連する周辺化された p は以下の通り
~
pˆ ( x1 ) f a1 ( x1 )
~
~
ˆp ( x2 ) f a 2 ( x2 ) f c 2 ( x2 ) f b (x2 , x3 )
pˆ ( x3 )
x3
~
~
f a 2 ( x2 ) f c 2 ( x2 ) f b ( x2 , x3 )
x2
~
pˆ ( x4 ) f c 4 ( x4 )
~ ~
よって、 q において更新された f b 2 , f b 3は以下のとおり。
~
f b 2 ( x2 ) f b (x2 , x3 )
new
x3
~
~
~
f b 3 ( x3 ) f a 2 ( x2 ) f c 2 ( x2 ) f b ( x2 , x3 )
x2
以下、同様にfa , fb , fcについてこれらの操作を収束するまで繰り返す。
© Copyright 2026 ExpyDoc