---
title: 多次元正規分布でGibbs Sampling (輪講資料 : 情報工学機械学習9.3.4)
tags:  #mcmc #sampling #統計 #数学  
author: [Yuiga Wada](https://www.docswell.com/user/YuigaWada)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/KYJ6KRM5JV.jpg?width=480
description: Link: https://yuiga.dev/blog/posts/gibbs_mulnorm/  先日, 研究室の勉強会で この本 のGibbs Samplingの章(9.3.4)を担当しました. 実際にpythonで実装してみたりしたので, せっかくですから備忘録程度にまとめてみました. なお, 数弱によるガバガバ数学が展開されておりますのでご了承ください.  @YuigaWada (和田唯我)
published: June 04, 22
canonical: https://www.docswell.com/s/YuigaWada/KJWLJ5-2022-03-16-004628
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/KYJ6KRM5JV.jpg)

情報⼯学機械学習
§9.3.4
B3 和⽥唯我
2022/3/1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/5GJ5P8ZGJ4.jpg)

⽬次
• 9.3.4
条件付き確率
• a. 多次元正規分布における Gibbs Sampling
• b. ブロック⾏列の逆⾏列の導出
• c. Demo: Gibbs Samplingの実装
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4LE3389PE5.jpg)

⽬次
• 9.3.4
条件付き確率
• a. 多次元正規分布における Gibbs Sampling
• b. ブロック⾏列の逆⾏列の導出
• c. Demo: Gibbs Samplingの実装
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V8ED4MG3JG.jpg)

a. 特徴と⽬標の整理
• Gibbs Sampling の特徴
• ⼀次元だけサンプルを更新するので, 条件付き確率の計算が必要
→ ⼀般に条件付き確率の計算は困難
• ⽬標
• 多次元正規分布における条件付き確率を計算し, Gibbs Samplingに具体的なア
ルゴリズムの⼀例を与える.
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4V7PMR3P78.jpg)

a. 設定の整理
• ベクトル 𝒛
• ⼀次元だけサンプルを更新
• → 第⼀番⽬の変数 𝑥 とベクトル 𝒚 で構成されているとする
• 平均・共分散⾏列・精度⾏列
• 以下のようにブロック⾏列で記述
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/L2JV9R4VEQ.jpg)

a. 過程の整理
• アルゴリズム導出の流れ
1. 提案分布を正規分布 𝒩 µ, Σ とし, ⼀次元のみに着⽬ (→ 𝑥 ).
2. 𝑝 𝒛 𝝁, Σ (=: 𝑝 𝒚, 𝑥 )から 𝑝 𝑥 | 𝒚 を計算し, パラメタ µ!|# , σ$!|# を計算.
3. 𝑝 𝑥 | 𝒚 と 𝑝
𝑧% | 𝑧&amp;&#039;(&amp;
𝑧$&#039;(&amp;
&#039;(&amp;
, … , 𝑧%)&amp;
&#039;
, 𝑧%(&amp;
(&#039;)
, … , 𝑧*
との対応を与える.
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/Z5EGZM117L.jpg)

a. 式の整理
• 𝒛 ~ 𝒩 µ, Σ のとき 𝑝 𝒛 𝝁, Σ は以下の通り
•
共分散⾏列 Σを精度⾏列 Λ で書き換えると
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/V4JQLRDNEP.jpg)

a. パラメタ µ!|# , σ$!|# の計算
疑問: 𝑥 と 𝒚 って相関ゼロ？
• パラメタ の計算
• σ$!|# → 𝑥 に関する2次の項と対応
• µ!|# → 𝑥 に関する1次の項と対応
• ⇒ 𝑝(𝒚) は 𝑥 に関与しないので 𝑝 𝒛 𝝁, Σ を 𝑥 について係数⽐較
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/DK74D8Z3J1.jpg)

