EMアルゴリズム
@clear0015
お品書き(第6章 EMアルゴリズム p90〜)
• 教師なし学習に伴う問題
• log-sumからsum-logへ
• Q関数の特性
• Q関数の最大化
• EMアルゴリズムと補助関数法
2
EMアルゴリズムとは?→ 教師なし学習に伴う問題
前回の復習
■教師付き学習(ラベル付きパターン,完全データ)
・サイコロを投げる度に出た目だけでなく種類も教えてくれる
= 所属クラスを示すラベルが貼られている
■教師なし学習(ラベルなしパターン,不完全データ)
・観測できるのはサイコロの目のみ
= 所属クラスを示すラベルが貼られていない
𝑃 𝑥, 𝑠
𝑃 𝑥 =
𝑠
𝑃(𝑥, 𝑠)
マルコフ性を前提
3
𝑙𝑜𝑔𝑃 𝑥, 𝑠 =
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑠𝑡 +
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2
■教師付き学習
教師なし学習に伴う問題(最尤推定)
■教師なし学習
𝑙𝑜𝑔𝑃 𝑥 = 𝑙𝑜𝑔 𝑃 𝑥, 𝑠
パラメータ𝜋𝑖,θ𝑖の推定は𝐿1,𝐿2を最大化することにより求まる
計算量が膨大で最大化計算が困難(微分形の扱いも面倒)
4
EMアルゴリズムとは?(ざっくり説明)
「log-sumの目的関数をsum-logの形で最大化する手法」
・最尤推定値を逐次解法によって求める(実用的)
(ニュートン法などと違いヘッセ行列や逆行列計算を必要としない)
・通常統計モデルの算法として説明されるがこの本では
限定しない.
5
パラメータの存在を陽に示すため,次の様式を用いる.
𝜃 = (𝜃1, … , 𝜃𝑐, 𝜋1, … , 𝜋 𝑐)パラメータベクトル:
• P(x) → P(x;θ)
• P(s|x) → P(s|x;θ)
• P(x|s) → P(x|s;θ)
6
EMアルゴリズム
• step1 パラメータθ0の初期値を与える(パラメータの初期化)
• step2 パラメータθ0を用いてQ(θ0,θ)を求める
• step3 パラメータθ0を定数とみなし, Q(θ0,θ)を最大にするθを求める
• step4 対数有度logP(x;θ)を求め,その増分が予め定めた闘値以下なら収束した
とみなし終了.さもなければθ0←θと設定し,step2に戻って同じ処理を繰り返す
7
log-sumからsum-logへ
log-sumの形をした目的関数
𝜕𝐽 θ
𝜕θ
=
𝜕
𝜕𝜃 𝑖=1
𝑐
𝑓𝑖(θ)
𝑗=1
𝑐
𝑓𝑗(θ)
= 0
𝐽 θ = 𝑙𝑜𝑔
𝑖=1
𝑐
𝑓𝑖(θ)
普通に解こうとすると...
苦しい 8
ℎ𝑖
0
=
𝑓𝑖(θ0
)
𝑗=1
𝑐
𝑓𝑗(θ0)
更新前と更新後のパラメータ2種類を考える
ℎ𝑖
0
> 0,
𝑖=1
𝑐
ℎ𝑖
0
= 1
𝐽 θ = 𝑙𝑜𝑔
𝑖=1
𝑐
𝑓𝑖 θ
= 𝑙𝑜𝑔 𝑖=1
𝑐 ℎ 𝑖
0
𝑓 𝑖(θ)
ℎ 𝑖
0 ≥ 𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
𝑓 𝑖(θ)
ℎ 𝑖
0
イェンゼンの不等式より
9
イェンゼンの不等式
p297 定理A.5 関数f(x)が凸関数であるとする.このとき,
𝑝1 + 𝑝2 + … + 𝑝 𝑛 = 1
0 ≤ 𝑝𝑖 ≤ 1 (𝑖 = 1,2, … , 𝑛)
を満たすpiに対して
𝑓(𝑝1 𝑥1 + 𝑝2 𝑥2 + ⋯ + 𝑃𝑛 𝑥 𝑛) ≤ 𝑝1 𝑓(𝑥1) + 𝑝2 𝑓(𝑥2) + ⋯ + 𝑝 𝑛 𝑓(𝑥 𝑛)
が成り立つ.
10
𝑙𝑜𝑔
𝑖=1
𝑐
𝑓𝑖 θ −
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
𝑓𝑖(θ)
ℎ𝑖
0 =
𝑗=1
𝑐
ℎ𝑗
0
(𝑙𝑜𝑔
𝑖=1
𝑐
𝑓𝑖 θ − 𝑙𝑜𝑔
𝑓𝑗 𝜃
ℎ𝑗
0 )
= 𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
ℎ 𝑗
0
ℎ 𝑗
不等式の両辺の差
∵ 𝑗=1
𝑐
ℎ𝑗
0
= 1 ℎ𝑖
0
=
𝑓𝑖(θ0)
𝑗=1
𝑐
𝑓𝑗(θ0)
11
KLダイバージェンス p299 二つの確率関数の相違度を表す尺度
ℎ𝑖
0
= 𝐻0 𝑥𝑖 , ℎ𝑖 = 𝐻 𝑥𝑖 (𝑖 = 1,2, … , 𝑐)
ここで,二つの確率関数を定義する.
𝐾𝐿 𝑃, 𝑄 ≝
𝑋
𝑃 𝑋 𝑙𝑜𝑔
𝑃(𝑋)
𝑄(𝑋)
𝐾𝐿 𝐻0
, 𝐻 =
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
ℎ𝑗
0
ℎ𝑗
12
𝐽 θ =
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
𝑓𝑖(θ)
ℎ𝑖
0 + 𝐾𝐿 𝐻0
, 𝐻
𝐽 θ0 =
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
𝑓𝑖(θ0
)
ℎ𝑖
0 + 𝐾𝐿 𝐻0, 𝐻0
θ → θ0
𝐽 θ − 𝐽 θ0
=
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ − ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ0
+ 𝐾𝐿 𝐻0
, 𝐻
辺々引き算すると, 𝐾𝐿 𝐻0, 𝐻0 = 0であるため,
Q関数
13
𝐽 θ − 𝐽 θ0 =
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ − ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ0 + 𝐾𝐿 𝐻0, 𝐻
𝑄(θ0,θ) ≝
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ
Q関数
𝐽 θ − 𝐽 θ0 = 𝑄 θ0, θ − 𝑄 θ0, θ0 + 𝐾𝐿(𝐻0, 𝐻)
KLダイバージェンスの性質より,𝐾𝐿 𝐻0
, 𝐻 ≥ 0
𝑄 θ0, θ ≥ 𝑄 θ0, θ0 𝐽 θ ≥ 𝐽 θ0
θを繰り返し更新することによりJ(θ)は単調増加し,特定の値に収束する
14
𝐽 θ ≥
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔
𝑓𝑖(θ)
ℎ𝑖
0
EMアルゴリズムの数式による表現
= ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ0 −
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ
= 𝑄 θ0
,θ −
𝑖=1
𝑐
ℎ𝑖
0
𝑙𝑜𝑔𝑓𝑖 θ
step1
step2
step3
15
例6.1より
𝑄 θ0, θ =
𝑠
𝑃 𝑠 𝑥; θ0 𝑙𝑜𝑔𝑃(𝑥, 𝑠; θ)
=
𝑠
𝑃 𝑠1 𝑥1; θ0 ・・・𝑃 𝑠 𝑛 𝑥 𝑛; θ0 ∙ (𝑙𝑜𝑔𝑃(𝑥1, 𝑠1; θ0) + ⋯ + 𝑙𝑜𝑔𝑃(𝑥 𝑛, 𝑠 𝑛; θ0))
=
𝑡=1
𝑛
𝑄𝑡(θ0, θ)
𝑄𝑡(θ0, θ) ≝
s
𝑃(𝑠1|𝑥1; θ0) ・・・𝑃 𝑠 𝑛 𝑥 𝑛; θ0 ∙ (𝑙𝑜𝑔𝑃(𝑥𝑡, 𝑠𝑡; θ0)
ただし,
16
𝑄𝑡 θ0
, θ = (
𝑠 𝑡
𝑃 𝑠𝑡 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 𝑥𝑡, 𝑠𝑡; θ0
) ∙
𝑠−𝑡
𝑃 𝑠−𝑡 𝑥−𝑡; θ0
=
𝑠 𝑡
𝑃 𝑠𝑡 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡, 𝑠𝑡; θ0
𝑠 − 𝑡は𝑠から𝑠𝑡を除いた集合
Q関数の特性
𝑠−𝑡
𝑃 𝑠−𝑡 𝑥−𝑡; θ0 は,事後確率𝑃 𝑠−𝑡 𝑥−𝑡; θ0 における𝑠−𝑡の全ての可能な値の組の和であるから
𝑠−𝑡
𝑃 𝑠−𝑡 𝑥−𝑡; θ0 =
τ=1
(τ≠𝑡)
𝑛
(
𝑠τ
𝑃(𝑠τ|𝑥τ; θ0)) = 1
17
=
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 𝑥𝑡, ω𝑖; θ0𝑄𝑡 θ0, θ
𝑠 𝑡
=
𝑠 𝑡=ω1
ω 𝑐
であることを利用して,
=
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 ω𝑖 +
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 𝑥𝑡, ω𝑖
=
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 ω𝑖 𝑃(𝑥𝑡|ω𝑖)
=
𝑡=1
𝑛
𝑄𝑡(θ0, θ)𝑄𝑡 θ0, θ に代入
18
19
=
𝑡=1
𝑛
𝑄𝑡(θ0, θ)𝑄𝑡 θ0, θ
=
𝑡=1
𝑛
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 +
𝑡=1
𝑛
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 𝑥𝑡|ω𝑖
= 𝑅1 + 𝑅2
𝑙𝑜𝑔𝑃 𝑥, 𝑠 =
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑠𝑡 +
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2
■教師付き学習
比較
20
教師付き学習との関係
𝑙𝑜𝑔𝑃 𝑥, 𝑠; θ =
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑠𝑡 +
𝑡=1
𝑛
𝑙𝑜𝑔𝑃 𝑥𝑡|𝑠𝑡 = 𝐿1 + 𝐿2
教師付きの場合,𝑠𝑡 𝑡 = 1, … , 𝑛 は既知
𝑃 ω𝑖 𝑥𝑡; θ0
=
1 (𝑠𝑡 = ω𝑖のとき)
0 (𝑠𝑡 ≠ ω𝑖のとき)
𝑅1 =
𝑡=1
𝑛
𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0
𝑙𝑜𝑔𝑃 ω𝑖
= 𝑡=1
𝑛
( 𝑖=1
𝑐
𝑃 ω𝑖 𝑥𝑡; θ0 𝑙𝑜𝑔𝑃 ω𝑖 )
= 𝑡=1
𝑛
𝑙𝑜𝑔𝑃(𝑠𝑡) = 𝐿1
𝑅2も同様にして𝑅2 = 𝐿2
教師付きはQ関数を最大化するという教師なしの場合の
パラーメータ推定の特別な場合として考えられる

EMアルゴリズム