59
潜在変数がある場合のモデル推論 EMアルゴリズム EMの混合正規分布への適用例 変分ベイズ法 EP9. モデル推定 クラシックな機械学習の入門 by 中川裕志(東京大学)

クラシックな機械学習の入門  9. モデル推定

Embed Size (px)

DESCRIPTION

観測データから母集団の確率分布を学習するにあたって、観測データとして直接観測できない潜在変数(あるいは隠れ変数)がある場合の学習方法を説明する。この学習方法で特に重要なのはEMアルゴリズムである。

Citation preview

Page 1: クラシックな機械学習の入門  9. モデル推定

潜在変数がある場合のモデル推論

EMアルゴリズム

EMの混合正規分布への適用例

変分ベイズ法

EP法

9. モデル推定

クラシックな機械学習の入門

by 中川裕志(東京大学)

Page 2: クラシックな機械学習の入門  9. モデル推定

潜在変数を考慮する推論

prior:w(=潜在変数+分布のパラメター)と観測データ{x,t}(ただし、xは入力、tは結果)の分布にハイパーパラメターα、βを導入する。

まず、観測データから事後確率を最大化するpriorをベ

イズで求める。このためにいろいろな技法あり。(例えば経験ベイズ法)

新規データxに対する予測 t を計算するのは以下の式

)|(),|(),,|( wwx,ttx,w ppp

wtx,wwtx, d),,|(),,|(),,,|( pxtpxtp

Page 3: クラシックな機械学習の入門  9. モデル推定

モデル推定のための学習法

事前知識のない場合はK-meansなど

EM(Expectation and Maximization)アルゴリズム

モデル学習法の古典

変分ベイズ法

予測モデルqを既知のモデル(prior)とのKL divergence

を最小化する関数として変分法で繰り返し計算で求める。速度は速い。

KL(p||q)=Σp log(p/q)

MCMC(Markov Chain Monte Carlo)

モデルのパラメター推定をシミュレーションで解いてしまう方法。速度は遅い。

Page 4: クラシックな機械学習の入門  9. モデル推定

ベイズモデルのパラメターを恣意的に決めると気持ち悪い

ベイズモデルのパラメターを観測データに基づいて求める方法

π( θ | α ):事前分布 ただし、 α は事前分布πを決めるパラメター

観測データx から尤度p (x|θ)が与えられたとき、これを用いて事前分布のパラメターαmaxを求める。

経験ベイズ法 :

事前分布のパラメターの初期値の推定

)10(d||maxargmax EBp

x

maxargmax

Page 5: クラシックな機械学習の入門  9. モデル推定

多項分布、ディリクレ分布の例

経験ベイズ法 :

事前分布のパラメターの初期値の推定例

)10(d||maxargmax EBp

x

K

i

m

i

KK

K

i

m

i

K

i

i

K

i

iKi

ii

ii

mm

M

XDir

XDir

DirXMultXDir

MmmmXmi

1

1

11

0

max

1

1

0

11

1

maxarg

)|(maxarg

),|(maxarg

)|(|),|(

,),,...,(

  :の出現回数観測データ 

Page 6: クラシックな機械学習の入門  9. モデル推定

観測変数 observed variable(顕在変数manifest variable)

隠れ変数 hidden variable(潜在変数 latent

variable) 例:混合正規分布のとき、どの正規分布から生成されたデータかを示す変数

観測変数のデータを用いて母集団の統計モデルの潜在変数を推定する(最尤推定値) パラメータの値を点で推定

このための数値解法:EMアルゴリズム

Expectation and Maximization Algorithm

EMアルゴリズム

Page 7: クラシックな機械学習の入門  9. モデル推定

観測されたデータ(=観測変数の実測データ):X

潜在変数のとる値:Z

統計モデルのおける未知のパラメター:θ

対数尤度関数(log likelihood func.)

未知パラメターθの最尤推定値は

Z

ZXpXpXL )|,(log)|(log)|(

)|(maxargˆ

XL

logの中のΣが現れると嫌だ!

Page 8: クラシックな機械学習の入門  9. モデル推定

)(

)|,(log)()),|(||)(()|(log

)|(log)),|(||)(()(

)|,(log)(

)|(log)(

),|(log)(

)(

)|,(log)(

)(Z

)|(log),|(log)|,(log

)|(),|()|,(

Zq

ZXPZqXZPZqKLXP

XPXZPZqKLZq

ZXPZq

XPZq

XZPZq

Zq

ZXPZq

Zq

XPXZPZXP

XPXZPZXP

Z

Z

ZZ

すなわち、

みなせるこの式は以下のように

下のようになるを用いると上の式は以に関する確率分布ここで

を用いると

EMアルゴリズムの導出 その1

Page 9: クラシックな機械学習の入門  9. モデル推定

),|(

)|,(log),|(

),|(

)|,(log),|(

)),|(||),|(()),|(||),|((

)|(log)|(log

)|(log)|(log

)|(log

),|(

)|,(log),|()),|(||),|(()|(log

)(),|(

)(

)|,(log)()),|(||)(()|(log

old

old

Z

old

old

new

Z

old

oldoldnewold

newpld

oldZ

oldold

old

old

Z

XZP

ZXPXZP

XZP

ZXPXZP

XZPXZPKLXZPXZPKL

XPXP

XPXP

XP

XZP

ZXPXZPXZPXZPKLXP

ZqXZP

Z

Zq

ZXPZqXZPZqKLXP

oldnew

oldnew

を評価してみよう。選びたい。そこで、

る)ようにを改善(より大きくすを、を更新したさて、

とする。すなわちなので、これを

を用いるとの現在の推定値、に対する分布の推定はここで

EMアルゴリズムの導出 その2

=0

Page 10: クラシックな機械学習の入門  9. モデル推定

)|,(logE

)|,(log),|()|(

)|,(log),|(maxarg

)|,(log),|(

)|,(log),|(

)),|(||),|((

)|,(log),|()|,(log),|(

)),|(||),|((

)|(log)|(log

Z

ZXP

ZXPXZPQ

ZXPXZP

ZXPXZP

ZXPXZP

XZPXZPKL

ZXPXZPZXPXZP

XZPXZPKL

XPXP

old

oldnew

Z

oldold

Z

oldnew

Z

old

new

newold

Z

old

newold

old

Z

oldnew

Z

old

newold

に固定             

 と書く。以後 なお、

であるを最大化するような

はに近い結局、できるだけ真の

には関係ないので、はまた、

は定義より非負。

EMアルゴリズムの導出 その3

Page 11: クラシックな機械学習の入門  9. モデル推定

初期化:θoldを適当に決める

以下のEstep, Mstepを収束するまで繰り返す

E step: P(Z|X, θold)を計算

M step: θnew =argmax Q(θ| θold) とし、 θold をθnewに更新

θ

Z

old

oldold

Z

oldold

XZP

XZPXZP

ZXPZXPXZPQ old

),,(

),,(),|(

)|,(logE)|,(log),|()|( Z,

EMアルゴリズムの詳細

しかし、上記の導出から分かるように、 をθを動かしながら最大化しているので、局所解に陥る可能性あり。

)|(log XP

Page 12: クラシックな機械学習の入門  9. モデル推定

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では、θの全要素を一度に更新する式を求めている点に注意。

Page 13: クラシックな機械学習の入門  9. モデル推定

楽屋裏の話:なぜQ(θ| θ(t))か?

なぜ

を直接最適化せずにQ(θ| θold)か?

Q(θ| θold)=ΣP(Z|X ,θold)logP(Z,X |θold)

である。すなわち、 LはlogΣの形で解析的に扱いにくい。QはΣlogの形で解析的に扱いやすい

では、そもそもなぜ尤度ではなく対数尤度なのか?

多くの分布は exp(f(x)) だったり(ex 正規分布)、べき乗の形であるから、logをとると扱いやすい。

なぜ、expやべき乗なのか?

複数の確率変数の共起は、各々の確率の積だから、という説明も可能

理論的な背景から見れば「指数分布族:exponential family」であることが効果を発揮している。

Z

ZXpXpXL )|,(log)|(log)|(

Page 14: クラシックな機械学習の入門  9. モデル推定

EMの適用例:1変数正規分布

),|(),|(

1),|(),|(

2211

21222111

xNxN

wherexNxN

要素の正規分布 

 混合正規分布

このような観測データから、混合正規分布の各パラメタを推定する

Page 15: クラシックな機械学習の入門  9. モデル推定

問題の定式化

)30(),|(

),|(

)1|()1(

)1|()1()|1(

)20(),|(),|()|()()(

)11(),|(),|()|(

)10()(

)1()1(1,0

1),|(),|()(

,,,,,

2,1

j

k

2,1

222111

2,1

2211

21

2211

21222111

222111

21

21

GMxN

xN

zxpzp

zxpzpxzpz

z

GMxNxNzxpzpxp

GMxNxNxp

GMp

zpzpz

xNxNxp

j

jj

kk

k

kk

kkkk

k

k

kk

zz

zz

k

理で書きなおすを導入し、ベイズの定されるここで次のように定義

潜在変数

推定するパラメター:

z

z

Page 16: クラシックな機械学習の入門  9. モデル推定

いよいよEMアルゴリズムの適用

次のパラメターに適当な初期値を設定:

E step: P(Z|X, θ(t))を計算

ただし、観測されたデータはN個あるとする。

実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにする。

k

N

n

nk

N

n

nk

N

n k

nk

N

n k

nk

nkn

nk

j

jjn

kkn

z

z

jjn

z

z

kknnk

nk

nknn

N

n

z

n

z

n

Nzz

Nzznote

zx

GMzxN

xN

xN

xNz

z

kwherezzzZ

xNxNXZpGMGM

nj

nj

nk

nk

nn

11

1

2

11

2

1

2,1

2

j

2

k

2

j

2

k

21

1

2

222

2

111

2

E

E!

(

)40(),|(

),|(

),|(

),|(

E

)2,1,

),|(),|(),,,|()11()10(21

定義より

表すばれるか)への寄与をどちらの正規分布が選のこれはデータ

を評価する。    まとめて(すなわちここで

より  と

kk

2

k ,,

kk ,,kの の現在の値から計算した更新値

Page 17: クラシックな機械学習の入門  9. モデル推定

Mstep

での最適値を求める。を最大化してこの

においてを固定した上で次に

 

より 

  

より 

step

GMz

GMxNz

xNzZXp

GM

xNzZXp

xNxNZpZXpZXp

GMGM

kkk

nk

kknk

N

n k

nk

kknk

N

n k

nk

kknk

N

n k

nk

N

n

z

n

z

nnn

2

2

1

2

1

2

1

2

1

2

Z

1

2

1

1

222111

,,

)50(

)50(),|(loglog

),|(loglogE),,|,(logE

)40(

),|(loglog),,|,(log

),|(),|()()|(),,|,(

)11)(10(

21

Page 18: クラシックな機械学習の入門  9. モデル推定

)70(

1

0)(

2

)(log

),|(loglog

)50(

1

1

1

12

2

2

1

2

1

1

2

1

GMzxN

z

zx

xz

constx

z

xNz

GM

N

n

nkn

k

N

n

nk

N

n

nknnew

k

N

n k

knnk

k

knk

N

n k

nk

k

kknk

N

n k

nk

k

k

new

kk

。で微分してゼロとおくを

に更新するの最適化し

Page 19: クラシックな機械学習の入門  9. モデル推定

)80(

)(

)()801(

)801(02

)(

2

1

2

)(log

2

1

),|(loglog

)50(

1

2

2

1

2

1

2

1

22

2

2

2

22

1

2

1

2

2

1

2

1

2

22

GMN

xz

xzzGM

GMx

z

constx

z

xNz

GM

k

N

n

knnknew

k

N

n

knnk

N

n

nkk

N

nk

kn

k

nk

k

knk

N

n k

nk

k

kknk

N

n k

nk

k

k

new

kk

  より

。で微分してゼロとおくを

に更新するの最適化し、

Page 20: クラシックな機械学習の入門  9. モデル推定

)90(2

0

0

1),|(loglog

2

1 1

11

2

1

2

1

2

1

GMN

N

Nz

NzzL

xNzL

kk

k

k

N

n

nk

k

new

kk

N

n

nk

N

n k

nk

k

k

kkknk

N

n k

nk

k

式より以上の

一方

の最適化

ここでは、 が古い を反映して計算された値であった。それを固定して、loglikelihoodを最大化する新たな を求めているわけだ。

以上の(GM70)(GM80)(GM90)によって の更新式が求められた。

log likelihood (GM50)が収束しなければEstepに戻る

)( kz 2,, kkk

2,, kkk

2,, kkk

Page 21: クラシックな機械学習の入門  9. モデル推定

EMの適用例:混合多変数正規分布

),|(),|(

1),|(),|(

2211

21222111

xNxN

wherexNxN

要素の正規分布 

 混合正規分布

このような観測データから、混合正規分布の各パラメタを推定する

この例では1変数の正規分布だ

が以下の導出は多変数の正規分布を仮定している。

は行列

はベクトル

),(),(

,,,

1

22

1

11

21

x

1変数の場合と似ているが、少し難しいところあり

Page 22: クラシックな機械学習の入門  9. モデル推定

Σは共分散行列、Λは精度行列であることに注意

下の式はk変数の正規分布においてN個のデータがある場合

1

2

2,1

2,1

2

1

1

11

11

,...,1

xkxx

xxx

N

i

kiki

kik

i

xx

x

x

N

Page 23: クラシックな機械学習の入門  9. モデル推定

問題の定式化

)30(),|(

),|(

)1|()1(

)1|()1()|1(

)20(),|(),|()|()()(

)11(),|(),|()|(

)10()(

)1()1(1,0

1),|(),|()(

,,,,,

2,1

j

k

2,1

222111

2,1

2211

21

2211

21222111

222111

21

21

GMxN

xN

zxpzp

zxpzpxzpz

z

GMxNxNzxpzpxp

GMxNxNxp

GMp

zpzpz

xNxNxp

j

jj

kk

k

kk

kkkk

k

k

kk

zz

zz

k

理で書きなおすを導入し、ベイズの定されるここで次のように定義

潜在変数

推定するパラメター:

z

z

Page 24: クラシックな機械学習の入門  9. モデル推定

いよいよEMアルゴリズムの適用

次のパラメターに適当な初期値を設定:

E step: P(Z|X, θ(t))を計算

ただし、観測されたデータはN個あるとする。

実際には、P(Z|X, θ(t))ではなく Zの期待値 を求めておくことにする。

k

N

n

nk

N

n

nk

N

n k

nk

N

n k

nk

nkn

nk

j

jjn

kkn

z

z

jjn

z

z

kknnk

nk

nknn

N

n

z

n

z

n

Nzz

Nzznote

zx

GMzxN

xN

xN

xNz

z

kwherezzzZ

xNxNXZpGMGM

nj

nj

nk

nk

nn

11

1

2

11

2

1

2,1

j

k

j

k

21

1

222111

E

E!

(

)40(),|(

),|(

),|(

),|(

E

)2,1,

),|(),|(),,,|()11()10( 21

定義より

表すばれるか)への寄与をどちらの正規分布が選のこれはデータ

を評価する。    まとめて(すなわちここで

より  と

kk ,,k

kk ,,k の の現在の値から計算した更新値

Page 25: クラシックな機械学習の入門  9. モデル推定

Mstep

での最適値を求める。を最適化してこの

においてを固定した上で次に

 

より 

  

より 

step

GMz

xNz

GMxNz

xNzZXp

GM

xNzZXp

xNxNZpZXpZXp

GMGM

kkk

nk

kknk

N

n k

nk

kknk

N

n k

nk

kknk

N

n k

nk

kknk

N

n k

nk

N

n

z

n

z

nnn

,,

)50(

),|(loglog

)50(),|(loglog

),|(loglogE),,|,(logE

)40(

),|(loglog),,|,(log

),|(),|()()|(),,|,(

)11)(10(

1

1

2

1

1

2

1

1

2

1

Z

1

2

1

1

22211121

Page 26: クラシックな機械学習の入門  9. モデル推定

)70(

1

0

)()(2

1log

),|(loglog

)50(

1

1

1

1

1

1

1

2

1

1

2

1

GMzxN

z

zx

xz

constxxz

xNz

GM

N

n

nkn

k

N

n

nk

N

n

nknnew

k

N

n

knknk

knk

T

knk

N

n k

nk

k

kknk

N

n k

nk

k

k

new

kk

。で微分してゼロとおくを

に更新するの最適化し

Page 27: クラシックな機械学習の入門  9. モデル推定

ここが多変数だと難しくなる部分

N

n k

knk

T

kn

k

k

nk

knk

T

knk

N

n k

nk

k

kknk

N

n k

nk

k

k

new

k

new

kkk

new

kk

GMxx

z

constxxz

xNz

GM

1

1

2

1

1

1

2

1

11

)801(0)()(

2

1log

2

1

)()(2

1log

2

1

),|(loglog

)50(

)()(

。で微分してゼロとおくを

に更新するの最適化し、

に更新するの最適化し、

Page 28: クラシックな機械学習の入門  9. モデル推定

)80(

)()(

)()()803)(802)(801(

)803(0)()()()(

)()()()(log

)()(

)802(log

)801(

)801(0)()(

2

1log

2

1

11

1

1

1

1

1

11

1

11

1

11

1

GMN

xxz

Nzz

xxzzGMGMGM

GMxxxx

xxtracexx

traceAtraceA

GM

GM

GMxx

z

k

N

n

T

knknnknew

k

new

k

kk

N

n

nkk

N

n

knk

N

n

T

knknnk

N

n

knk

T

knknk

TT

knknk

T

knknk

k

kknk

T

kn

kk

k

TTT

k

T

k

k

k

N

n k

knk

T

kn

k

k

nk

 

  より

  

   

    より   公式 

を計算するのおのおのの項の微分

BA

ABxxxx

Page 29: クラシックな機械学習の入門  9. モデル推定

)90(2

0

0

1),|(loglog

2

1 1

11

2

11

2

1

GMN

N

Nz

NzzL

xNzL

kk

k

k

N

n

nk

k

new

kk

N

n

nk

N

n k

nk

k

k

kkknk

N

n k

nk

k

式より以上の

一方

の最適化

ここでは、 が古い を反映して計算された値であった。それを固定して、loglikelihoodを最大化する新たな を求めているわけだ。

以上の(GM70)(GM80)(GM90)によって の更新式が求められた。

log likelihood (GM50)が収束しなければEstepに戻る

kkk ,,)( kz kkk ,,

kkk ,,

Page 30: クラシックな機械学習の入門  9. モデル推定

EM法の応用:不完全観測データの場合のモデル推定:多項分布の場合

観測値が不完全な場合としては、複数の確率変数があるのに観測されるのは、K個の和だけなどという場合。

例題:母集団が次の多項分布である場合にN個の観測値からパラメタ-を推定する問題を考える。

観測値としては、x1,x2,x3,x4,x5ではなく、x1+x2に対応するyとx3,x4,x5が得られていたとする。

このため、観測値から直接にパラメタ- θを求められない。

)1(4

,4

1,

4

1,

4,

2

1,,,,

!!!!!

!,,,,

54321

54321

54321

5432154321

    ただし

xxxxx

xxxxx

Nxxxxxp

Page 31: クラシックな機械学習の入門  9. モデル推定

そこで、以下のstep1, step2を繰り返して θ を近似する。ただし、 θの初期値を θ(0)とする。また、以下はk+1回目の繰り返しとする。

推定値を求める。を用いて 既に求まっている の k step1 54321 ,x,x,x,xx

21

21

543

22

2

!!

!

42

14

42

12

!!

!

,

44

1

4

1

42

1

!!!!!

!

,,,,

1loglog

1loglog4log2log!!!!!

!log

2121

2121

54321

54321

4352

435254321

54321

x

old

old

x

old

x

old

old

x

old

xxxy

xx

y

xx

y

xxxxy

xxxxx

N

xxxxx

constxxxx

xxxxxxxxxxxxxx

N

k

の分布は次式なので、ただし、

のなす多項分布は次式

の対数尤度は次式が与えられていたときの近似値として

Page 32: クラシックな機械学習の入門  9. モデル推定

212

42

14,

42

122,1

(*)1loglog

)],,,,,([|

)],,,,,([maxarg1

1

)],,,,,([|

step1 step2

4352

54321,,,,,

54321,,,,,

54321,,,,,

54321

54321

54321

xxyxxy

constxxxxE

xxxxxpEQ

xxxxxpEk

k

xxxxxpEQ

Q

old

old

old

xxxxx

old

xxxxx

xxxxx

old

old

old

old

old

項分布でである

が各々確率は

    具体的には

を次式で求めるの新しい近似値   

関数の結果を用いて

Page 33: クラシックな機械学習の入門  9. モデル推定

543

5

43

5

435

2

2

2|maxarg

01

2|

1loglog2

(*)

22,

12

xxxy

xy

Q

xxxy

Q

constxxxy

yxEpyn

npppk

n

old

old

old

old

oldnew

old

old

old

old

old

old

old

old

old

knk

 この場合には 

の期待値は項分布

Page 34: クラシックな機械学習の入門  9. モデル推定

準備:KL divergence

相対エントロピー or Kullback-Leibler divergence or KL divergence: KL(P||Q):分布PとQの類似性を測る尺度

KL(P||P)=0

KL(P||Q)≠KL(Q||P)

非対称なので擬距離

対称性を持たせるために SymmetricKL(P||Q)=(KL(P||Q)+KL(Q||P))/2 という尺度もある

相互情報量:

)(

)(log)()| |(

i

i

i

ixQ

xPxPQPKL

yx yPxP

yxPyxPyPxPyxPKLyxI

,

,log,||,,

この部分をpointwise mutual informationとして使うこともある

Page 35: クラシックな機械学習の入門  9. モデル推定

観測データからのベイズ推定

観測データ:X、未知パラメター:θ、

モデル構造:M、潜在変数集合:Z

新たなデータxの事後予測分布

M Z

MZXp

MpMpMZXp

Xp

MpMpMZXpXMZp

MpMpMZXpMZXp

dθ),,,(

)()|(),|,(

)(

)()|(),|,()|,,(

)()|(),|,(),,,(

M Z

XMZpXp )|,,()|(

d)|()|()|( XpxpXxp

この積分の計算が困難

変分ベイズ法(Variational Bayse:VB)

M

Z θ

X

Page 36: クラシックな機械学習の入門  9. モデル推定

計算の困難さの問題点を詳しくいうと

ベイズ推定は、最尤推定と異なり、未知データの予測値ではなく予測分布を求める

教師データが少ない場合でも、汎化能力の高い予測器が作れる

ただし、P(Z|x,θ,M)、xは1個の観測データ(L次元)で、ベイズの定理で次のように変形するが

右辺 P(x,Z|θ,M)は xはZの成分(z1,z2,…,zK)に組み合わせで依存しているため、次式のように分解できない。

よって、Kが大きくなるとZの成分の組み合わせの数が膨大になり計算が困難

Z

MZP

MZPMZP

),|,(

),|,(),,|(

x

xx

),|,(),|,(1 1

MzxPMZP k

K

k

L

l

l

x

Page 37: クラシックな機械学習の入門  9. モデル推定

問題であった期待値の計算を近似的に確率的シミュレーションで 解くMCMC法が有力。

ただし、MCMCは計算が膨大。数理モデルを工夫し計算を効率化する方法として変分ベイズ法

EM法では、Q(θ)を最大にするθを求めた。

VB法では、θの値を最大化の対象にするのではなく、θの分布の形そのものを求める変分法

変分ベイズ法の考え方

Page 38: クラシックな機械学習の入門  9. モデル推定

に依存しない。周辺化しているので、

に対してはすなわち、

に注意。

よりの不等式

ZM

ZMXP

MZq

qMZq

MZXpMZq

xExEJensen

MZq

MZXpMZq

MZXpXPXL

M Z

M Z

M Z

M Z

,,

,,)(log

1d),,(

)(d),,(

),,,(log),,(

)][log(])[log(

d),,(

),,,(),,(log

d),,,(log)(log)(

F

変分ベイズ法のトリック

Page 39: クラシックな機械学習の入門  9. モデル推定

)||()(

)||(d),,(

)|,,(log),,()1(

)|,,()(

),,,(

)1(d),,(

),,,(log),,(d)(log),,(

)(

pqKL(q)XL

pqKLMZq

XMZpMZq

XMZpXp

MZXp

MZq

MZXpMZqXpMZq

(q)XL

M Z

M ZM Z

F

F

よって

だから

L(X)はqに依存しないから、F(q)を最大化すること

はKL(q||p)を最小化、すなわちpに最も似たqを求めることになる

EMでは、qを と決め打ちしていたが、VB

では、より柔軟な決め方を行っている。

)|,( )(tZXP

Page 40: クラシックな機械学習の入門  9. モデル推定

上記のqを求めるプロセスをいきなり計算することは困難なので、パラメターの事前分布とにq関して以下の仮定をおく。

因子化の仮定

I

i

i

I

i

i

MqMZqMqMθZq

MpMθp

1

1

)|()|()(),,(

)|()|(

この仮定の下で、変分法を使えば、次に述べる変分ベイズ法のアルゴリズムが導ける

しかし、この仮定が成立しないこともあるので、適用する問題によっては注意が必要。

Page 41: クラシックな機械学習の入門  9. モデル推定

因子化の仮定下でのVBの導出 その1

1dd|)|(

1d|

1)|(

)(

)(log

d|

|log|

d)|(

),|,(log|)|(

)(

|)|(ddd

d

)(|)|(

)()|(),|,(log|)|()(

1

1

Z

1

1

1

1

1

1

Z

I

i

Ii

jjM

I

i

i

i

ii

Z

I

i

i

I

i

iI

I

i

i

M Z

I

i

i

MqMZq

Mq

MZq

Mq

Mp

Mq

MpMq

MZq

MZXpMqMZq

Mq(q)

MpMp

MqMqMZq

MpMpMZXpMqMZqMq(q)

F

F

に注意すると

Page 42: クラシックな機械学習の入門  9. モデル推定

因子化の仮定下でのVBの導出 その2

次のようになる。

の前に出、の右辺と無関係なので、はただし、

の微分を含まないのでが

の極値問題を解く。すなわち、次の

に対して最大化をという条件下で

はの最適な分布が与えられたときのモデル

)]|([)|(

0)]|([

0)|(

)]|([

)|()]|([

1)|(

d)|(

),|,(log|)|()()]|([

)]|([

)|(1)|(

)|(

Z

1

Z

MZqJMZq

MZqJ

MZq

MZqJ

MZqMZqJ

MZq

MZq

MZXpMqMZqMqMZqJ

MZqJ

MZq(q)MZq

MZqZM

M Z

I

i

i

F

Page 43: クラシックな機械学習の入門  9. モデル推定

因子化の仮定下でのVBの導出 その3

とおけるのでだからなぜなら

MM

I

i

i

I

i

i

I

i

i

M

Z

I

i

i

Z

I

i

i

M

MqMq

MqMqMZq

MZXpMq

Mq

MZq

MqMZqMZq

MZXpMqMZq

Mq

MZq

MZq

MZqJ

)(1)(

0

d|d|)|(log

d),|,(log|

)(

1)|(

d|)|(log)|(

d),|,(log|)|(

)(

)|(

)|(

)]|([

11

1

Z

1

1

Page 44: クラシックな機械学習の入門  9. モデル推定

因子化の仮定下でのVBの導出 その4

からなるベクトルのはこの式の          

よって、

の値(スカラー)に対するはある

していると、が確率変数でなく確定もし、

だから、結局さらに

(*)

),|,(

1),|,()|(

(*)|

)d,|,(log|exp)|(

)|(log1d),|,(log|

1d|

1

1

1

Z

iii

I

i

i

I

i

i

I

i

i

MZXpCMZXCpMZq

iMq

MZXpMqCMZq

MZqMZXpMq

Mq

Page 45: クラシックな機械学習の入門  9. モデル推定

因子化の仮定下でのVBの導出 その5

Z ji

ijii

i

i

Z ji

ij

iii

ii

i

i

i

Z ji

ij

M

ii

I

i

i

i

ii

Z

I

i

i

M

i

i

i

MZXpMqMZqMpCMq

CMp

MqMZXpMqMZq

ff

Mq

Mp

MZXpMqMZq

Mq

Mq

Mq

MpMq

MZqMZXpMqMZq

Mq

Mq

MqJ

MqZM

d),|,(log|)|(exp||

|

|logd),|,(log|)|(

0)(0)d(

0

dd1|

|log

dd),|,(log|)|(

)(

1d|

d|

|log|

d),(log),|,(log|)|(

)(

)|(

)](|([

)|(

1

1

    よって

 だから 

解く。の内部)の極値問題を下の式の次の

 は の最適な分布 が与えられたときの モデル

Page 46: クラシックな機械学習の入門  9. モデル推定

変分ベイズ法のアルゴリズム

初期化として、以下の初期分布を設定

反復計算 以下を収束するまで繰り返す。 VB-E step

VB-M step

はθの構成要素からθiを除いた残りを意味する

IiMpMq old

i

old

i ,...,1})|({},)|({

)]),|,([logexp())d,|,(log)|(exp()|( ,, MZXpECMZXpMqCMZq ZM

M Z

oldnew

とする。を変数変数 oldnew

ZMi

i

old

i

M Z

new

i

new

i

MZXpEMpC

dZdMZDpMqMZqMpC

Mq

oldi

new )]),|,([logexp()|(

}){\),|,(log)|}{\()|(exp()|(

)|(

}\{,,

'

'

}{\ i

Page 47: クラシックな機械学習の入門  9. モデル推定

変分ベイズ法再考

EMの再考を思い出して比較してみる。

P(Z,X| θ,M)を θold を固定してZ, θ,Mで期待値をとることによって、Z,θ,Mに関する情報を教師データZか

ら集めて再度推定することを繰り返しての良い推定値を求めている。

ただし、因子化仮定によってθiを別々に更新してい

る。だから解析的に更新式が求まる場合もあるわけだ。

とする。を変数変数 oldnew

ZMi

new

i

ZM

new

MZXpEMpCMqMstepVB

MZXpECMZqEstepVB

oldi

new )]),|,([logexp()|()|(:

)]),|,([logexp()|(:

}{\,,

'

,,

Page 48: クラシックな機械学習の入門  9. モデル推定

変分ベイズ法の例題 1変数正規分布p(X| μ , τ )のパラメターを観測データから推定。ただし、平均値μ (これを潜在変数Zとみなす) 精度(=分散の逆数)τ (これをパラメターθとみなす)の事前分

布は以下のように与えられているとする。

p(τ|a,b )を定義するガンマ関数は、パラメターa,bによっていろいろな分布形になるので、a,bを変化させて適した分布を得る目的でVBの事前分布として使うことが多い。

)exp()(

),|(),|(

))(|()|(

)(2

exp2

),|(

0

0

1

00000

1

0,0

1

22

00

ba

bbaGammabap

Np

xXp

aa

N

i

i

N

Page 49: クラシックな機械学習の入門  9. モデル推定

ガンマ分布

0.5

10

Page 50: クラシックな機械学習の入門  9. モデル推定

factorizedな変分近似の事後分布を

q(μ , τ )=q μ(μ)q τ(τ)とすると、以下のようにVB-Eステップ、VB-Mステップの計算ができる。左辺のqは更新した結果とする。

VB-E:ここでは、内部変数μ,λを更新する。

][

),|()(

22

][exp

)()(2

][exp

)]|(log),|([logexp)(

0

0

00

1

0

1

22

00

0

1

002

01

1

2

00

2

1

0

ENN

xN

Nq

N

x

N

x

NE

C

xE

C

pXpECq

NN

NN

N

i

i

N

i

i

N

i

i

よって

E[log(τ/2π)N/2]

などはμには

関係しないので定数とみなす

Page 51: クラシックな機械学習の入門  9. モデル推定

VB-Mステップ

Gamma分布が指数分布族(事前分布と事後分布が同じタイプだから、以下のように推論できる。

こうして を定義するGamma分布のパラメターが更新された。

以下、同様にVB-E,VB-Mを収束するまで繰り返すことになる。

])()([2

1

2

1

),|(

])()([2

log2

1log)1(

exp

)]|(log))(,|([logexp)()(

1

2

00

2

0

0

1

2

00

2

00

1

1

0

N

i

iN

N

NN

N

i

i

xEbb

Naa

baGamma

xE

Nba

C

pXpEpCq

更新式が得られるに対応させると以下のこの結果を

)(p

Page 52: クラシックな機械学習の入門  9. モデル推定

変分ベイズ法ではKL(q||p)を最小化した。しかし、p

に近いqを求めればよいのだからKL(p||q)を最小化する方法もありうる。

これがExpectation Propagation:EP法。

Expectation Propagation

Page 53: クラシックな機械学習の入門  9. モデル推定

EP法の背景

KL(p||q)を最小化するqをpから求める。

qはexponential family

一方、exponential familyであるqにおいて

][)(

)||(KLminimize

][)()||(

))(exp()()(

)(

)(

u(z)η

η

u(z)ηη

ηu(z)ηzz

z

z

T

T

p

p

Ea

qptothen

constEaqpKL

ahq

が保存されている。  となり=あわせると

ゆえに

より

=1の積分が1だから

momentuEuE

uEη

ηa

duηauηhdηauηhη

ηa

auηhq

zpzq

zq

TT

][][

][)(

0)())()(exp()())()(exp()()(

d)(exp)(

)()(

)(

(z)(z)

(z)

xxxxxxx

zη(z)zT

Page 54: クラシックな機械学習の入門  9. モデル推定

EP法

確率変数θをパラメターとするとき、第i番目のデータの出現確率がfi(θ)とする。

このとき、観測データDの結合確率は

そこで、狙いは事後分布p(θ|D)を近似する分布qを以下のように求めること。

)(),( i

ifDp

i

ifZ

q )(~1

)(

Page 55: クラシックな機械学習の入門  9. モデル推定

EP法の処理手順 )(

~if

1. を全て初期化。

2. 事後分布の近似を以下ように設定

3. 収束するまで以下を繰り返す

(a)改善すべき を決める

(b)これを次のようにして取り除く

(c)良い十分統計量(exモメント)が保存されるような新しい事後分布 を求め、正規化定数も次のように求める。

(この計算を解析的に行うので、けっこう面倒である。)

(d)以下の更新を行う。

4. 得られたモデルの近似度を評価する。

i

ifq )(~

)(

)(~

jf

)(~

)()(\

j

j

f

qq

)()()( \ jjnew fqq

d)()(\j

jj fqZ

)(

)()(

~\

j

new

jjq

qZf

d)(~

)(

i

ifDp

Page 56: クラシックな機械学習の入門  9. モデル推定

EP法の例:グラフィカルモデル

左側の構造のグラフィカルモデルを、右側のように分解する。

2

~bf

x1 x2 x3

x4 x4

x3 x2 x1

fa

fc

fb

1

~af

1

~af

2

~cf

2

~af 3

~bf

4

~cf

Page 57: クラシックな機械学習の入門  9. モデル推定

),(~

),(~

),(~

)(

),(),(),()(

433221

433221

xxfxxfxxfq

xxfxxfxxfp

cba

cba

x

x

ここで、前頁の右のグラフのように分解してみると

。下のようにして求めるを最小化するものは以

て得る。を最小化するものとしは、ここで、

をかけてそして、更新した

すると

を選ぶ。=ムにおいてここでEPアルゴリズ

)||ˆ(

)||ˆ()(

)(~

)(~

),()(~

)(~

),()()(ˆ

)(~

)(~

)(~

)(~

)(

)(~

)(~

),(~

)(~

)(~

)(~

)(~

)(~

)(~

)(

442232221132

\

44222211

\

332232

442233222211

new

newnew

ccbaab

b

b

ccaa

b

bbb

ccbbaa

qpKL

qpKLq

xfxfxxfxfxfxxfqp

f

xfxfxfxfq

xfxfxxf

xfxfxfxfxfxfq

x

xx

x

x

Page 58: クラシックな機械学習の入門  9. モデル推定

KLを最小化するには

ppZqq

ZqZqZp

ZqZpp

Zqp

q

h

qqpKLh

Lagrangueq

pqZppconst

ZqpqpKL

ji

ii

iiiij

iij

ji

i

iiji

i

j

M

i

i

i

M

i

ii

M

i

ii

周辺化したすなわちゆえに最適な

よりかつここで

未定乗数法によりだが、について最小化するのこれを

のエントロピーに無関係なすなわち、じつは

ZZ

ZZ

ZZ

ZZ

ZZ

d)()(

11)()(1)(

)()(d)(

)(

1d)(0

)1()||(

)d)(log)((

d)(log)()||(

*

1

1

1

Page 59: クラシックな機械学習の入門  9. モデル推定

よってqnewは更新したpを周辺化すればよい

),()(~

)(~

)(~

),()(~

~,

~)(

~)(ˆ

),()(~

)(~

)(ˆ

),()(~

)(~

)(ˆ

)(~

)(ˆ

32222233

3222

32

444

3222223

3222222

111

2

3

2

3

xxfxfxfxf

xxfxf

ffq

xfxp

xxfxfxfxp

xxfxfxfxp

xfxp

p

b

x

cab

x

bb

bb

new

c

b

x

ca

x

bca

a

は以下のとおり。において更新されたよって、

 は以下の通り 関連する周辺化された

以下、同様にfa , fb , fcについてこれらの操作を収束するまで繰り返す。