a. パラメタ µ!|# , σ$!|# の計算
• 𝑝 𝒛 𝝁, Σ の 𝑒𝑥𝑝 内を 𝑥 について展開すると
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PLJ1Z2RZ7G.jpg)

a. パラメタ σ$!|# の計算
• 2次の項について
𝑝 𝒛 𝝁, Σ
𝑝(𝑥|𝒚)
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/8GJW9R16J2.jpg)

a. パラメタ µ!|# の計算
• 1次の項について
𝑝 𝒛 𝝁, Σ
𝑝(𝑥|𝒚)
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/W4EZ9RPRE3.jpg)

a. パラメタ µ!|# , σ$!|# の計算
• 求めた各パラメタは, 精度⾏列に依存している
• → 精度⾏列を共分散⾏列で書き下す必要がある
• ブロック⾏列の逆⾏列が問題となる
• → ブロック⾏列の逆⾏列を求めよう
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/KY76KRM17V.jpg)

⽬次
• 9.3.4
条件付き確率
• a. 多次元正規分布における Gibbs Sampling
• b. ブロック⾏列の逆⾏列の導出
• c. Demo: Gibbs Samplingの実装
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/5G75P8ZL74.jpg)

b. ブロック⾏列の逆⾏列 – LDU分解
• ブロック⾏列Pをブロック⾏列 X, Y, Z, Wを⽤いてLDU分解する
L
(下三⾓)
D
(対⾓)
U
(上三⾓)
• 逆⾏列といえばLU分解じゃない？
• なんでここではLDU？
• ブロック⾏列なのでUの対⾓⽅向のブロックを I にしたほうが楽 (個⼈的な感想)
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/V9J26KR3ER.jpg)

b. ブロック⾏列の逆⾏列 – LDU分解
• Pの各ブロックと⽐較すれば, 以下のようにLDU分解が構成できる
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/5DEY9ND87M.jpg)

b. ブロック⾏列の逆⾏列 – LDU分解
• 逆⾏列を求めるには, ブロック⾏列L,D,Uの逆⾏列が求まれば良い.
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/2VJNLX69E8.jpg)

b. ブロック⾏列の逆⾏列 – LDU分解
• ブロック⾏列L,D,Uの逆⾏列
• 同じ形のブロック⾏列で, 4つのブロックを適当な⽂字に置けば求まる
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/GYE948L373.jpg)

b. ブロック⾏列の逆⾏列 – LDU分解
• ブロック⾏列L,D,Uの逆⾏列が求まったので, 所望の逆⾏列は
• 各ブロックについて
• Woodburyの公式が簡略化に有効
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/5GE8Q8XL7D.jpg)

b. ブロック⾏列の逆⾏列 – Woodburyの公式
• Woodburyの公式
ブロック⾏列の逆⾏列 𝐷 ← −𝐷 −1 , 𝑇 ≔ 𝐴 − 𝐵𝐷 −1 𝐶 と置けば式が綺麗に
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/MLELXR8QER.jpg)

b. ブロック⾏列の逆⾏列
• よって, ブロック⾏列の逆⾏列は以下の式で与えられる
ただし, 𝑇 = 𝐴 − 𝐵𝐷 −1 𝐶
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/54JMLRXK7W.jpg)

b. ブロック⾏列の逆⾏列 – 結果
• 本題に戻ると…
• 以上の議論より, 平均・分散に⽤いる精度⾏列のブロックは
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/ZPJRKRN679.jpg)

⽬次
• 9.3.4
条件付き確率
• a. 多次元正規分布における Gibbs Sampling
• b. ブロック⾏列の逆⾏列の導出
• c. Demo: Gibbs Samplingの実装
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/NPEXLRNDEX.jpg)

c. Demo: Gibbs Samplingの実装
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/63EKLRND7D.jpg)

c. Demo: Gibbs Samplingの実装
コードはgistに上げたので遊んでみてね
⇒ https://gist.github.com/YuigaWada/4929fc479027af6f05ef4950a093ba33
24


