Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PRML Chapter 8 (8.0-8.3)

SNKMR
April 01, 2023

PRML Chapter 8 (8.0-8.3)

PRML, Pattern Recognition and Machine Learning
chapter 8

SNKMR

April 01, 2023
Tweet

More Decks by SNKMR

Other Decks in Science

Transcript

  1. 8. グラフィカルモデル 2 • グラフィカルモデルの特徴 1. 確率モデルの構造を視覚化する簡単な方法を提供し、新しいモデルの設計方針を決めるの に役立つ 2. グラフの構造を調べることにより、条件付き独立性などのモデルの性質に関する知見が得

    られる。 3. 精巧なモデルにおいて推論や学習を実行するためには複雑な計算が必要となるが、これを 数学的な表現を暗に伴うグラフ上の操作として表現することができる。 • グラフィカルモデル - 確率変数間の関係をグラフで表したもの。 • グラフはノード(node, vertex)とリンク(link, edge)の集合で表現される。
  2. 8. グラフィカルモデル 3 • ベイジアンネットワーク(有向グラフィカルモデル) - グラフのリンクが矢印付き - 時系列データなどに用いることが多い •

    グラフィカルモデル - 確率変数間の関係をグラフで表したもの。 • マルコフ確率場(無向グラフィカルモデル) - リンクが方向性を持たない - 因果関係が自明でない場合に用いることが多い
  3. 8.1. ベイジアンネットワーク 5 • 3 変数 a, b, c 上の任意の同時分布

    𝑝(𝑎, 𝑏, 𝑐) を考える。 • 条件付けられたノードから、確率分布に対応するノードに向かって有向リンクを付与する。 - a は b の親ノード - b は a の子ノード • 左辺は a, b, c が対称だが右辺は非対称 - a, b, c の順序を暗に選んでいる 図 8.1 • K 変数の同時分布に拡張した場合 (8.3) • 一般化 - pa𝑘 :𝑥𝑘 の親ノード 𝑝 𝑎, 𝑏, 𝑐 = 𝑝 𝑐 𝑎, 𝑏 𝑝 𝑎, 𝑏 = 𝑝 𝑐 𝑎, 𝑏 𝑝 𝑏 𝑎 𝑝(𝑎) (8.1, 8.2) (8.5)
  4. 8.1.1 多項式曲線フィッティング 6 • ベイジアンネットワークの利用例として、ベイズ多項式回帰モデル (§1.6) を考える。 • 確率変数だけをグラフで表すと図8.3 -

    N 個の t をまとめてプレートで表すと図8.4 • このモデルの確率変数は観測データ t, 多項式係数 w であり、同時分布は以下のようになる。 • パラメータ - 入力データ x - ノイズの分散 𝜎2 - w の事前分布の精度 𝛼 図 8.3 図 8.4
  5. 8.1.1 多項式曲線フィッティング 7 • パラメータを塗りつぶされた小さい円で表す。 図 8.6 図 8.7 •

    確率変数のいくつかは観測値に対応している。 - 観測値はノードに影付けする。 • 新しい入力 ො 𝑥 に対し、観測データで条件づけられた Ƹ 𝑡 の 確率分布を求めることが可能
  6. 8.1.2 生成モデル 8 • 確率分布からサンプルを発生させたいケースがある - サンプリングに関しては 11章で議論する • グラフィカルモデルと関連するのは伝承サンプリング

    - 自分より小さい番号のノードへリンクが繋がらないような K 変数の同時分布 𝑝(𝑥1 , … , 𝑥𝑘 )から、 𝑝(ො 𝑥1 , … . , ො 𝑥𝑘 ) を発生させることを目的としたサンプリング手法 • 例:物体認識(入力画像から物体を推論する) - Image:観測データ - Object, Position, Orientation:隠れ変数 - Position, Orientation を積分消去すれば、Object の事後分布が求まる - 以上のように、観測データが生成される因果過程を表現したものを生成モデルと呼ぶ 図 8.2 図 8.8
  7. 8.1.3 離散変数 9 • K 個の状態を取り得る離散変数 x (1-of-K法) の確率分布は、以下のようになる(§2.2 でやった)

    - パラメータ μ は規格化制約 σ𝑘 𝜇𝑘 = 1 を満たすので、パラメータは K-1 個存在する 図 8.9 (8.9) • 𝐱𝟏 と𝐱𝟐 の 2 変数の同時分布の場合、 - 規格化制約 σ𝑘 σ𝑙 𝜇𝑘𝑙 = 1 を満たすので、パラメータは K2 − 1 個存在する。 • 𝑝 𝐱𝟏 , 𝐱𝟐 = 𝑝 𝐱𝟐 𝐱𝟏 𝑝 𝐱𝟏 に変形できる - パラメータ数は K − 1 + K K − 1 = K2 − 1 • 𝐱𝟏 と𝐱𝟐 が互いに独立であれば 𝑝 𝐱𝟏 , 𝐱𝟐 = 𝑝(𝐱𝟐 ) 𝑝 𝐱𝟏 - パラメータ数は 2 K − 1 • グラフのリンクを削除することでパラメータ数を削減できる
  8. 8.1.3 離散変数 10 • パラメータを減らす方法 1. リンクを除去する 2. パラメータを共有する 図

    8.9 図 8.12 3. パラメトリックモデルを用いる - M 個の親ノードと1 個の子ノード - x が 2 値変数の場合を考える。 - 通常ならパラメータ数 2M - パラメトリックモデルを用いることで M + 1 個に削減 (8.10) 図 8.13
  9. • 全てのノード x の同時分布の対数を考える - x の成分の 2 次式になっているので、p(x) が多変量ガウス分布であるといえる

    8.1.4 線形ガウスモデル 11 • 有向グラフで多変量ガウス分布を表現する - D 個の変数上の有向グラフで、ノード i はガウス分布に従う確率変数 xi を表すとする。 - 親ノード条件付きの xi の確率分布がガウス分布に従うとすれば、 - wij , bi は平均を支配するパラメータであり、vi は xi の分散を支配するパラメータ (8.11) (8.12) (8.13)
  10. 8.1.4 線形ガウスモデル 12 • 平均0、分散1 のガウス確率変数 𝜖𝑖 を導入すれば、 - この式を用いると、期待値と分散は以下のように書ける

    - 数字の小さいノードから順番に、再帰的に期待値と分散が求めることが可能 (8.14) ( 𝜖𝑖 = 𝑥𝑖−𝜇 𝜎 ) (8.15) (8.16) xj , E[xj ] に(8.14), (8.15) を適用
  11. 8.1.4 線形ガウスモデル 14 • 実はすでに§2.3.6 で、線形ガウス分布を取り扱っていた - §2.3.6 では、ガウス確率変数の平均の事前分布をガウス分布としていた ➢このとき事前分布の平均はハイパーパラメータであった

    ➢そのハイパーパラメータがガウス分布にしたがっているとする ✓超事前分布(事前分布のパラメータを確率変数にしたときの事前分布)がガウス分布 ✓超事前分布の平均を表すハイパーパラメータをガウス分布に… (2.139) 階層ベイズモデル
  12. 8.2 条件付き独立性 16 • 3 つのノード a, b, c について、b

    があってもなくても a の条件付確率に影響を与えない場合、 - これを、c が与えられた下で、a は b に対して条件付き独立であると表現する。 - 条件付き独立性を示すことができれば、グラフ表現においてリンクを減らすことができる。 - c に対して a と b が条件付き独立であることは、以下のように書く (8.20) 𝑝 𝑎 𝑏, 𝑐 = 𝑝(𝑎|𝑐) 𝑝 𝑎, 𝑏 𝑐 = 𝑝 𝑎 𝑏, 𝑐 𝑝 𝑏 𝑐 = 𝑝 𝑎 𝑐 𝑝 𝑏 𝑐 (8.21) 引用:https://www.slideshare.net/antiplastics/prml8 (8.22) • 独立性を調べる方法 - 可能性のあるノードの組み合わせ全てについて独立性を調べられるが、計算量が膨大 ➢𝑝 𝑎, 𝑏 𝑐 と𝑝 𝑎 𝑐 𝑝(𝑏|𝑐) を計算して一致すれば独立 - グラフから独立性を読み取る有向分離 (d-separation) が便利
  13. 8.2.1 グラフの例:tail to tail 17 • 図 8.15 のようなグラフ -

    c について周辺化しても 𝑝(𝑎) 𝑝 𝑏 の形にならないので独立とは言えない (8.23) 𝑝(𝑎, 𝑏, 𝑐) = 𝑝(𝑎|𝑐) 𝑝 𝑏 𝑐 𝑝(𝑐) 𝑝 𝑎, 𝑏 = ෍ 𝑐 𝑝 𝑎 𝑐 𝑝 𝑏 𝑐 𝑝(𝑐) (8.24) (8.25) 図 8.15 • c を観測して条件付けた場合(図8.16) - 𝑝(𝑎|𝑐) 𝑝 𝑏|𝑐 の形になったので条件付き独立である - ノード c は、この経路についてtail to tail であると表現する。 ➢ c が矢印の tail で繋がれている 𝑝 𝑎, 𝑏 𝑐 = 𝑝 𝑎, 𝑏, 𝑐 𝑝 𝑐 = 𝑝 𝑎 𝑐 𝑝(𝑏|𝑐) 図 8.16 head tail head tail a → b の経路が c の条件付け によって block される
  14. 8.2.1 グラフの例:head to tail 18 • 図 8.17 のグラフ -

    c について周辺化 → 独立でないことがわかる (8.26) 𝑝 𝑎, 𝑏, 𝑐 = 𝑝(𝑎)𝑝(𝑐|𝑎)𝑝 𝑏 𝑐 𝑝 𝑎, 𝑏 = 𝑝 𝑎 ෍ 𝑐 𝑝 𝑐 𝑎 𝑝 𝑏 𝑐 = 𝑝 𝑎 ෍ 𝑐 𝑝 𝑏, 𝑐 𝑎 = 𝑝 𝑎 𝑝(𝑏|𝑎) (8.27) 図 8.17 • c を観測して条件付けた場合(図8.18) - a から b の経路を c が block したことによって条件付き独立になった 図 8.18 head tail
  15. 8.2.1 グラフの例:head to head 19 • 最も特殊な例 • 図 8.19

    のグラフ - 条件付け無しでも a と b が独立であることが分かる - c で条件付けすると独立ではなくなる - c が観測されていなければ block されており、c が観測されることでa, b間に依存関係が生まれる (8.28) 𝑝 𝑎, 𝑏, 𝑐 = 𝑝 𝑎 𝑝 𝑏 𝑝 𝑐 𝑎, 𝑏 図 8.19 head head 図 8.54 • さらに特殊な性質 - head to head では、c が観測されていなくても、 c の子ノードが観測されていれば a → b の経路 の block が解かれてしまう ➢演習 8.10
  16. 8.2.1 グラフの例:head to head 20 • head to head のさらに特殊な性質:弁明

    • 車の燃料装置に関係する 3 つの 2 値確率変数について考える - B: バッテリが切れていない(B=1) or 切れている(B=0) - F: 燃料タンクが満タン(F=1) or 満タンじゃない(F=0) - G: 燃料計が満タン(G=1) or 満タンじゃない(G=0) - バッテリと燃料タンクは独立に、以下の確率に従うとする ➢𝑝 𝐵 = 1 = 0.9 ➢𝑝 𝐹 = 1 = 0.9 - B, F が与えられたとき、G は以下の条件付き確率に従うとする Battery Fuel tank Gauge 図 8.21 (左)
  17. 8.2.1 グラフの例:head to head 21 • head to head のさらに特殊な性質:弁明

    - 何も観測されていないとき、燃料タンクが空である確率 𝑝 𝐹 = 0 = 0.1 - 燃料計 (G = 0) を観測したとき、燃料タンクが空である確率 ➢G = 0 を観測したことによって F = 0 の確率が上がった - さらにバッテリー (B = 0) を観測したときにどうなるか ➢ F とリンクが繋がっていないノード B の条件付けによって 𝑝 𝐹 = 0 が小さくなっている ➢バッテリが切れているという事実が、燃料計が空を指している という事実を弁明している
  18. 8.2.2 有向分離 (d-separation) 22 • これまでに登場したリンクと条件付き独立性の関係を、単一ノードからノード集合まで拡張 - ノード集合 A, B,

    C について、A ⫫ B | C が成立する場合は以下のいずれかのノードが存在する 1. 集合 C に含まれるノードであって、経路に含まれる矢印がそこで head-to-tail あるいは tail-to-tail である。 2. 経路に含まれる矢印がそのノードで head-to-head であり、自身あるいはそのすべての 子孫ノードのいずれもが集合 C に含まれない。 - 例:下記のグラフにおいて、 a → b の経路は block されているか? 1. c が観測された場合 2. f が観測された場合 ・f はtail-to-tail だが観測されていない ・e は head-to-head だが、 子ノードが観測されている →A, Bは独立とはいえない ・f がtail-to-tail で観測されている ・e は head-to-head かつ、自身とその 子ノードが観測されていない →A, Bは独立である
  19. 8.2.2 有向分離 (d-separation) 23 • パラメータは親を持たない観測済みノードと同じ - 必ず tail-to-tail になるため有向分離性に影響しない

    図 8.6 • §1.2.4 で取り扱った独立同分布 (i.i.d. ; independent identically distributed) - N 個の観測値 x について、未知の平均 μ を持つガウス分布のパラメータを x から定める - μ は tail-to-tail なので、値を入力すればあらゆる x 間で独立 - ただし、μ を積分消去した場合、独立ではない (8.34) (8.35) 図 8.24
  20. 8.2.2 有向分離 (d-separation) 24 • ナイーブベイズでも有向分離に関連するグラフ構造がみられる - クラス分類で利用されるモデル - 観測変数

    x は D 次元ベクトル - K 個のクラスに分類する - z は クラス分類を表す K 次元ベクトル - クラス z で条件付けすれば、x1 ,…,xD は条件付き独立 図 8.24 • 例:迷惑メールの分類 - z : {受信ボックス, 迷惑メールフォルダ} の 2 クラス分類 - x : Bug of words, 文章中の単語を数値表現したもの - z の事前確率を導入すれば、𝑝 𝐱 𝐳 は条件付き独立となる ➢単語間の関係性を考慮せずに、クラス z における単語 x の確率を考えればよい。 ➢実際にはメール分類はもっと複雑であるため、誤分類が多い
  21. 8.2.2 有向分離 (d-separation) 25 • マルコフブランケット - あるノードの条件付き独立性を考えるための最小単位 - ノード

    xi について、 xi 以外の全てのノードの条件付き確率について考える 図 8.26 つまり、 xi の条件付き独立性について考えるとき、 1. 親、子 2. 共同親 だけを考えればよい このようなノード集合をマルコフブランケットと呼ぶ xi が含まれる項以外はキャンセルされるため、 xi の確率自身と xi を親に持つノードのみが残る
  22. 8.3.1 条件付き独立性(マルコフ確率場) 28 • 無向グラフではノードの非対称性が取り除かれており、条件付き独立性の議論はシンプル - 3 つのノード集合 A, B,

    C - A から B への全ての経路について考える - それらの経路が必ず集合 C に含まれるノードの少なくとも 1 つを必ず通るなら、 経路が block されているため独立性が成立する 図 8.27
  23. 8.3.2 分解特性 29 • 1 つのノードによって直接接続されないノード xi , xj について考える

    - xi , xj は、他の全てのノードが与えられた下で条件付き独立でなければならない ➢xi → xj の直接リンクがないので、いくつかのノードを経由する必要がある ➢全てのノードが観測済みならば、全ての経路が遮断されている - これを定式化すると以下のようになる - この条件付き独立性がグラフ上のあらゆる分布において成立するためには、 xi , xj が同じ因子 に含まれないように因数分解する必要がある - この考えるために、クリークという概念を導入すると便利 (8.38) 図 8.29 • クリーク:全てのノードの組にリンクがあるグラフの部分集合 - {x1 , x2 }, {x2 , x3 }… など • 極大クリーク:もう1つノードを加えるとクリークでは無くなって しまうようなクリーク - {x1 , x2 , x3 }, {x2 , x3 , x4 } • 直接リンクを持たない x1 と x4 が極大クリークで分離できている
  24. • 同時分布を、極大クリークを引数としたポテンシャル関数の積に分解 ➢C : 極大クリーク ➢𝜓𝐶 : ポテンシャル関数 ➢𝐱𝐶 :

    極大クリーク内のノード集合 ➢Z : 規格化定数 - ポテンシャル関数は確率的解釈が可能なものに限定されない ➢同時分布では規格化因子を陽に導入する必要がある - ただし計算量が多いことが弱点(M 個のK 状態離散変数をとるノードであれば計算量はKM ) - ポテンシャル関数を正に制限すると因数分解と条件付き確率の関係を定義できる ➢指数関数で表現し、以下をポテンシャル関数とする ➢𝐸 𝐱𝐶 : エネルギー関数 ➢この指数関数表現はボルツマン分布と呼ばれる 8.3.2 分解特性 30 (8.39, 8.40) (8.41)
  25. • ノイズのない 2 値画像 𝑥𝑖 ∈ {−1, +1} および 10%の確率で符号を逆転した

    𝑦𝑖 ∈ {−1, +1} - エネルギーが低いほど 𝑝 𝐱, 𝐲 が高くなるように設計 - − σ𝑖 𝑥𝑖 𝑦𝑖 : 2 つのピクセル値が同じであれば低い E になる - − σ 𝑖,𝑗 𝑥𝑖 𝑥𝑗 : 隣接するピクセルが同符号であれば低い E - σ𝑖 𝑥𝑖 : ピクセル値が特定の符号を持ちやすくするバイアス項 8.3.3 画像のノイズ除去 31 図 8.30 図 8.31 (8.42) (8.43) ノイズあり ノイズなし • 反復条件付きモード (ICM, Iterated Conditional Models) 1. 初期化:単に 𝑥𝑖 = 𝑦𝑖 とする 2. ノード 𝑥𝑗 を 1 つ選び、その他の全てのノードを固定した状態 で 𝑥𝑗 の 2 つの可能な状態 {−1, +1} における 𝐸(𝐱, 𝐲) を計算 3. エネルギーが低くなった 𝑥𝑗 を選んで更新 4. 収束するまで繰り返す
  26. • 図 8.32 を有向グラフと無向グラフで表現する - 有向グラフ (a) - 無向グラフ (b)

    - 有向グラフと無向グラフは以下のような対応付けができる 8.3.4 有向グラフとの関係 32 (8.44) (8.45) 図 8.32 𝑝(𝑥1 )は𝜓1,2 に含めた
  27. • head-to-head を含む有向グラフを無向グラフに変換する - 親を 1 つしか持たない有向グラフのノードは、単に無向リンクに置き換えればよい - 親を 2

    つ以上持つノードでは、車の燃料計の例でみたように、共同親が影響する ➢無向グラフに置き換えるときは、共同親をリンクで繋ぐ必要がある (モラル化) - モラル化によって得られるグラフをモラルグラフと呼ぶ - モラルグラフは有向グラフと異なり、条件付き独立性を表現できない - §8.4 で junction tree algorithm によって推論を行う際に重要な役割を果たす 8.3.4 有向グラフとの関係 33 図 8.33
  28. 1. 有向グラフを利用することで確率変数間の関係をシンプルに可視化できる ✓ 8.1.1 : 多項式曲線フィッティング ✓ 8.1.2~8.1.4 : 線形ガウスモデルや階層ベイズモデルなどの複雑なモデルも見やすい

    2. パラメータ数を減らすためにはリンクの数を抑えたりパラメトリックモデルを利用するとよい 8.1 ~ 8.3 まとめ 34 8.1 ベイジアンネットワーク 1. 有向グラフにおけるノードを 3 種類に分類した ✓ head-to-head が特殊 2. グラフィカルモデルと有向分離を使えば、ノード集合の条件付き独立性の関係が分かる 8.2 条件付き独立性 1. 無向グラフは条件付き独立性の議論がシンプル ✓ head-to-head とか弁明とか考えなくてよい 2. 極大クリークを使えばノード集合の関数の積でグラフを表現できる 3. 有向グラフ→無向グラフの変換も可能であるが条件付き独立性や因果過程の情報を部分的に 捨てることになる 8.3 マルコフ確率場