59
PRML titech 8.1 - 8.2 榊原隆文 (@saka bar) March 13, 2015 1 / 59

PRML_titech 8.1 - 8.2

Embed Size (px)

Citation preview

PRML titech 8.1 - 8.2

榊原隆文 (@saka bar)

March 13, 2015

1 / 59

自己紹介 (前回とほぼ変化なし)• 榊原隆文 (twitter:@saka barさかばー)• すずかけ台の奥村研に所属

• 専門は自然言語処理• テキスト集合からの知識獲得

• 好きなもの• 唐揚げ• 凌駕• Haskell• IIDX DP• 漢直 (漢字直接入力)

• 紹介スライドhttp://www.slideshare.net/takafumisakakibara75/tutcode

2 / 59

このスライドの特徴 (前回とほぼ変化なし)• スライド作成のために LATEXの Beamerパッケージを利用

• PowerPointを使いたくない• 前の発表の時に Beamerで痛い目見たけど、今回は大丈夫だろうか…

• gitでバージョン管理• このスライドはタグの v1.1と対応

• ソースを githubで公開• https://github.com/sakabar/prml_titech_8-1_8-2

• PDFを SlideShareで公開• http://www.slideshare.net/takafumisakakibara75/slide-44207685

3 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

4 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

5 / 59

この章の気持ち• 確率論は 2つの単純な等式から成り立っている

• 加法定理• 乗法定理

p(X) =!

Y

p(X,Y)

p(X, Y) = p(Y |X)p(X)

• →どんなに複雑な確率的推論・学習方法も、これらによって分解することができる

• そこでグラフィカルモデルですよ..1 確率モデル構造を視覚化できるので、新しいモデルの設計方針を決めるのに役立つ

..2 グラフの構造を調べることにより、条件付き独立性 (8.2章)などのモデルの性質に関する知見が得られる

..3 学習や推論のための計算をグラフ上の操作として表現できる

6 / 59

ことば• リンク• ノード• ベイジアンネットワーク (有向グラフィカルモデル)

a

b

c

• マルコフ確率場 (無向グラフィカルモデル)

A

CB

7 / 59

ベイジアンネットワーク• グラフィカルモデル: 広い確率分布のクラスをグラフで記述できる

p(a, b, c) = p(c|a, b)p(a, b)= p(c|a, b)p(b|a)p(a)

• このような分解は、任意の同時分布に対して常に可能• 左辺は a, b, c対称だが、右辺は対称でないことに注意

a

b

c

8 / 59

K変数の場合

p(x1, ..., xK) = p(xK |x1, ..., xK!1) . . . p(x2|x1)p(x1) (1)

• Kの値を決めれば、この同時分布は K個のノードを持つ有向グラフとして表現される

• 各ノードは式 (1)の右辺の因子のうちの 1つの条件付き分布に対応• 各ノードは自分よりも小さい番号が振られたすべてのノードから向かってくるリンクを持つ

• 全結合• グラフはリンクが存在しないことを通して、分布のクラスに関する情報を表現する

9 / 59

同時確率分布を条件付き分布の積で表す

p(x1)p(x2)p(x3)p(x4|x1, x2, x3)p(x5|x1, x3)p(x6|x4)p(x7|x4, x5)

x1

x2 x3

x4 x5

x6 x7

• K個のノードを持つグラフに対応する同時分布は次の式で与えられる。ここで、pakは xkの親ノード集合

p(x) =K"

k=1

p(xk|pak)

10 / 59

説明

p(x1)p(x2)p(x3)p(x4|x1, x2, x3)p(x5|x1, x3)p(x6|x4)p(x7|x4, x5)x1

x2 x3

x4 x5

x6 x7

• ここでの有向グラフは有向閉路を持たないという制約を満たす (有向非循環グラフ, DAG)

• 有向閉路を持たないことと、大きい番号を持つノードから小さい番号を持つノードへのリンクが存在しないへのリンクが存在しないようにノードを順序付けられることは等価• (演習 8.2)→次スライドで軽く説明

11 / 59

演習 8.2解• 問: 「有向グラフにおいて、すべてのノードについて、自分より小さい番号を持つノードに向かうリンクが存在しないようにノードを順序を付けることができるなら、有向閉路は存在しない」ことを示せ

