bayesian nonparametrics入門 dpからhdpまで
TRANSCRIPT
Bayesian Nonparametrics 入門 -DPからHDPまで-
東京大学 情報基盤センター 中川研究室 助教
佐藤一誠
Dirichlet Process (DP)を一言で 「確率分布→無限次元で離散化」
α→大 α→小
𝐻:基底確率分布
𝐺~𝐷𝑃(𝐻, 𝛼)
𝐺 𝐺
※𝛼 → ∞で𝐺𝑑→𝐻
何を? どのくらい?
Hを αくらい
2
• なぜ無限次元離散分布が必要か?
–無限混合モデル
• どのように無限次元離散分布を構成するのか?
–構成しない(積分消去):Chinese restaurant process
–構成+計算で工夫:Stick-breaking process
3
準備:有限混合モデル
※本スライドでは、 パラメータを𝜑で表現します。 ベクトルの場合もあるし、
平均と分散のように複数の統計量を表すこともある。
※本スライドでは、 パラメータの混合比を𝜃で表現します。Gとは異なるので注意が必要です
𝑝(𝑥|𝜑1) 𝑝(𝑥|𝜑2) 𝑝(𝑥|𝜑3) 𝜃3
𝜃1
𝜑1 𝜑3
𝜃2
𝜑2 𝑋 Φ
混合分布はパラメータ空間上での離散分布 4
この考え方が重要
パラメータ空間 データの空間
G
準備:有限混合モデル
𝜃3 𝜃1
𝑥1 𝑥2 ~𝑝(𝑥|𝜑3) ~𝑝(𝑥|𝜑1)
G ∙ = 𝜃𝑘𝛿𝜑𝑘
𝐾(=3)
𝑘=1
∙
e.g., G 𝜑2 = 𝜃𝑘𝛿𝜑𝑘𝐾(=3)𝑘=1 𝜑2 =𝜃2
𝜑1 𝜑3
𝜃2
𝜑2
𝜑3~𝐺 𝜑1~𝐺 𝜑1~𝐺
𝑥3
混合比𝜃𝑘はパラメータ𝜑𝑘の出現確率 →Φ上の離散分布(混合分布)Gは以下のように書ける
𝜑2~𝐺 𝑥4 ~𝑝(𝑥|𝜑2)
5
Φ パラメータ空間
G
準備:有限混合モデル
𝜃3 𝜃1
𝑥1 𝑥2 ~𝑝(𝑥|𝜑3) ~𝑝(𝑥|𝜑1)
G ∙ = 𝜃𝑘𝛿𝜑𝑘
𝐾→∞
𝑘=1
∙
𝜑1 𝜑3
𝜃2
𝜑2
𝜑3~𝐺 𝜑1~𝐺 𝜑1~𝐺
𝑥3
混合比𝜃𝑘はパラメータ𝜑𝑘の出現確率 → Φ上の離散分布(混合分布)Gは以下のように書ける
𝜑2~𝐺 𝑥4 ~𝑝(𝑥|𝜑2)
6 混合分布はパラメータ空間上での離散分布
無限次元 無限混合
Φ パラメータ空間
G
無限混合モデル
G ∙ = 𝜃𝑘𝛿𝜑𝑘
∞
𝑘=1
∙
Φ上の無限次元離散分布
𝐺
Φ
𝐺~𝐷𝑃(𝐻, 𝛼)
𝜑𝑘~𝐺
𝑥𝑖~𝑝(𝑥|𝜑𝑘)
𝐺|𝑥1:𝑛
学習
7 Φ
応用例は多数
• クラスタリング
– クラス数がData dependent
• Entity disambiguation
– Entity数は予めわからない
• Word sense disambiguation
– word sense数は単語ごとに異なる
• 画像の領域分割
• 動画のトラッキング
e.t.c. 8
潜在変数表示
1 2 3
𝜃3 𝜃1
𝜃2
𝑥1
𝑧1 = 3 𝑧2 = 1
𝑥2 ~𝑝(𝑥|𝜑3) ~𝑝(𝑥|𝜑1)
𝑥𝑖
𝑧𝑖
𝜃
𝜑𝑘
𝛽 𝛼
𝐾
𝑛 𝑥𝑖~𝑝(𝑥|𝜑𝑧𝑖)
𝑧𝑖~𝑀𝑢𝑙𝑡𝑖(𝑧|𝜃)
𝜃~𝐷𝑖𝑟(𝜃|𝛼)
𝜑𝑘~𝐻(𝜑|𝛽)
無限次元 にできる?
→∞
9
𝑥2 𝑥4 ~𝑝(𝑥|𝜑2) 𝑥3 潜在変数空間
Z 𝑧3 = 1 𝑧4 = 2
• なぜ無限次元離散分布が必要か?
–無限混合モデル
• どのように無限次元離散分布を構成するのか?
–構成しない(積分消去):Chinese restaurant process
–構成+計算で工夫:Stick-breaking process
10
n
i
in xpxp1
:1 )|()|(
ベイズ学習
)()|()|( :1:1 pxpxp nn
)(p
尤度:
事前分布:
事後分布:
dxpxpxxp nnnn )|()|()|( :11:11
予測分布:
事後分布の最適性 [Zelnner1988]
予測分布の最適性 [Aitchison1975] 11
p(𝜃|𝑧1:𝑛,𝛼)=Multi 𝑧1:𝑛|𝜃 𝐷𝑖𝑟 𝜃|𝛼
=Dir 𝜃|𝛼 + 𝑛 ∝ 𝜃𝑘𝛼
𝐾+𝑛𝑘−1𝐾
𝑘=1
p(𝑧𝑛+1|𝑧1:𝑛,𝛼)= Multi 𝑧𝑛+1|𝜃 𝐷𝑖𝑟 𝜃|𝑧1:𝑛, 𝛼 𝑑𝜃
p(𝑧𝑛+1 = 𝑘|𝑧1:𝑛,𝛼) ∝𝛼
𝐾+ 𝑛𝑘
事前分布:(Symmetric) Dirichlet分布
事後分布:Dirichlet分布
予測分布:
もう少し 詳しく見てみよう
12
Multi 𝑧1:𝑛|𝜃 ∝ 𝜃𝑘𝑛𝑘𝐾
𝑘=1 尤度:多項分布
𝐷𝑖𝑟 𝜃|𝛼 ∝ 𝜃𝑘𝛼𝐾−1
𝐾
𝑘=1
p(𝑧𝑛+1 = 𝑘|𝑧1:𝑛,𝛼) ∝𝛼
𝐾+ 𝑛𝑘
∝
𝛼
𝐾+ 𝑛𝑘 (𝑛𝑘>0)
𝛼
𝐾 (𝑛𝑘=0)
𝑧1:𝑛中にkが出現
した場合
∝
𝛼
𝐾+ 𝑛𝑘 (𝑘 ∈ {𝑧1:𝑛})
𝛼
𝐾𝐾 − 𝐾+ (𝑘 ∉ {𝑧1:𝑛})
𝐾+ = | 𝑘: 𝑛𝑘 > 0 |
3 2 1 4 5
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1
𝛼
5
𝛼
5
3 2 1 4 5
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1
𝛼
5(5 − 3)
𝑧𝑛+1が新しいk
になる確率
予測分布:
13
∝
𝛼
𝐾+ 𝑛𝑘 (𝑘 ∈ {𝑧1:𝑛})
𝛼 −𝛼
𝐾𝐾+ (𝑘 = 𝐾+ + 1)
3 2 1 4 5
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1
𝛼
5(5 − 3)
p(𝑧𝑛+1 = 𝑘|𝑧1:𝑛,𝛼)
2 4 1 3
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1 𝛼
5(5 − 3)
そもそも箱の添字自体は意味が無い
⇒出現順にラベル付する (次スライド参照)
予測分布:
14
1
2 1
2 1 3
2 1 3
2 4 1 3
2 4 1 3
2 4 1 3 5 15
∝
𝛼
𝐾+ 𝑛𝑘 (𝑘 ∈ {𝑧1:𝑛})
𝛼 −𝛼
𝐾𝐾+ (𝑘 = 𝐾+ + 1)
3 2 1 4 5
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1
𝛼
5(5 − 3)
p(𝑧𝑛+1 = 𝑘|𝑧1:𝑛,𝛼)
2 4 1 3
𝛼
5+ 1
𝛼
5+ 3
𝛼
5+ 1 𝛼
5(5 − 3)
∝ 𝑛𝑘 (𝑘 ∈ {𝑧1:𝑛})
𝛼 (𝑘 = 𝐾+ + 1)
𝐾→∞とすると
2 4 1 3
1 3 1 α
𝐾 = 𝐾+となると 新しい番号が現れる確率は0
予測分布:
16
p(𝑧𝑛+1 = 𝑘|𝑧1:𝑛,𝛼)
Chinese Restaurant Process (CRP)
=
𝑛𝑘
𝑛+𝛼 (𝑘 ∈ {𝑧1:𝑛})
𝛼
𝑛+𝛼(𝑘 = 𝐾+ + 1)
1
5 + 𝛼
3
5 + 𝛼
1
5 + 𝛼
𝛼
5 + 𝛼
[Aldous 85]
17
Exchangeability
p(𝑧𝑖 = 𝑘|𝑧1:𝑛/𝑖 ,𝛼) =
𝑛𝑘/𝑖
𝑛−1+𝛼 (𝑘 ∈ {𝑧1:𝑛}/𝑖)
𝛼
𝑛−1+𝛼(𝑘 = 𝐾+ + 1)
1
4 + 𝛼
2
4 + 𝛼
1
4 + 𝛼
𝛼
4 + 𝛼
18
ギブスサンプラー
𝑧𝑖~𝑝(𝑧|𝑥𝑖 , 𝜃, 𝜑)
𝜃~𝑝(𝜃|𝑧1:𝑛,𝛼)
𝜑𝑘~𝑝(𝜑|𝑥1:𝑛, 𝑧1:𝑛,𝛽)
他の確率変数を固定して、1つの確率変数をサンプリングしていく
𝑥𝑖
𝑧𝑖
𝜃
𝜑𝑘
𝛽 𝛼
𝐾
𝑛
19
周辺化ギブスサンプラー
𝑥𝑖
𝑧𝑖
𝜃
𝜑𝑘
𝛽 𝛼
𝐾
𝑛
𝑝 (𝑥𝑖|𝑧𝑖 , 𝑥1:𝑛/𝑖,𝛽)= 𝑝 𝑥𝑖 𝜑𝑧𝑖 𝑝(𝜑|𝑥1:𝑛
/𝑖 , 𝑧1:𝑛/𝑖𝛽) 𝑑𝜑
𝜃~𝑝(𝜃|𝑧1:𝑛,𝛼)
𝜑𝑘~𝑝(𝜑|𝑥1:𝑛, 𝑧1:𝑛,𝛽)
特定の確率変数を積分消去して、確率変数をサンプリングしていく
𝑧𝑖~𝑝 (𝑥𝑖|𝑧𝑖 , 𝑥1:𝑛/𝑖, 𝑧1:𝑛
/𝑖,𝛽) 𝑝 (𝑧𝑖|𝑧1:𝑛/𝑖,𝛼)
𝑝 (𝑧𝑖|𝑧1:𝑛/𝑖,𝛼)= 𝑝 𝑧𝑖 𝜃 𝑝(𝜃|𝑧1:𝑛
/𝑖𝛼) 𝑑𝜑
CRPでは、そもそも周辺化しているので、周辺化ギブスサンプラーと相性が良い 20
周辺化ギブスサンプラー for CRP
𝑝 (𝑥𝑖|𝛽)= 𝑝 𝑥𝑖 𝜑 𝑝(𝜑|𝛽) 𝑑𝜑
𝑝 (𝑥𝑖|𝑧𝑖 , 𝑥1:𝑛/𝑖, 𝑧1:𝑛
/𝑖,𝛽)𝑛𝑘
/𝑖
𝑛 − 1 + 𝛼 (𝑘 ∈ {𝑧1:𝑛}/𝑖)
𝑝 (𝑥𝑖|𝛽)𝛼
𝑛 − 1 + 𝛼 (𝑘 = 𝐾+ + 1)
𝑧𝑖~
𝑥𝑖
𝑧𝑖
𝜃
𝜑𝑘
𝛽 𝛼
∞
𝑛
潜在変数のみサンプル=テーブルへの配置を繰り返しサンプル
21
• なぜ無限次元離散分布が必要か?
–無限混合モデル
• どのように無限次元離散分布を構成するのか?
–構成しない(積分消去):Chinese restaurant process
–構成+計算で工夫:Stick-breaking process
22
1
2
3
4
),1(~1 Betab11 b
)1( 12 bb
),1(~2 Betab
長さ1の棒
Stick-breaking process (SBP)
・・・
・・・
2,1
)1(1
1
k
bbk
l
lkk
[Sethuraman 94]
23
SBPによるDPの構成定理
)(~,,, 4321 SBP
H,,, 4321 ~
・・・
13 2 4
),(~ HDPG
1k
k kG
・・・
[Sethuraman 94]
24
25
Dirichlet Processの定義
Ωを全事象、BをBorel集合族とする 確率測度Hが定義された可測空間(Ω,B)を考える αを正の実数とする 確率測度Gに対して、 Ωの任意の分割A1,...Amを考えたとき, のとき、GはDirichlet Processに従う
[Ferguson,1973]
))(,),(( 1 mAGAG
))(,),((~ 1 mAHAHDir
SBPの学習
無限次元をどのように学習アルゴリズムで実現するかが問題
• 変分ベイズ法
• Slice sampler
※どちらの方法も無限を有限にうまく落としこむところがポイント
26
変分ベイズ法 for SBP
)|,,(||)()()( :1:1:1 nnn xzpqqzqKL
)()()( :1 qqzq nを最小にする を求める
計算困難 計算かんたん
最適化困難
]|[ pqKL
][qF
)(log :1 nxp
[Blei+06]
27
)()()( :1 qqzq nを最大にする を求める
計算かんたん
最適化かんたん(じゃない場合も結構あるけど)
]|[ pqKL
][qF
)(log :1 nxp
)()()( :1 qqzqF n
変分ベイズ法 for SBP [Blei+06]
28
)()()( :1 qqzq nを最大にする を求める
計算かんたん
最適化かんたん(じゃない場合も結構あるけど)
)()()( :1 qqzqF n
),,,(log :1:1 nn zxpEF
)(qS
1
)(k
kqS S:エントロピー
計算かんたん (E[log p]はじゃない場合も)
変分ベイズ法 for SBP [Blei+06]
29
)()()( :1 qqzq nを最大にする を求める
計算かんたん
最適化かんたん(じゃない場合も結構あるけど)
)()()( :1 qqzqF n
)|(),|(log :1:1:1 nnn zpzxpEF
)|(||)( pqKL
1
)|(||)(k
kk pqKL
変分ベイズ法 for SBP [Blei+06]
30
)()()( :1 qqzq nを最大にする を求める
計算かんたん
最適化かんたん(じゃない場合も結構ある)
)()()( :1 qqzqF n
)|(),|(log :1:1:1 nnn zpzxpEF
)|(||)( pqKL
1
)|(||)(k
kk pqKL
実際にはここはSBPなので
変分ベイズ法 for SBP [Blei+06]
31
1
)|(||)(k
kk bpbqKL
1
)|(||)(k
kk pqKL
∞をどう扱うかが問題
変分ベイズ法 for SBP [Blei+06]
32
Truncation Trick
1
)|(||)(k
kk bpbqKL
1
)|(||)(k
kk pqKL
Tk では
1)1( Tbq
)|()( kk pq
T でStick-breakingを打ち切り
T
T
)|( kbp
は打ち切りを 仮定しないことに注意
33
Slice sampler for SBP
2,1
)1(1
1
k
bbk
l
lkk
Remaining Stick
1 2 3
ki kzp )|(
)()|,( ki uukzp
k
u
k
u
i
i
duu
duukzp
kzp
0
0
)(
)|,(
)|(
[Walker06, Kalli+08 ]
34
Slice sampler for SBP
2,1
),|(~
)1(
:1
1
1
k
zbpb
bb
nkk
k
l
lkk
Remaining Stick
1 2 3
ki kzp )|(
)()|,( ki uukzp
],0[),|( ki Ukzup 一様分布
otherwise0
1
),|(
k
i
u
ukzp
u以下の棒は確率0 になるので無視できる
[Walker06, Kalli+08 ]
35
Break Sticks
Remaining Stick >uなので
u u
Remaining Stick<uで止める
],0[),1|(~ 1 Uzupu i
1 2 3
otherwise0
1
),|(
k
i
u
ukzp
1 2 3 4 5 6 7
実質的には有限個からの サンプルになる
4次元の一様離散分布
Slice sampler for SBP [Walker06, Kalli+08 ]
36
Hierarchical Dirichlet Process より高度なモデリングへ
Bayesian Nonparametrics 入門 -DPからHDPまで-
37
Motivation: Topic model
𝑝(𝑖𝑡𝑒𝑚|𝑢𝑠𝑒𝑟) 𝑝(𝑡𝑜𝑝𝑖𝑐|𝑢𝑠𝑒𝑟) 𝑝(𝑖𝑡𝑒𝑚|𝑡𝑜𝑝𝑖𝑐)
T
t
ittu
1
,,
1
,,
t
ittu
user
(doc)
item (word) item (word)
user
(doc)
topic
topic
実は、DP単体では構成できない なぜ?
38
DP構成の復習
)(~,,, 4321 SBP
H,,, 4321 ~
・・・
13 2 4
),(~ HDPG
1k
k kG
・・・
39
ほしいもの
4,13,12,11,1 ,,,
・・・
13 2 4・・・
4,23,22,21,2 ,,,
・・・
13 2 4・・・
𝜃𝑢,𝑡は𝑢𝑠𝑒𝑟毎に異なるが、𝜑𝑡は共通
40
DPから複数のGを生成すると
13 2 4 1'3' 2' 4'
𝜃𝑢,𝑡は𝑢𝑠𝑒𝑟毎に異なり、𝜑𝑡も異なる
),(~1 HDPG ),(~2 HDPG
H~ H~
Hは連続分布なので、共通する𝜑の生成確率0
4,13,12,11,1 ,,,
・・・ ・・・
4,23,22,21,2 ,,,
・・・ ・・・
41
DPから複数のGを生成すると
13 2 4 1'3' 2' 4'
𝜃𝑢,𝑡は𝑢𝑠𝑒𝑟毎に異なり、𝜑𝑡も異なる
),(~1 HDPG ),(~2 HDPG
H~ H~
Hは連続分布なので、共通する𝜑の生成確率0
4,13,12,11,1 ,,,
・・・ ・・・
4,23,22,21,2 ,,,
・・・ ・・・
Hは連続分布なので、共通する𝜑の生成確率0
無限次元の離散分布にすれば良いのでは?
42
階層Dirichlet過程
4,13,12,11,1 ,,,
・・・
13 2 4・・・
4,23,22,21,2 ,,,
・・・
13 2 4・・・
𝜃𝑢,𝑡は𝑢𝑠𝑒𝑟毎に異なるが、𝜑𝑡は共通
),(~0 HDPG
0G~ 0G~
),(~ 01 GDPG ),(~ 02 GDPG
𝐺0は離散分布なので、共通する𝜑が生成可能
[Teh+,2006]
43
Latent Dirichlet Allocation (LDA)
𝑥𝑗,𝑖
𝑧𝑖
𝜃𝑗
𝜑𝑘
𝛽 𝛼
𝑛𝑗
𝐾
𝑝(𝑡𝑜𝑝𝑖𝑐|𝑢𝑠𝑒𝑟)
user
(doc)
topic
𝑝(𝑖𝑡𝑒𝑚|𝑡𝑜𝑝𝑖𝑐) item (word)
topic 𝑁
𝑥𝑗,𝑖~𝑀𝑢𝑙𝑡𝑖(𝑥|𝜑𝑧𝑖)
𝑧𝑗,𝑖~𝑀𝑢𝑙𝑡𝑖(𝑧|𝜃)
𝜃𝑗~𝐷𝑖𝑟(𝜃|𝛼)
𝜑𝑘~𝐷𝑖𝑟(𝜑|𝛽)
For each topic k:
For each user(doc.) j:
For each item(word) i:
[Blei+,2003]
44
HDP-LDA (SBP版)
𝑥𝑗,𝑖
𝑧𝑖
𝜃𝑗
𝜑𝑘
𝛽
𝛼
𝑛𝑗
∞
𝑁
𝜃𝑗~𝐷𝑃(𝜃|𝛼, 𝜃0)
𝜃0
𝛾 𝜃0~𝑆𝐵𝑃(𝜃|𝛾)
𝑥𝑗,𝑖~𝑀𝑢𝑙𝑡𝑖(𝑥|𝜑𝑧𝑖)
𝑧𝑗,𝑖~𝑀𝑢𝑙𝑡𝑖(𝑧|𝜃)
𝜑𝑘~𝐷𝑖𝑟(𝜑|𝛽)
For each topic k:
For each user(doc.) j:
For each item(word) i:
[Teh+,2006]
45
潜在変数の仮定:単語は各々トピックを持つ
The apple forms a tree that is small and deciduous, reaching 3 to 12 metres (9.8 to 39 ft) tall, with a broad, often densely twiggy crown.
46
Apple is an American multinational corporation that designs and sells consumer electronics, computer software, and personal computers.
工学的な利点:疎から疎への射影
Apple is an American multinational corporation that designs and sells consumer electronics, computer software, and personal computers.
5 1 1 4 4 2 1 10 1 2 2 5 5 5 1 5 5
Bag of words
Bag of Topics
47
学習アルゴリズム
• LDA
–変分ベイズ法 [Blei+ JMLR03]
–周辺化ギブスサンプラー [Griffiths+ 04]
–周辺化変文ベイズ法 [Teh+ NIPS07]
• HDP-LDA
–変分ベイズ法[Wang+,AISTATS11]
–周辺化ギブスサンプラー[Teh+ 06]
–周辺化変分ベイズ法[Teh+ NIPS08, Sato+ KDD2012]
48
Simplify
Cf. 周辺化変分ベイズ法
周辺化ギブスサンプラーからのinspire
)|,,(||)()()( :1:1:1 nnn xzpqqzqKL
)|,,(||)|,()( :1:1:1:1 nnnn xzpzqzqKL 積分消去
• 変分ベイズ法
• 周辺化変分ベイズ法
)/:1
(:1:1 )],([logexp)( in
zqnni xzpEkzq 更新式:
解析的に期待値計算不可能→log pのテイラー展開で近似 (HDP-)LDAの場合は0次近似が性能が良い[Asuncion+,UAI09] → Why? 理論解析 [Sato+,ICML2012]
49
まとめ
• Dirichlet過程
– Chinese restaurant process
– Stick-breaking process
• 階層Dirichlet過程, Latent Dirichlet allocation
• 学習アルゴリズム
– (周辺化)変分ベイズ法
– (周辺化)ギブスサンプラー
– Sliceサンプラー
50