研究室内prml勉強会 8章1節
TRANSCRIPT
PRML 8章 1節 発表者 松田
1
Agenda • グラフィカルモデル概論 • ベイジアンネットワーク
• グラフィカルモデル記述のルールについて • 多項式曲線フィッティング
• 1章でみた多項式フィッティングをグラフィカルモデルで表してみる
• (ここまで分かればたぶんOKです) • 生成モデル • 離散変数
• 複雑なモデルにおけるパラメータ数について • 線形ガウスモデル
• 今日は省略
2
グラフィカルモデル概論
• 確率モデルをグラフで表すことは有用 • 構造を可視化できる • グラフの構造から、モデルの性質を調べることができる
• (HMMなどの)複雑なモデルにおける学習や推論を、グラフ上の操作として表現できる
• グラフとは? • ノード(node, vertex)
• 確率変数 もしくは確率変数の集合 • リンク(link, edge, arc)
• 確率変数間の関係 • の組
3
グラフィカルモデル
• ベイジアンネットワーク • 有向グラフ • 確率変数同士の因果関係
• マルコフ確率場 • 無向グラフ • 確率変数同士のゆるい束縛関係
• 具体的には・・・ • 「となりあったノード同士は近い値をとりやすい」など
4
ベイジアンネットワーク
p(a,b,c) = p(c | a,b)p(a,b)= p(c | a,b)p(b | a)p(a)!(8.2)
p(x1,!, xK ) = p(xK | x1,!, xK!1)!p(x2 | x1)p(x1) !(8.3)K個の確率変数の上の同時分布は、確率の乗法定理より、以下のように書ける
すべてのノードの組がリンクを持つ(全結合)の場合
乗法定理をどの順番で適用するかは任意
5
全結合ではない場合
p(x1, x2,…x7 ) =p(x1)p(x2 )p(x3)p(x4 | x1, x2, x3)p(x5 | x1, x3)p(x6 | x4 )p(x7 | x4, x5 ) !(8.4)
図 8.2
一般形としては、次の形で表される
)5.8()|()(1
∏=
=K
kkk paxpp x
ただしpak:xkの親ノードの集合
ここで考えているのは有向閉路を持たないグラフ(DAG; directed acyclic graph)
大きい番号のノードから小さい番号のノードへリンクが存在しない ようにノードに番号をふることが可能
(トポロジカルソートというらしいです:演習8.2)
6
演習 8.1 p(x) = p(xk | pak )
k=1
K
! !(8.5)
個々の条件付き分布が規格化されていると仮定して、(8.5)が規格化されている ことを示す。つまり、
... p(x)xK
!x1
! = ... p(xk | pak )k=1
K
"xK
!x1
! =1 を示したい。まずxkについて周辺化
... p(x)xK
!x1
! = ... p(xK | paK ) p(xk | pak )k=1
K"1
#xK
!x1
!
= ... p(xk | pak )k=1
K"1
#xK"1
!x1
!
= ... p(xk | pak )k=1
K"2
#xK"2
!x1
!
!
周辺化を 繰り返していくと最後にx1が残るので、
p(x1)x1
! =1
よって(8.5)は規格化されている。
7
演習 8.3 (1) a b c p(a,b,c) 0 0 0 0.192 0 0 1 0.144 0 1 0 0.048 0 1 1 0.216 1 0 0 0.192 1 0 1 0.064 1 1 0 0.048 1 1 1 0.096
表 8.2
p(a,b) ! p(a)p(b) を示す p(a =1) = 0.192+ 0.064+ 0.048+ 0.096 = 0.4p(a = 0) = 0.6p(b =1) = 0.048+ 0.216+ 0.048+ 0.096 = 0.408p(b = 0) = 0.592p(a = 0)p(b = 0) = 0.6*0.592 = 0.3552p(a = 0)p(b =1) = 0.6*0.408 = 0.2448p(a =1)p(b = 0) = 0.4*0.592 = 0.2368p(a =1)p(b =1) = 0.4*0.408 = 0.1632 a b p(a,b)
0 0 0.336 0 1 0.264 1 0 0.256 1 1 0.144
表 8.2をcに対して周辺化
p(a,b,c)をcに対して周辺化したものと合わないので
p(a,b) ! p(a)p(b)
8
演習 8.3 (2) a b c p(a,b,c) 0 0 0 0.192 0 0 1 0.144 0 1 0 0.048 0 1 1 0.216 1 0 0 0.192 1 0 1 0.064 1 1 0 0.048 1 1 1 0.096
表 8.2
b c p(b|c) 0 0 0.8 0 1 0.4 1 0 0.2 1 1 0.6
p(a,b | c) = p(a | c)p(b | c) を示す a b c p(a,b|c) p(a|c)p(b|c) 0 0 0 0.4 0.4 0 0 1 0.2768 0.2768 0 1 0 0.1 0.1 0 1 1 0.4152 0.4152 1 0 0 0.4 0.4 1 0 1 0.1228 0.1228 1 1 0 0.1 0.1 1 1 1 0.1842 0.1842
a c p(a|c) 0 0 0.5 0 1 0.692 1 0 0.5 1 1 0.307
cのもとでの条件付き確率
p(a=1)=0.4, p(a=0)=0.6 p(b=1)=0.4, p(b=0)=0.6 p(c=1)=0.52, p(c=0)=0.48
9
演習 8.4 a b c p(a,b,c) 0 0 0 0.192 0 0 1 0.144 0 1 0 0.048 0 1 1 0.216 1 0 0 0.192 1 0 1 0.064 1 1 0 0.048 1 1 1 0.096
表 8.2
p(a,b,c) = p(a)p(c | a)p(b | c) を計算
b c p(b|c) 0 0 0.8 0 1 0.4 1 0 0.2 1 1 0.6
a c p(c|a) 0 0 0.4 0 1 0.6 1 0 0.4 1 1 0.6
p(a=1)=0.4, p(a=0)=0.6
a
b
c
aとbは独立ではないが、 cで条件付けられることにより独立になる (head-to-tail) => 8章2節で議論
10
8.1.1 多項式曲線フィッティング
• 観測データtは重みベクトルwに依存する • と、ひとまず簡略化 • 多数のノードを陽に書き下すのは不便
w
t1 tN
↑プレート (N個のtがある)
プレートの導入
∏=
=N
nntppp
1
)6.8()|()(),( wwwt
簡単に書けるようになったので、モデルのパラメータも書きこんでみましょう
11
8.1.1 多項式曲線フィッティング
∏=
=N
nnn xtppp
1
22 ),,|()|(),,|,( σασα wwxwt
モデルのパラメータを書きこむと次のように表せる
x : 入力データ σ2 : ノイズの分散 α : wのガウス事前分布のパラメータ
値が決定しているパラメータ
観測されたパラメータ
隠れ変数(観測されていないが、tが 与えられれば事後分布を求めることができる)
∏=
∝N
nntppp
1
)7.8()|()()|( wwtw
12
8.1.1 多項式曲線フィッティング
• 最終目的は新しい入力値に対する予測を行うこと • t,xから学習したw
• 新しい入力x’に対するt’を予測する
),,ˆ|ˆ()|(),,|(),,,ˆ|,,ˆ( 2
1
22 σασσα wwwxwt xtppxtpxtpN
nnn ⎥
⎦
⎤⎢⎣
⎡= ∏
=
実際にベイズ予測を行うには、wを積分消去して ・・・(8.8)
dwxtpxtp ∫∝ ),,,ˆ|,,ˆ(),,,,ˆ|ˆ( 22 σασα xwttxでt’の予測分布が求められる
13
演習 8.5
• RVMの有向グラフィカルモデル • RVMとは何ぞや、というのはおいておいて・・・
p(t |X,w,!) = p(tn | xn,w,!)n=1
N
! !(7.79)
p(w |!) = ! (wi | 0,"i"1)
i=1
M
# !(7.80)
X: 入力ベクトルXの行列(N個) t:対応する出力値 w:パラメータベクトル α:ガウス事前分布の精度ベクトル(M個) β:ノイズの分散の逆数(精度) ただし M = N + 1
14
8.1.2 生成モデル • 伝承サンプリング(ancestral sampling)
• 同時分布に従うサンプルを生成する方法 • 番号の小さいノードから順番にサンプルを生成
• 詳しくは後の章で
• 画像が生成される過程を表すグラフィカルモデル • Image(ベクトル)は、Object(離散), Position(連続),
Orientation(連続)に依存した分布をもつ • Imageが与えられた状態でPositionとOrientationについて積分消去することで、Objectに関する事後分布が得られる
• 物体認識
15
8.1.2 生成モデル • 観測データと同じ分布に従う架空のデータを発生させることができるモデル • 架空のデータ:モデルの性質を理解する上で有用 • ほんとかな・・・?
• NLP的には・・・ • 言語モデル : p(w1,w2,….,wn)に対する生成モデル : 日本語っぽい文章を生成できる
• 文書モデル:文書は特定のトピックについて述べられている、という仮定のもとでの生成モデル
• Generative-model vs Discriminative-model • このへんにまつわる話は面白いので、研究に支障が出ない範囲で調べてみると良いかも
16
8.1.2 生成モデル
• p77 • グラフの末端ノードに対応する大きい番号がふられた変数が観測値を表し、小さい番号がふられたノードが潜在変数に対応する
• 観測された値から、潜在変数の分布を推測する問題に落とすことが多い • pLSI(Probabilistic Latent Semantic Indexing)
• Hofmann 1999
17
M個のドキュメントそれぞれからN個の隠れ変数、といった感じ
8.1.3 離散変数
• パラメータ数について議論 K個の状態をとりうる離散変数xの確率分布
)9.8()|(1
∏=
=K
k
xkkxp µµ
2つのK状態離散変数x1及びx2がある場合
∏∏= =
=K
k
K
l
xxkl
kkxxp1 1
2121)|,( µµ
K-1個のパラメータ
K2-1個のパラメータ
変数M個の時:KM-1個のパラメータ→指数的に増大
18
8.1.3 離散変数
a) 全結合 パラメータは K2-1個
a) 独立と仮定 パラメータは 2(K-1)個
リンクを除去することによって、パラメータの数を減らすことが可能 ただし、独立と仮定してしまうので、モデルの表現力は減少
全結合だとパラメータが多すぎる。独立性を仮定しすぎると表現力が失われる。 折衷案として、例えば上のような連鎖を考えると K-1+(M-1)K(K-1)個のパラメータ ・・・・ O(K2M)
19
8.1.3 離散変数
• パラメータを減らす別の方法: 共有 • parameter sharing, parameter tying
p(xi | xi-1) が同じパラメータを共有するという考え方
たとえば、ディリクレ事前分布をそれぞれのノードパラメータに対して導入 それぞれのノードが別々の事前分布を持つモデルはパラメータが多すぎる場合 事前分布を共有することでパラメータ数が削減できる
tying!
20
8.1.4 線形ガウスモデル • 省略・・・ (最後のほうだけちょっと読みましょう)
ガウス変数xの平均µに関する共役事前分布はガウス分布 xおよびµ上の同時分布もガウス分布になる
µ上の分布の平均は事前分布を制御するパラメータなので, 超パラメータとみなされる.
超パラメータの値自体が未知なので,超パラメータにも事前分布を導入する. (超事前分布)
これもガウス分布とすれば,ベイズ的取り扱いが可能 →階層ベイズモデルの一例
21
22
次いってみよう~