prml復々習レーン#14 前回までのあらすじ
DESCRIPTION
PRML復々習レーン#14 前回までのあらすじ資料TRANSCRIPT
PRML復々習レーン#14(再) 前回までのあらすじ
2013-10-05
Yoshihiko Suhara
@sleepy_yoshi
v.1.0
前回のおさらい
• 復々習レーンの復習を10分程度でやります – 得られた結論にポイントを絞る – 「よーするに」な内容
• 好きなところをたくさん喋る • よくわからないところは誤魔化す • まちがってたら指摘してください
• 目的 – 前回の復習 – 不参加の方に流れを伝えるため – 自分自身の勉強のため
ポイントだよ
2
ポイント小僧の向きに意味はありません
ポイントだよ
前回の範囲 • 8章 グラフィカルモデル
– 8.1 ベイジアンネットワーク • 8.1.1 例:多項式曲線フィッティング • 8.1.2 生成モデル • 8.1.3 離散変数 • 8.1.4 線形ガウスモデル
– 8.2 条件付き独立性 • 8.2.1 3つのグラフの例 • 8.2.2 有効分離 (D分離)
– 8.3 マルコフ確率場 • 8.3.1 条件付き独立性 • 8.3.2 分解特性 • 8.3.3 例: 画像のノイズ除去 • 8.3.4 有向グラフとの関係
– 8.4 グラフィカルモデルにおける推論 • 8.4.1 連鎖における推論 • 8.4.2 木 • 8.4.3 因子グラフ • 8.4.4 積和アルゴリズム • 8.4.5 max-sum アルゴリズム • 8.4.6 一般のグラフにおける厳密推論 • 8.4.7 ループあり確率伝播 • 8.4.8 グラフ構造の学習
3
前回の範囲
8.4 グラフィカルモデルによる推論
4
8.4 グラフィカルモデルにおける推論
グラフのいくつかのノードの値が観測された場合に 残りのノードに関する事後分布を計算する
• 局所的なメッセージがグラフ全体にわたる伝播として表現できる – 本節では厳密推論の方法について論じる
• (1) 無向グラフを一般化した因子グラフ • (2) 周辺分布が欲しいときには積和アルゴリズム • (3) 最大の同時確率とその変数組が欲しいときには
max-sum アルゴリズム
ポイントだよ
5
8.4.1 連鎖における推論
連鎖グラフにおいては,あるノードを中心として 前向きに伝えるメッセージと後ろ向きに伝わるメッセージの
和で計算可能
𝑝 𝑥𝑛 = … … 𝑝(𝒙)
𝑁𝑥𝑛+1𝑥𝑛−1𝑥1
=1
𝑍 𝜓𝑛−1,𝑛 𝑥𝑛−1, 𝑥𝑛 … 𝜓2,3 𝑥2, 𝑥3 𝜓1,2 𝑥1, 𝑥2
𝑥1𝑥2𝑥𝑛−1
𝜓𝑛,𝑛+1 𝑥𝑛, 𝑥𝑛+1 … 𝜓𝑁−1,𝑁 𝑥𝑁−1, 𝑥𝑁𝑥𝑁𝑥𝑛+1
⋯
ポイントだよ
6
𝜇𝛼 𝑥𝑛
𝜇𝛽 𝑥𝑛
8.4.2 木
有向木⇔無向木は相互に変換可能
• なお複数の親を持つ多重木の場合には,モラル化によってループができる
• しかし,因子グラフに変換すると問題がなくなる
ポイントだよ
7
8.4.3 因子グラフ
無向グラフにおけるノードとポテンシャル関数を 変数(○)と因子(■)に分けて記述するグラフ
• 同じノード集合に対して複数の因子を用意することが可能 – この点が無向グラフと異なるため,無向グラフは因子グラフの特殊形と解釈することが可能
• 無向グラフから因子グラフへの変換例
ポイントだよ
8
8.4.4 積和アルゴリズム
メッセージパッシングによって任意の確率変数の 周辺分布を効率的に求める手法
• 因子から変数へのメッセージ – 当該変数の子孫(因子)ノードが含まれる全ての因子の積を当該変数以外で周辺化したもの
• 変数から因子へのメッセージ – 当該因子の子(変数)ノードの子孫(因子)ノードが含まれる全ての因子の積を当該子(変数)ノード以外で周辺化したもの
ポイントだよ
9
…
𝐹𝑙 𝑥𝑚, 𝑋𝑚𝑙
𝐹𝑙1 𝑥𝑚, 𝑋𝑚𝑙1 …
… 𝜇𝑥𝑚→𝑓𝑠 𝑥𝑚 ≡ 𝐺𝑚 𝑥𝑚, 𝑿𝑠𝑚
𝑋𝑠𝑚
𝐺𝑚 𝑥𝑚, 𝑿𝑠𝑚 = 𝐹𝑙 𝑥𝑚, 𝑿𝑚𝑙𝑙∈ne 𝑥𝑚 ∖𝑓𝑠
𝜇𝑓𝑠→𝑥 𝑥 ≡ 𝐹𝑠 𝑥,𝑿𝑠𝑋𝑠
※ ここで𝐹𝑠 𝑥, 𝑿𝑠 は変数集合𝑿𝑠を含む因子すべての積
図8.47 修正版
8.4.5 max-sumアルゴリズム
メッセージパッシングによって最大の同時確率 およびその確率変数の組を発見する手法
だいたいこんなノリ • 同時確率の最大値が欲しいわー 積和アルゴリズムにおけるsumをmaxに置き換え max-product アルゴリズム
• 確率の掛け算たくさんやるとアンダーフロー怖いわー logとって max-sum アルゴリズム
• 最大値を与える確率変数が複数あるわー 最大値を与えた確率変数を覚えておいて,最後のノードで最大値を与える変数からバックトラックする (Viterbiアルゴリズム)
ポイントだよ
10
8.4.6 一般のグラフにおける厳密推論
閉路を持つグラフからジャンクションツリーの作成 することにより,厳密推論を可能とする
• ジャンクションツリー – クリークをノード,共有された変数をリンクとするツリー – 積和アルゴリズムと同等のメッセージパッシングによって推論
ポイントだよ
11
A
B D
C
リンクを追加 (三角分割) してクリークを作成
A, B, D
B, C, D
(B, D)
クリークに対応するノードを用意 クリーク間で共有されたノードを リンクとする
ジャンクションツリー
8.4.7 ループあり確率伝播
ループを持ったグラフィカルモデルに メッセージパッシングを適用する方法
• ループあり確率伝播 – 問題点: 何度も同じ情報が伝わってしまう – そこでメッセージパッシングのスケジュールをうまく設定する
• スケジュール手法の例 – フラッディングスケジュール
• 各時刻において両方向にメッセージ送信
– 直列メッセージ • 各時刻において1つのメッセージのみ送信
– 保留メッセージのみ送信 • 保留メッセージ: 他のリンクから受け取っている何らかのメッセージ • 木構造グラフでは両方向に伝達された時点で必ず終了
ポイントだよ
12
8.4.8 グラフ構造の学習
グラフ構造の学習を用いた周辺確率の推論には 各構造のエビデンスを利用する
• グラフ構造の学習 – ベイズ的にはグラフ構造の事後分布を利用し,その分布の平均を用いて予測分布を求める
– グラフ構造に対する事前分布 𝑝 𝑚 が与えられていると
𝑝 𝑚 𝐷 ∝ 𝑝 𝑚 𝑝(𝐷|𝑚)
• 欠点 – 潜在変数の周辺化が必要であるため,𝑝 𝐷 𝑚 の計算が大変 – グラフ構造の数はノード数に対して指数的に増加するため,探索も大変
ポイントだよ
13
補足: (8.89)式のmax関数
• これっていいんだっけ? という議論 max𝒙𝑝(𝒙) = max
𝑥1⋯max𝑥𝑀𝑝(𝒙)
• 結論:
– たぶんよい – max関数は関数から関数への写像
• スカラー値=恒等写像
14
つづく さぁ今日も一日 がんばるぞ
15