Transcript Document

ベイジアンネットワーク概説
第4章 ベイジアンネットワークの確率推論
4.1 ベイジアンネットワークによる確率推論
4.2 確率推論のアルゴリズム
4.2.1 列挙法・変数除去法
4.2.2 確率伝搬法
岩崎唯史
4. ベイジアンネットワークの確率推論
■ ベイジアンネットワーク
不確実性を含む対象を、確率変数の集合とそ
の間の条件付き確率として表現
■ 確率推論
一部の変数を観測したときに、その他の変数
の確率分布を計算すること
4.1 ベイジアンネットワークによる確率推論 (1)
■ 各変数が離散的な値をとる場合の条件付き
確率分布(ノンパラメトリックな表現)
表4.1 条件付き確率表(CPT)
→ 親ノードが取り得る状態
→
り子
得ノ
ー
るド
状が
態取
pa(Xi)=y1
…
pa(Xi)=yj
Xi=1
θi11
…
θij1
⋮
Xi=k
⋮
θi1k
⋱
…
⋮
θijk
Xi:i番目の変数(取り得る値はk通りの離散状態)
y:親ノード群の値の取り得るパターン( j通り)
4.1 ベイジアンネットワークによる確率推論 (2)
■ モデルの近似精度は、条件付き確率表の離
散化の細かさに依存
■ 親ノードを固定し、子ノードについて値を見る
⇒ 親ノードがpa(Xi)であるときの子ノードXiに
関する条件付確率
 k

p( X i | pa( X i ))   p( X i  l | pa( X i ))  1
 l 1

■ 条件付き確率表+グラフ構造+観測情報
⇒ 予測対象の変数が取り得る状態の確率を
計算(1.4節)
4.2 確率推論のアルゴリズム
■ 確率推論
1. 観測された変数の情報(e)が与えられたと
きの求めたい変数(X)の事後確率分布
P(X|e)を求める
2. P(X|e)からXの期待値や事後確率最大の
値(MAP値)、仮説の信頼度を評価
■ 確率推論のアルゴリズム
ベイジアンネットワークモデルと観測情報を与
えたとき、観測されていない変数に関する確
率分布を計算する手順
4.2.1 列挙法・変数除去法 (1)
■ ベイジアンネットワークによる確率的推論
(1) 親ノードも観測値もないノードに事前確率
分布を与える
(2) 観測された変数Xeの値eをノードにセット
P(Xe=e)=1
P(Xe≠e)=0
(3) 知りたい対象の変数Xの事後確率分布
(1) p(X1)
P(X|e)を計算する
X
(2)
1
X2=e
X3
X4
(3) p(X4|e)
4.2.1 列挙法・変数除去法 (2)
■ 列挙法
計算例:図4.1(Xi={0,1})
1
p( X 2  1) 
X1
p(X1)
知りたい変数
p(X3|X2)
X3
図4.1
  P( X , X
1
X 1 0 X 3 0
1
1
1
1

2
 1, X 3 )
   P( X , X , X )
1
X1 0 X 2 0X 3 0
p(X2|X1)
X2
1
あり得る全ての
状態で平均化
(周辺化)
計算量はO(23)
1
  P( X
X1 0 X 3 0
1
1
3
2
3
| X 2  1) P( X 2  1 | X1 ) P( X1 )
1
   P( X
X1 0 X 2 0X 3 0
3
| X 2 ) P( X 2 | X1 ) P( X1 )
(4.1)
4.2.1 列挙法・変数除去法 (3)
一般化
m状態変数 Xi={1,2,・・・,m}がn個(i=1,2,・・・,n)
m
p( X 2  1) 
m
m
   P( X , X
X1 1 X 3 1
X n 1
m m m
m
1
2
 1, X 3 ,, X n )
    P( X , X , X ,, X
X1 1 X 2 1X 3 1
X n 1
1
2
3
n
)
計算量はO(mn)
(4.2)
全変数について計算すると計算量はO(nmn)
⇒ 列挙法はネットワークの構造の性質を利用し
ていないので計算時間がかかり、非効率的
4.2.1 列挙法・変数除去法 (4)
■ 変数除去法
親を持たない最上位の変数X1は他の変数の
影響を受けないので、総和計算の外側に出す
1
p( X 2  1) 
1
  P( X
X1 0 X 3 0
1
1
3
| X 2  1) P( X 2  1 | X1 ) P( X1 )
1
   P( X
X1 0 X 2 0X 3 0
1

3
1
 P( X )  P( X
X1 0
1
| X 2 ) P( X 2 | X1 ) P( X1 )
1
X 3 0
1
3
| X 2  1) P( X 2  1 | X1 )
 P( X )   P( X
X1 0
1
(4.3)
1
X 2 0X 3 0
3
| X 2 ) P( X 2 | X1 )
計算量はO(23-1)
4.2.1 列挙法・変数除去法 (5)
■ m状態変数がn個の場合(式(4.2))、全変数
について計算する際の計算量はO(nmn-1)
ー変数除去法ー
ネットワーク構造の性質と変数間の独立性を利
用し、他の変数によらない部分の総和計算を再
帰計算の内側から外に出し、計算効率を上げる
※ 局所的な計算結果を保存し、総和計算時に
再利用することでさらに効率を上げる
⇒ 確率伝搬法
4.2.2 確率伝搬法 (1)
■ 確率伝搬法(belief propagation)
観測された情報から確率伝搬(変数間の局所計
算)によって各変数の確率分布を更新
・ 観測情報:e=(e+,e‐)
上流の観測
・ 計算したい事後確率:P(X2|e)
X 情報:e+
‐にベイズの定理
X
とe
π(X2)
2
1
X2
知りたい変数
λ(X2)
X3
下流の観測
情報:e-
図4.1
P( X 2 | e)  P( X 2 | e , e )
P(e | X 2 , e ) P( X 2 | e )

