Gibbs sampling 详细分析
问题描述:
在学习主题模型的时候遇到的采样问题,看了很多博客,我都不能理解,自己想了很久解决了这个问题。
已知: p ( x i ∣ x ⃗ ¬ i ) ( i = 1 , . . . , n ) p(x_{i}|\vec x_{\lnot i})\quad(i =1,...,n) p(xi∣x¬i)(i=1,...,n)
x ⃗ = ( x 1 , x 2 , x 3 , . . . , x n ) \qquad \quad\vec x = (x_1,x_2,x_3,...,x_n) x=(x1,x2,x3,...,xn)
x ⃗ ¬ i = ( x 1 , . . . , x i − 1 , x i + 1 , . . . , x n ) \qquad\quad \vec x_{\lnot i}=(x_1,...,x_{i-1},x_{i+1},...,x_n) x¬i=(x1,...,xi−1,xi+1,...,xn)
求: p ( x 1 , x 2 , x 3 , x 4 , x 5 , . . . , x n ) p(x_{1},x_{2},x_{3},x_{4},x_{5},...,x_{n}) p(x1,x2,x3,x4,x5,...,xn)联合分布的样本
一个通俗的例子:
PDD是个大老板,家里和公司里有各有100辆车,每天早晨上班会从家里出发去距离家2km的公司,他可以选开车或者走路,晚上回家也是一样有两种选择。小黑是一个私家侦探,统计了PDD早晨和晚上是否开车了信息,写在了一张纸上,结果他搞丢了。。。小黑现在只记得自己曾经心里默念的
如果他早晨是开车出去的,呢么晚上开车回来的概率是80%;如果早晨是走路去的,晚上走路的概率是80%;如果晚上是走路回来的,第二天早晨走路的概率是80%;如果晚上是开车回来的,第二天开车的概率是80%
他现在想预测PDD某天的行程,该怎么办?
呢就假设他一年前的第一天是开车去的,然后依照条件概率生成一年的序列,然后求每个情况的概率期望。
接下来看数学部分!!
最简单的二维情况
两个维度,每个维度两个取值。
Y Y Y / X X X | 0 | 1 | p ( X ) p(X) p(X) |
---|---|---|---|
0 | p 1 p_{1} p1 | p 2 p_{2} p2 | p 1 + p 2 p_1+p_2 p1+p2 |
1 | p 3 p_{3} p3 | p 4 p_{4} p4 | p 3 + p 4 p_3+p_4 p3+p4 |
p ( Y ) p(Y) p(Y) | p 1 + p 3 p_1+p_3 p1+p3 | p 2 + p 4 p_2+p4 p2+p4 |
p ( Y ∣ X ) p(Y|X) p(Y∣X) 条件概率分布
X X X / Y Y Y | 0 | 1 |
---|---|---|
0 | p 1 / ( p 1 + p 3 ) p_{1}/(p_{1}+p_{3}) p1/(p1+p3) | p 3 / ( p 1 + p 3 ) p_{3}/(p_{1}+p_{3}) p3/(p1+p3) |
1 | p 2 / ( p 2 + p 4 ) p_{2}/(p_{2}+p_{4}) p2/(p2+p4) | p 4 / ( p 2 + p 4 |