• 対偶をとると、「有向グラフにおいて有向閉路が存在するならば、あるのノードについて、自分より小さい番号を持つノードに向かうリンクが存在するようにノードを順序を付けられている」

• 有向閉路に注目すると、初めのノードに戻ってくるときに「自分より小さい番号を持つノードに向かうリンク」を通ることになる

12 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

13 / 59

8.1.1例: 多項式曲線フィッティング• 1.2.6節で紹介したベイズ多項式回帰モデルをグラフィカルモデルで表すと、図のようになる

w

t1 tN

• ここで、複数のノードをコンパクトに表現するために、プレートを導入する

tnN

w

14 / 59

決定的パラメータ・観測変数・潜在変数• 確率的な変数と同様に、モデルのパラメータも陽に書いた方が便利な場合もある

• 値が確定しているパラメータに関するノードは小さな塗りつぶされた円で表現する

• 機械学習やパターン認識問題では、多くの場合、確率変数のうちいくつかを特定の観測値に対応させる。観測した確率変数は、グラフ上では塗りつぶされた円で表現する

• 一方、観測されていないノードを潜在変数と呼ぶ

tn

xn

N

w

!

"2

tn

xn

N

w

!

"2

15 / 59

複雑な例

p(t̂, t,w|x̂,x,!,"2) =

#$$$$$$%

N"

n=1

p(tn|xn,w,"2)

&''''''( p(w|!)p(t̂|x̂,w,"2)

tn

xn

N

w

!

!t"2

!x

• グラフィカルモデルと見くらべると、たしかに依存関係を簡潔に表すことができている

• ただし、モデルの具体的な中身は、式を見ないとわからない16 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

17 / 59

伝承サンプリング• 与えられた確率分布に対して、それに従うサンプルを発生させたい場合が多くある• サンプリング法については 11章• ここでは、伝承サンプリングのみ紹介

• 伝承サンプリングとは、番号の最も小さいノードから順にサンプルを発生させていき、最終的に同時分布 p(x)を求める方法である

18 / 59

生成モデル• 確率モデルの実際のアプリケーションでは、通常グラフの末端ノードに対応する大きい番号が振られた変数が観測値を表し、小さい番号が振られたノードが潜在変数に対応する

• このようなモデルが観測データを発生する過程を表現していると解釈することもできる

19 / 59

生成モデルの例: 物体認識問題• この問題では、物体の像が各観測データ点に対応し、この観測データから物体の種類を推論することが目的

• この問題では、例えば物体の位置・向きを隠れ変数とみなすことができる

• このグラフィカルモデルでは、全てのノードに関して確率分布が与えられているため、「架空」のデータを発生させることができる。• このようなモデルを生成モデルと呼ぶ

Image

Object OrientationPosition

20 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

21 / 59

8.1.3と 8.1.4の概要• 指数型分布族 (2.4節)は複雑な確率分布を構築するための基本構成要素として利用される

• グラフィカルモデルは、これらの構成要素がどのように接続されているかを表現するための便利な枠組みを提供する

• 有向グラフの親子対が共役関係 (同じような分布)になるように分布を選べば、そのモデルは非常に良い性質を持つ• 親ノードと子ノードが共に離散変数 (8.1.3)• 親ノードと子ノードが共にガウス変数 (8.1.4)

22 / 59

離散変数• K状態離散変数 xを 1-of-K表現を用いて表現する• 確率分布 p(x|µ)は

p(x|µ) =K"

k=1

µxkk

で与えられ、パラメータ µ = (µ1, ..., µK)Tによって支配される• 次に、2つの K状態離散変数 x1, x2があるとし、これらの同時分布をモデル化することを考える

p(x1,x2|µ) =K"

k=1

K"

l=1

µx1k x2lkl

• この分布は K2 ! 1個のパラメータに支配される• 変数が 2でなく M個のときは、KM ! 1個のパラメータ

• 指数オーダー orz23 / 59

どうするのか?• グラフに制約を加えることで、パラメータ数を減らす

• 独立の仮定→このスライド• 連鎖表現• パラメータ共有 (結合)• パラメトリックモデルの利用

• 変数 x1,x2が独立であると仮定すると、全パラメータ数は 2(K ! 1)である• この場合、x1 と x2 を結ぶリンクが除去されたことになる

• 一般に、M個の独立な K状態離散変数上の分布の場合、全パラメータ数は M(K ! 1)• 線形オーダになった!

• ただし、この操作によって表現可能な分布のクラスは制限されるx1 x2

x1 x2

24 / 59

連鎖表現• 全結合グラフと、リンクが全く無いグラフの中間的な結合度合いを持つグラフは、全く一般的な同時分布よりは指定すべきパラメータ数が少なく、また完全に因数分解可能なものよりは一般的な分布を表現できる

x1 x2 xM

• パラメータ数は、

K ! 1 + (M ! 1)K(K ! 1)

Kに対して 2次的、連鎖の長さ Mに関して (指数的ではなく)線形に増加

25 / 59

パラメータの共有 (結合)

x1 x2 xM

µ1 µ2 µM

• 図において、すべての条件付き分布 p(xi|xi!1)が同一のパラメータに支配されると仮定すると、

x1 x2 xM

µ1 µ

26 / 59

パラメトリックモデルの利用

y

x1 xM

• 親ノードの持つパラメータ数は M• 条件付き分布 p(y = 1|x1, ..., xM)については、必要なパラメータ数は

2M

• 親変数の線形結合を入力とするロジスティックシグモイド関数を用いれば、効率的に条件付き分布を記述できる

p(y = 1|x1, ..., xM) = "

)******+w0 +

M!

i=1

wixi

,------. = "(wTx)

27 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

28 / 59

線形ガウスモデル• この節では、要素変数上の線形ガウスモデルに対応する有向グラフによって、多変量ガウス分布を表現する方法を示す

• 対角共分散を持つガウス分布と一般のガウス分布とを両極端とするような興味ある構造を分布に持たせる

• 線形ガウスモデルの利用例• 確率主成分分析• 因子分析• 線形動的システム

29 / 59

同時分布• D個の変数上の任意の有向非循環グラフを考える• 線形ガウスモデルでは、分布の平均はノード iの親ノード pai状態の線形結合

p(xi|pai) = N)*******+xi

!

j"pai

wi jx j + bi, vi

,-------.

• 同時分布の対数は、グラフに含まれるすべてのノード上の条件付き分布の積の対数

ln p(x) =D!

i=1

ln p(xi|pai)

= !D!

i=1

12vi

(xi !!

j"pai

wi jx j ! bi)2 + const

• この式は xの成分に関する 2次関数→同時分布 p(x)は多変量ガウス分布

30 / 59

平均と分散• この同時分布の平均と分散は再帰的に決められる• 各変数 xiは以下のように書ける

xi =!

j"pai

wi jx j + bi +#

vi#i

• この期待値を取ると

E[xi] =!

j"pai

wi jE[x j] + bi

• この式をグラフ上の最も小さいノードから順番に再帰的に計算することで、E[[x]] = (E[x1], ...,E[xD])Tの全成分の値が得られる

31 / 59

共分散• 求めた E[xi]を利用する

xi =!

j"pai

wi jx j + bi +#

vi#i

E[xi] =!

j"pai

wi jE[x j] + bi

cov[xi, x j] = E[(xi ! E[xi])(x j ! E[x j])]

= E

#$$$$$$$%(xi ! E[xi])

/00010002

!

k"pa j

w jk(xk ! E[xk]) + #v j# j

300040005

&'''''''(

=!

k"pa j

w jkcov[xi, xk] + Ii jv j

32 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

33 / 59

条件付き独立性• 3変数 a, b, cに対し、bおよび cが与えられたとき、aの条件付き分布が bの値に依存しないとする。すなわち、

p(a|b, c) = p(a|c)

• このとき、cが与えられた下で、aは bに対して条件付き独立である• cで条件付けられた aおよび bの同時分布について考えると、条件付き独立性は次のように表現される

p(a, b|c) = p(a|b, c)p(b|c)= p(a|c)p(b|c)

34 / 59

注意• 条件付き独立性の定義は、cがある特定の値をとったときだけでなく、cの取り得るすべての可能な値に対して前述の式が成り立つことである

• 条件付き独立は次のように表すこともある

a ! b | c

• cが与えられたとき、aが bに対して条件付き独立

35 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

36 / 59

3つのグラフの例• 有向グラフの条件付き独立性を考えるため、ノードを 3つだけ持つ簡単な 3種類のグラフについて考える• tail-to-tail型

c

a b

• head-to-tail型a c b

• head-to-head型

c

a b

37 / 59

tail-to-tail型c

a b

• このグラフに対応する同時分布は以下の式で表されるp(a, b, c) = p(a|c)p(b|c)p(c)

• どの変数も観測されていないとすると、aと bが独立かどうかは両辺を cに関して周辺化すれば調べられる

p(a, b) =!

cp(a|c)p(b|c)p(c)

• この式は一般には積 p(a)p(b)には分解できないので、a !/ b | $

38 / 59

tail-to-tail型c

a b

• 一方、変数 cで条件付けてみると、

p(a, b|c) =p(a, b, c)

p(c)= p(a|c)p(b|c)

これより、条件付き独立性

a ! b | c

が導出された39 / 59

head-to-tail型a c b

p(a, b, c) = p(a)p(c|a)p(b|c)

• まず、cに関して周辺化することにより aと bの独立性を調べる

p(a, b) = p(a)!

cp(c|a)p(b|c) = p(a)p(b|a)

この式は一般に p(a)p(b)の形に因数分解できないため、前の例と同様に

a !/ b|$

が言える40 / 59

head-to-tail型a c b

• 次に、ノード cで条件付けると

p(a, b|c) =p(a, b, c)

p(c)

=p(a)p(c|a)p(b|c)

p(c)

=p(c, a)p(b|c)

p(c)= p(a|c)p(b|c)

が得られ、この場合にも条件付き独立性a ! b|c

が導かれる41 / 59

head-to-head型

c

a b

• 最後に、第 3の例について考えるp(a, b, c) = p(a)p(b)p(c|a, b)

cに関して周辺化すると、p(a, b) =

!

cp(a)p(b)p(c|a, b)

p(a)p(b)

を得る。よって先の 2例とは異なり、どの変数も観測されていないとき aと bとが独立であることがわかる。この結果を a ! b|$と書く

42 / 59

head-to-head型

c

a b

• 次に、cで条件付けられたときは、

p(a, b|c) =p(a, b, c)

p(c)

=p(a)p(b)p(c|a, b)

p(c)

これは一般に積 p(a|c)p(b|c)の形に因数分解できないため、a !/ b | cである

• このように、第 3の例は先の 2例とは反対の振る舞いをする43 / 59

まとめ• tail-to-tailまたは head-to-tail: 観測されていないときには経路を遮断せず、観測されると遮断する

• head-to-headノードは観測されていないとき経路を遮断し、そのノードかあるいはその子孫のうち少なくとも 1つが観測されたとき経路の遮断が解かれる

44 / 59

弁明現象

G

B F

• 車の燃料タンクモデルを考える• バッテリの状態 B{1,0}• 燃料タンクの状態 F{1,0}• 電動燃料計の状態 G {1,0}

• 何も観測していない時、p(F = 0) = 0.1

45 / 59

弁明現象

G

B F

• 何も観測していない時、p(F = 0) = 0.1• Gが 0であることを観測した後、p(F = 0|G = 0) % 0.257

(確率が上がった)

46 / 59

弁明現象

G

B F

• 何も観測していない時、p(F = 0) = 0.1• Gが 0であることを観測した後、p(F = 0|G = 0) % 0.257• さらに、Bが 0であることを観測すると、

p(F = 0|G = 0, B = 0) % 0.111(確率が下がった)

• バッテリが切れているという事実が、燃料計が空を指していることを「弁明」している• 「燃料が切れている可能性は低い。なぜなら、すでにバッテリが切れているということが電動燃料計がゼロになっていることの理由になっているから」

47 / 59

もくじ..1 8.1ベイジアンネットワーク

..2 8.1.1例:多項式曲線フィッティング

..3 8.1.2生成モデル

..4 8.1.3離散変数

..5 8.1.4線形ガウスモデル

..6 8.2条件付き独立性

..7 8.2.1 3つのグラフの例

..8 8.2.2有向分離 (D分離)

48 / 59

有向分離• グラフの有向分離• A, B,Cそれぞれを重複しない任意のノード集合とする• 条件付き独立性 A ! B | Cを調べたい• Aに属する任意のノードから Bに属する任意のノードへの全ての可能な経路を考える必要がある

49 / 59

経路の遮断• 以下の条件のうちいずれかを満たすノードを含む経路は遮断されていると言う

..1 集合 Cに含まれるノードであって、経路に含まれる矢印がそこでhead-to-tailあるいは tail-to-tailである

..2 経路に含まれる矢印がそのノードで head-to-headであり、自身あるいはそのすべての子孫のいずれも集合 Cに含まれない

• すべての経路が遮断されていれば、AはCによって Bから有向分離されていると言い、グラフの全変数上の同時分布は A ! B | Cを満たす

50 / 59

例 1f

e b

a

c

• 遮断する条件..1 集合 Cに含まれるノードであって、経路に含まれる矢印がそこで

head-to-tailあるいは tail-to-tailである..2 経路に含まれる矢印がそのノードで head-to-headであり、自身あるいはそのすべての子孫のいずれも集合 Cに含まれない

• aから bへの経路はノード f によって遮断されない• f は tail-to-tail

• eによっても遮断されない• head-to-headだが子孫 cが観測されている

• 以上より、条件付き独立性 a ! b | cはこのグラフからは導けない51 / 59

例 2f

e b

a

c

• aから bへの経路はノード f によって遮断される• ノード f は tail-to-tailであり、かつ観測されている

• 条件付き独立性 a ! b | f が成立

52 / 59

独立同分布データの場合µ

x1 xN

• 1変量ガウス分布の平均事後分布を得る問題

p(µ, x) = p(x|µ)p(µ)

• µを条件付け変数と見なすと、任意の xiから x j"iへの経路がtail-to-tailの観測済みノード µによって遮断される

• µが与えられた下で、観測値 D = (x1, ..., xN)は独立

p(D|µ) =N"

n=1

p(xn|µ)

53 / 59

独立同分布データの場合µ

x1 xN

• 次に、µを消去した場合には観測値は独立ではない

p(D) =6 &

&p(D|µ)p(µ)dµ "

N"

n=1

p(xn|µ)

• 遮断する条件..1 集合 Cに含まれるノードであって、経路に含まれる矢印がそこで

head-to-tailあるいは tail-to-tailである..2 経路に含まれる矢印がそのノードで head-to-headであり、自身あるいはそのすべての子孫のいずれも集合 Cに含まれない

54 / 59

図 8.7の例

tn

xn

N

w

!

!t"2

!x

• t̂から tnに対する任意の経路において、wは tail-to-tailであるため、以下の条件付き独立性が成立

t̂ ! tn |W

• 一旦訓練データを利用して係数w上の事後分布を決めてしまえば、訓練データ tnを捨ててしまってよい

55 / 59

ナイーブベイズモデルz

x1 xD

• ナイーブベイズモデルのグラフ構造• 観測変数 x = (x1, ..., xD)T

• クラスベクトル z = (z1, ..., zK)

• zを観測すると、xiと x j"iとの間の経路が遮断される (=条件付き独立)

.ナイーブベイズ仮説..

...... • クラス zで条件付けると入力変数 x1, ..., xD が互いに独立

• zを観測せずに zについて周辺化すると、xiから x j"iへの経路の遮断が解かれる

56 / 59

有向分離定理• 以下の 2つの方法によって得られる分布の集合は等価

..1 同時分布の因数分解から得られる分布の集合

p(x) =K"

k=1

p(xk |pak)

..2 グラフの経路遮断を調べて得られる分布の集合

p(x) DF

57 / 59

マルコフブランケット• D個のノードを持つグラフで表現される同時分布と、変数 xiに対応するノード上の、他ノード x j"iで条件付けられた条件付き分布を考える

p(xi|x{ j"i}) =p(x1, ..., xD)7p(x1, ..., xD)dxi

=

8k p(xk|pak)7 8

k p(xk|pak)dxi

• 関数として xiに依存しない任意の因子 p(xk|pak)は xiに関する積分の外に出てキャンセル

• 残るのは…• ノード xi 自身の条件付き分布 p(xi|pai) : ノード xi の親に依存• xi を親に持つノード xk の条件付き分布 p(xk |pak) : ノード xi の子とその共同親に依存

58 / 59

マルコフブランケット• 次の図のような、あるノードの親、子、および共同親からなるノード集合をマルコフブランケットと呼ぶ

• ノード xiのマルコフブランケットは、xiを残りのグラフから孤立させるためのノードの最小集合

xi

59 / 59