グラフィカルモデルによる推論
• 2変数x, yの同時分布を因数分解する
(a)𝑝(𝑥, 𝑦) = 𝑝(𝑦|𝑥)𝑝(𝑥)
(b) 𝑦が観測されたとき
(c) 𝑥上の事後分布の推論
'
( ) ( | ') ( ')
x
p y p y x p x
( | ) ( )
( | )
( )
p y x p x
p x y
p y
8.4.1 連鎖における推論
連鎖の途中のノード𝑥 𝑛の周辺分布𝑝(𝑥𝑛)を推論する問題
• すべてのノードが観測されていないとき、
求める周辺分布は
• 必要なメモリ容量と計算量はO(𝐾 𝑁
)程度になる
→連鎖の長さに関して指数オーダー
1 1 1
( ) ( )
n n N
n
x x x x
p x p
x
7.
条件付き独立性の利用
• グラフィカルモデルの条件付き独立性を利用する
– 効率的なアルゴリズムを構築できる
•式(8.50)に式(8.49)を代入
• 和演算に注目する: 1, 1( , )
N
N N N N
x
x x
1 1 1
1,2 1 2 2,3 2 3 1, 1
1
( ) ( , ) ( , ) ( , )
n n N
n N N N N
x x x x
p x x x x x x x
Z
1,2 1 2 2,3 2 3 1, 1
1
( ) ( , ) ( , ) ( , )N N N Np x x x x x x
Z
x
1 1 1
( ) ( )
n n N
n
x x x x
p x p
x
8.
効率的な計算
• 1つの和演算が1つの変数を消去するため
効率が良い
1 11
1 2 1
1
1,2 1 2 2,3 2 3 1, 1
1, 1 2,3 2 3 1,2 1 2
, 1 1 1, 1
1
( ) ( , ) ( , ) ( , )
1
( , ) ( , ) ( , )
( , ) ( , )
n n N
n
n N
n N N N N
x x x x
n n n n
x x x
n n n n N N N N
x x
p x x x x x x x
Z
x x x x x x
Z
x x x x
局所的なメッセージ伝播
: 前向きに伝わるメッセージ
: 後ろ向きに伝わるメッセージ
※それぞれ再帰的に計算する
1
() ( ) ( )n n np x x x
Z
( ) ( )
n
n n
x
Z x x
1 2
1
1, 1
1, 1 1
( ) ( , )
( , ) ( )
n n
n
n n n n n
x x
n n n n n
x
x x x
x x x
1 2
1
, 1 1
, 1 1 1
( ) ( , )
( , ) ( )
n n
n
n n n n n
x x
n n n n n
x
x x x
x x x
1
2 1,2 1 2( ) ( , )
x
x x x
前向き 後ろ向き
因子グラフ
• ある変数集合上の同時分布は因子の積で書ける
𝐱 𝑠:変数の部分集合
𝑓𝑠:因子を表す関数であり、変数集合を引数とする
( ) ( )s s
s
p f x x
1
( ) ( | ) (8.5)
K
k k
k
p p x pa
x
1
( ) ( ) (8.39)C C
C
p
Z
x x
有向グラフ
親のみに依存という
条件付き独立性を利用
無向グラフ
極大クリーク上の
ポテンシャル関数の積で表現
無向グラフからの変換
1. 無向グラフの各ノードに対応する変数ノードを作る
2. 極大クリーク𝐱𝑠に対応する因子ノードを付け加える
複数の異なる因子グラフが
1つの無向グラフに対応することがある
1 2 3 1 2 3( , , ) ( , , )f x x x x x x 1 2 3 2 3
1 2 3
( , , ) ( , )
( , , )
a bf x x x f x x
x x x
1 2 3( , , )x x x