Skip to content

变分贝叶斯方法

sssste edited this page Feb 5, 2018 · 2 revisions

变分贝叶斯方法

本文参考了:

变分贝叶斯是一类用于贝叶斯估计和机器学习领域中近似计算复杂(intractable)积分的技术。它主要应用于复杂的统计模型中,这种模型一般包括三类变量:观测变量(observed variables, data),未知参数(parameters)和潜变量(latent variables)。在贝叶斯推断中,参数和潜变量统称为不可观测变量(unobserved variables)


例:假如现在有一组观测数据D,要求某个不可观测变量Z的后验分布P(Z|D),但P(Z|D)通常很复杂,尝试用Q(Z)来近似描述P(Z|D)


  • 1.可通过KL散度来描述两个分布的距离

其性质如下

可以把KL散度化成


(这里也可以从贝叶斯公式变化得来,详细可以看最上面徐义达老师的视频)

因此只要选取合适的Q,最大化L(Q),就可以使使KL散度最小,其中L(Q)为


(没错,这里有个鼠标)

  • 2.对于Z={Z1,Z2…}(一般每个维度一个Z,当然也可以是高维的)

举个例子比如高斯分布Z1,Z2就可以是μ和σ

一般P(Z)不满足

P(Z)=P(Z1)P(Z2)…

但是Q(Z)则是可自己选择的。 因此选择满足每部分Zi相互独立的

Q(Z)=q1(Z1)q2(Z2)…

且对每一部分qi(zi)对zi的积分为1

为了方便表示,定义一个分布

观察发现其实刚好是除去与qj分布相关的zj之后原似然的期望值

通过对L(Q)的变换(视频里也有讲,利用了一些技巧化简L(Q)) 可以得出最后迭代关系式

通过对每一个Zi轮流按上面公式更新,并且重复直到收敛,便能找到近似的函数Q(Z)

Clone this wiki locally