https://yuiga.dev/blog/posts/gibbs_mulnorm/
情報⼯学機械学習§9.3.4B3 和⽥唯我2022/3/1
View Slide
⽬次2• 9.3.4 条件付き確率• a. 多次元正規分布における Gibbs Sampling• b. ブロック⾏列の逆⾏列の導出• c. Demo: Gibbs Samplingの実装
⽬次3• 9.3.4 条件付き確率• a. 多次元正規分布における Gibbs Sampling• b. ブロック⾏列の逆⾏列の導出• c. Demo: Gibbs Samplingの実装
a. 特徴と⽬標の整理4• Gibbs Sampling の特徴• ⼀次元だけサンプルを更新するので, 条件付き確率の計算が必要→ ⼀般に条件付き確率の計算は困難• ⽬標• 多次元正規分布における条件付き確率を計算し, Gibbs Samplingに具体的なアルゴリズムの⼀例を与える.
a. 設定の整理5• ベクトル 𝒛• ⼀次元だけサンプルを更新• → 第⼀番⽬の変数 𝑥 とベクトル 𝒚 で構成されているとする• 平均・共分散⾏列・精度⾏列• 以下のようにブロック⾏列で記述
a. 過程の整理6• アルゴリズム導出の流れ1. 提案分布を正規分布 𝒩 µ, Σ とし, ⼀次元のみに着⽬ (→ 𝑥 ).2. 𝑝 𝒛 𝝁, Σ (=: 𝑝 𝒚, 𝑥 )から 𝑝 𝑥 | 𝒚 を計算し, パラメタ µ!|#, σ!|#$ を計算.3. 𝑝 𝑥 | 𝒚 と 𝑝 𝑧% | 𝑧&'(& 𝑧$'(& , … , 𝑧%)&'(& , 𝑧%(&' , … , 𝑧*(') との対応を与える.
a. 式の整理7• 𝒛 ~ 𝒩 µ, Σ のとき 𝑝 𝒛 𝝁, Σ は以下の通り• 共分散⾏列 Σを精度⾏列 Λ で書き換えると
a. パラメタ µ!|#, σ!|#$ の計算8• パラメタ の計算• σ!|#$ → 𝑥 に関する2次の項と対応• µ!|#→ 𝑥 に関する1次の項と対応• ⇒ 𝑝(𝒚) は 𝑥 に関与しないので 𝑝 𝒛 𝝁, Σ を 𝑥 について係数⽐較疑問: 𝑥 と 𝒚 って相関ゼロ?
a. パラメタ µ!|#, σ!|#$ の計算9• 𝑝 𝒛 𝝁, Σ の 𝑒𝑥𝑝 内を 𝑥 について展開すると
a. パラメタ σ!|#$ の計算10• 2次の項について𝑝 𝒛 𝝁, Σ 𝑝(𝑥|𝒚)
a. パラメタ µ!|#の計算11• 1次の項について𝑝 𝒛 𝝁, Σ 𝑝(𝑥|𝒚)
a. パラメタ µ!|#, σ!|#$ の計算12• 求めた各パラメタは, 精度⾏列に依存している• → 精度⾏列を共分散⾏列で書き下す必要がある• ブロック⾏列の逆⾏列が問題となる• → ブロック⾏列の逆⾏列を求めよう
⽬次13• 9.3.4 条件付き確率• a. 多次元正規分布における Gibbs Sampling• b. ブロック⾏列の逆⾏列の導出• c. Demo: Gibbs Samplingの実装
b. ブロック⾏列の逆⾏列 – LDU分解14• ブロック⾏列Pをブロック⾏列 X, Y, Z, Wを⽤いてLDU分解する• 逆⾏列といえばLU分解じゃない?• なんでここではLDU?• ブロック⾏列なのでUの対⾓⽅向のブロックを I にしたほうが楽 (個⼈的な感想)L(下三⾓)D(対⾓)U(上三⾓)
b. ブロック⾏列の逆⾏列 – LDU分解15• Pの各ブロックと⽐較すれば, 以下のようにLDU分解が構成できる
b. ブロック⾏列の逆⾏列 – LDU分解16• 逆⾏列を求めるには, ブロック⾏列L,D,Uの逆⾏列が求まれば良い.
b. ブロック⾏列の逆⾏列 – LDU分解17• ブロック⾏列L,D,Uの逆⾏列• 同じ形のブロック⾏列で, 4つのブロックを適当な⽂字に置けば求まる
b. ブロック⾏列の逆⾏列 – LDU分解18• ブロック⾏列L,D,Uの逆⾏列が求まったので, 所望の逆⾏列は• 各ブロックについて• Woodburyの公式が簡略化に有効
b. ブロック⾏列の逆⾏列 – Woodburyの公式19• Woodburyの公式ブロック⾏列の逆⾏列 𝐷 ← −𝐷−1, 𝑇 ≔ 𝐴 − 𝐵𝐷−1𝐶 と置けば式が綺麗に
b. ブロック⾏列の逆⾏列20• よって, ブロック⾏列の逆⾏列は以下の式で与えられるただし, 𝑇 = 𝐴 − 𝐵𝐷−1𝐶
b. ブロック⾏列の逆⾏列 – 結果21• 本題に戻ると…• 以上の議論より, 平均・分散に⽤いる精度⾏列のブロックは
⽬次22• 9.3.4 条件付き確率• a. 多次元正規分布における Gibbs Sampling• b. ブロック⾏列の逆⾏列の導出• c. Demo: Gibbs Samplingの実装
c. Demo: Gibbs Samplingの実装23
c. Demo: Gibbs Samplingの実装24コードはgistに上げたので遊んでみてね⇒ https://gist.github.com/YuigaWada/4929fc479027af6f05ef4950a093ba33