Transcript 第7回
論理生命学第7回:
潜在変数モデルとEMアルゴリズム
渡辺一帆
内容
潜在変数モデルとは
例)混合正規分布
隠れマルコフモデル
EM(Expectation Maximization)法
潜在変数モデルの最尤推定のためのアルゴリ
ズム
講義資料:http://hawaii.naist.jp/~wkazuho/index-j.html
混合正規分布(1)
Gaussian Mixture Model (GMM)
x RM
K
p ( x | w ) ak g ( x | k )
k 1
コンポーネント:
g ( x | k )
|| x k ||2
exp
M
2
2
M次元正規分布
1
K
混合比: ak 0, ak 1
k 1
a (a1 , a2 ,..., aK ) は確率ベクトル
K
M
パラメータ: w ak , k | ak 0, ak 1, k R
k 1
x
x (2)
(1)
.
. .
. . ..
. .. .
..
.
. . . . ...
.
. ..
..
x (2)
x (1)
応用)クラスタリング, 密度推定
混合正規分布(2)
潜在変数(隠れ変数、不観測変数)
y ( y (1) ,..., y ( K ) ) {( 1, 0, ..., 0), ..., (0, 0,..., 1)}
K
p( x, y | w ) ak g ( x | k )
y(k )
どれか一つの要素のみが 1.
k 1
K
p ( y | a) a
y ( 1, 0, 0)
y(k )
k
k 1
K
p ( x | μ, y ) g ( x | k )
y ( 0, 1, 0)
y(k )
k 1
K
p( x | w) p( x, y | w) ak g ( x | k )
k 1
y
周辺化
y ( 0, 0, 1)
隠れマルコフモデル(1)
x {x1 , x2 ,..., xn }
xt ( x ,..., x
(1)
t
a12
データ系列
(M )
t
1
)
{( 1, 0, ..., 0), ..., (0, 0,..., 1)}
aij
:状態遷移確率
状態iから状態jへ遷移する確率
K
a
j 1
ij
1
bim :出力確率
状態iにおいてmを出力する確率
M
b
m 1
im
1
a22
a11
Hidden Markov Model (HMM)
a13
応用)文字列、時系列のモデリング
B bim
K M
a31
3
A aij
KK
2
隠れマルコフモデル(2)
yt ( yt(1) ,..., yt( K ) )
{( 1, 0, ..., 0), ..., (0, 0,..., 1)}
K
K
1
2
p( yt | yt 1 , A) a
j 1 i 1
K M
yt( j ) yt(i1)
ij
p( xt | yt , B) b
yt( i ) xt( m )
im
i 1 m 1
簡単のため y1
( 1, 0, ..., 0)
3
w ( A, B)
(状態1からスタート)
n
n
t 2
t 1
p(x, y | w ) p( yt | yt 1 , A) p( xt | yt , B)
周辺化
p(x | w) ... p(x, y | w)
y2
yn
HMMの尤度
演習
混合二項分布( x {0, 1, 2,..., N } N は既知)
N x
N x
N x
p( x | w ) a p1 (1 p1 )
(1 a) p2 (1 p2 ) N x
x
x
w {a, p1, p2 ; 0 a 1, 0 p1 1, 0 p2 1} について
(1)
( 2)
(1)潜在変数を y ( y , y ) {(1,0), (0,1)} として p ( x, y | w )を表せ
(2)ベイズの定理
p ( y | x, w )
p ( x, y | w )
p( x, y | w)
y
により p ( y | x, w )を表せ
最尤推定
学習データ:
尤度関数:
x {x1 ,..., xn }
潜在変数:
混合分布の場合:各
p(x | w )
n
xi
は独立と仮定
n
p(x | w) p( xi | w) p( xi , yi | w)
i 1
最尤推定量:
y { y1 ,..., yn }
i 1 yi
wˆ ML arg max log p(x | w)
w
潜在変数モデルでは
log p(x | w ) log p(x, y | w )
y
EM(Expectation Maximization)法:
潜在変数モデルの最尤推定のための(効率的な)アルゴリズム
EMアルゴリズム
Q関数
~)
Q ( w; w
p(y | x, w~ ) log p(x, y | w)
y
とする
(密度関数ではない)
EMアルゴリズム
3.
~ に適当な初期値を与える
w
~
Eステップ: Q(w; w ) を計算
~
Mステップ: Q(w; w ) を最大にする w を ŵ
4.
ŵ の対数尤度を計算し、収束しているか判定する
1.
2.
~ w
収束していなければ、w
ˆ として2.に戻る
とする
準備:カルバック情報量
2つの確率分布p (x ) と q(x) の間の擬距離
p ( x)
K ( p || q) p( x) log
q ( x)
x
p( x) log
p( x)
dx
q ( x)
xが離散のとき
xが連続のとき
K ( p || q ) 0 等号は p ( x) q ( x) のときのみ
∵ K ( p || q)
q( x)
t
として
p( x)
p( x) q ( x)
p( x)log
1dx y
q( x)
p ( x)
log t t 1 より
y t 1
y log t
t 1
(等号成立はt=1)
☆注意 データx上の確率分布間以外にも潜在変数y上やパラメータw上
の確率分布間の距離を測る場合もあります
t
EMアルゴリズム(2)
EM法で尤度が増加する理由
(言いたいこと L ( w
ˆ ) 0)
~)
L(w ) log p (x, y | w ) log p (x, y | w
y
log
y
p ( x, y | w )
~)
p ( x, y | w
y
y
log
p(x, y | w ) / p(y | x, w )
~ ) / p(y | x, w
~)
p(x, y | w
(∵ベイズの定理)
~)
p(x, y | w)
p(y | x, w
log
log
~
p(x, y | w)
p(y | x, w)
~ ) で期待値をとると
両辺を p (y | x, w
EMアルゴリズム(3)
EM法で尤度が増加する理由(続き)
~)
p(x, y | w )
p(y | x, w
~
~
p(y | x, w ) log
L(w ) p(y | x, w) log
~
p(x, y | w ) y
p(y | x, w )
y
潜在変数の分布に関す
るカルバック情報量
~ ) Q(w
~;w
~ ) K ( p(y | x, w
~ ) || p(y | x, w))
Q ( w; w
~ ) Q(w
~;w
~)
Q ( w; w
(∵カルバック情報量は非負)
~)
ˆ arg max Q(w; w
ww
w
ととれば、 L ( w
ˆ)0
(尤度が必ず増加)
混合正規分布の場合
a
p(x, y | w) k M g ( xi | k )
i 1 k 1
2
n
完全尤度:
潜在変数の事後分布
K
yi( k )
|| xi k ||2
g ( xi | k ) exp{
}
2
各データは独立
p(x, y | w ) n
p(y | x, w )
p( yi | xi , w )
p(x | w )
i 1
K
p( yi | xi , w)
p( xi , yi | w)
p( xi , yi | w)
y
ak g ( xi | k )
k 1
K
a g(x | )
yi
p( yi( k ) 1 | xi , w )
(k )
i
l 1
l
i
l
ak g ( xi | k )
K
a g(x | )
l 1
l
i
l
(*)
混合正規分布の場合
~)
~ ) log p (x, y | w )
Q関数 Q(w; w
p(y | x, w
y
n
K
~)
p(y | x, w
yi( k ) log ak g ( xi | k )
i 1 k 1
y
n
K
~ ) log a g ( x | )
p ( yi( k ) 1 | xi , w
k
i
k
i 1 k 1
n
nk p( y
i 1
(k )
i
~)
1 | xi , w
コンポーネントkからのデータ数
1
k
nk
n
(k )
p
(
y
i 1 | xi , w~ )xi
とすると
i 1
コンポーネントkからのデータの平均
K
|| k ||2
~
Q(w; w) nk log ak k k
+(wに依存しない項)
2
k 1
ˆ k k
EM法:
(†)
nk
aˆ k
(*)と(†)を繰り返す
n
応用例)混合正規分布 (アルゴリズム)
~
* k
初期化
□:data(n
50 )
~ ) 0.76
p( yi(1) 1 | xi , w
Eステップ
~ 0.49
a
1
**
~* * 0.51
a
2
~ ) 0.77
p ( yi( 2 ) 1 | xi , w
Mステップ
終了
*
*a
ˆ1 0.40
*
aˆ2 0.60
繰り返す
*
aˆ1 0.49
aˆ2 0.51
まとめ
潜在変数モデルの実例
混合正規分布
隠れマルコフモデル
潜在変数モデルの最尤推定法のための
EMアルゴリズム
演習(つづき)
混合二項分布( x {0, 1, 2,..., N } N は既知)
N x
N x
N x
p( x | w ) a p1 (1 p1 )
(1 a) p2 (1 p2 ) N x
x
x
w {a, p1, p2 ; 0 a 1, 0 p1 1, 0 p2 1} について
(1)
( 2)
(1)潜在変数を y ( y , y ) {(1,0), (0,1)} として p ( x, y | w )を表せ
(2)ベイズの定理
p ( y | x, w )
p ( x, y | w )
p( x, y | w)
により p ( y | x, w ) を表せ
y
(3)n個のデータ x {x1 ,..., xn } が与えられたときの
~ ) を計算せよ( nk , k を用いて表せ)
Q関数 Q(w; w
(4)EM法による尤度最大化のためのアルゴリズムを導け
ヒント
Qの最大化
~)
~ ) log p (x, y | w )
Q ( w; w
p(y | x, w
y
K
|| k ||2
nk log ak k k
+(wに依存しない項)
2
k 1
K
nk
nk / n
log
はカルバック情報量なので非負
n
a
k 1
k
K
K
nk
nk / n
nk
nk 1 K
log
log
nk log ak 0
n
a
n
n
n k 1
k 1
k 1
k
K
K
nk
nk
n
log
a
n
log
a
k
k
k
(等号成立は k
のとき)
n
k 1
k 1
n
|| k ||2
|| k ||2 || k ||2
2
k k
|| k k ||
2
2
2
(等号成立は k k のとき)