P(e | e )
 P(e | X 2 , e ) P( X 2 | e ) (4.4)
  1/ P(e | e )
≡λ(X2)
≡π(X2)
4.2.2 確率伝搬法 (2)
■ 上流の観測情報e+からのX2への寄与
 ( X 2 )  P( X 2 | e )   P( X 2 | X1 )P( X1 | e ) (4.5)
X1
X1についての周辺化
条件付き確率表より
≡π(X1)
(1) 観測値が与えられいる
 ( X1)  その値
(2) 観測値がなく、最上流のノード
 ( X1)  事前確率
(3) 観測値がなく、上流に親ノードをもつ
 ( X1 )   P( X1 | X upper) ( X upper)
X upper
π(Xupper)
Xupper
(1)or(2)まで再帰
π(X1)
X1
π(X2)
X2
4.2.2 確率伝搬法 (3)
■ 下流の観測情報e‐からのX2への寄与
 ( X 2 )  P(e | X 2 )   P(e | X 2 , X 3 ) P( X 3 | X 2 )
X3
X3についての周辺化
e-はX2によらない
  P(e | X 3 ) P( X 3 | X 2 ) (4.6)

X3
≡λ(X3)
条件付き確率表より
(1) 観測値が与えられいる
( X 3 )  その値
(2) 観測値がなく、最下流のノード
( X 3 )  一様確率(無情報)
(3) 観測値がなく、下流に子ノードをもつ
( X 3 )  ( X lower)P( X lower | X 3 )
X lower
(1)or(2)まで再帰
X2
λ(X2)
X3
λ(X3)
Xlower
λ(Xlower)
4.2.2 確率伝搬法 (4)
■ 任意のノード(Xi)の事後確率
(式(4.4)の一般化)
P( X j | e)  ( X j ) ( X j )
e  (e , e )
  1/ P(e | e )
 ( X j )  P( X j | e )
( X j )  P(e | X j )

4.2.2 確率伝搬法 (5)
■ 親ノードi個、子ノードj個の場合
Pr(X  x)   ( x) ( x)
U1
 ( x)   P( x | U  u)U X (u)
Ui
 ( x)   Y X ( x)
X
 XY ( x)   ( x) Y X ( x)
Y1
k
・・・
XU (u)    ( x) P( x | U )U X (uk )
i
x
k i
k i
λ(x)
λYX(x)
To X
πXY(x)
From X
Yj
k j
λXU(u)
From X
π(x)
j
j
Ui
πUX(u)
To X
i
u
・・・
k
図4.2 確率伝搬アルゴリズム
Yj
4.2.2 確率伝搬法 (6)
■ 単純結合ネットワーク(グラフにループなし)の
場合、計算量はグラフの辺の数に比例
■ アルゴリズム(全ての状態を列挙しない)
(1) P(Xi|e)、 π(Xi)、λ(Xi)の値を設定
(2) CPTと(1)の各値から新しいP(Xi|e)、 π(Xi)、
λ(Xi) を再計算
*確率が収束するまで(2)を繰り返す
■ 複結合ネットワーク(グラフにループあり)の場
合、確率が収束する保障なし