0%

变分推断 笔记

1. 介绍

用简单的分布q去近似复杂分布p。这个简单的分布一般选用平均场(mean field),因为这个砍断了所有变量的依赖关系,这样多个变量的分布p积分就可以用简单的一元积分代替。
原因是后验概率分布难求,否则直接使用EM。

2. 推导过程

有一个EM的式子:

logp(X)=L(q)+KL(qp)

其中:

L(q)=q(Z)logp(X,Z)q(Z)dZKL(qp)=q(Z)logp(Z|X)q(Z)dZ

然后我们最大化L,这样保证KL散度最小。KL(qp)0

max_q_jL(q)=min_q_jKL(qp~)

这里的L就是ELBO(evidence lower boud),下面从p(X)从另一个方面推导一下。也就是ELBO。

logp(X)=logp(X,Z)dZ=logp(X,Z)q(Z)/q(Z)dZ=logE_q[p(X,Z)q(Z)]E_q[logp(X,Z)q(Z)]=q(Z)logp(X,Z)q(Z)dZ=L(q)

然后对于KL散度推导一下第一个EM的式子:

KL(qp)=E_q[logq(Z)p(Z|X)]=E_q[logq(Z)p(X)p(Z,X)]=E_q[logq(Z)p(Z,X)]+logp(X)=L(q)+logp(X)

求变分的过程就变成了:

  1. 首先写出联合分布
  2. 写出mean field形式(变分参数以及生成隐变量分布)
  3. 写出ELBO
  4. 偏导然后梯度学习

2. VBEM算法

将所有的隐藏变量和参数都放到Z中,但是实际情况中,隐藏变量和参数往往是不同的,所以我们其实可以采用与EM很相似的过程,将隐藏变量与参数也分开优化,这就是所谓的变分EM算法。

这里Z需要使用mean field认为Zi是独立的。也就是把Z分成M组:

q(Z)_i=1Mq_i(Z_i)

同时由于KL非convex要转换成求ELBO。

相当于把隐藏变量和参数优化分开。然后使用类似EM的方法。

L(q)=q(Z)logp(X,Z)q(Z)dZ=_jq_j[logp(X,Z)log_iMq_i]dZ

只考虑一个qj(Zj)的情况。

Missing \left or extra \right

其中:

logp~(X,Z_j)=logp(X,Z)_ijq_idZ_j=E_ij[logp(X,Z)]

变分自动编码机

http://www.dengfanxin.cn/?p=334
https://zhuanlan.zhihu.com/p/21741426

http://ijdykeman.github.io/ml/2016/12/21/cvae.html
http://blog.csdn.net/jackytintin/article/details/53641885
http://www.cnblogs.com/huangshiyu13/p/6209016.html
https://keras-cn.readthedocs.io/en/latest/blog/autoencoder/

参考

[0] 比较好的VI介绍:http://www.cs.columbia.edu/~blei/talks/2016_NIPS_VI_tutorial.pdf
[1] 变分推断与LDA:http://ariwaranosai.xyz/2014/09/13/VB-LDA/
[2] 变分推断学习笔记(1)——概念介绍:http://crescentmoon.info/2013/10/03/%E5%8F%98%E5%88%86%E6%8E%A8%E6%96%AD%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B01%E2%80%94%E2%80%94%E6%A6%82%E5%BF%B5%E4%BB%8B%E7%BB%8D/
[3] Variational Bayes:http://www.blog.huajh7.com/variational-bayes/
[4] A Tutorial on Variational Bayesian Inference:http://www.orchid.ac.uk/eprints/40/1/fox_vbtut.pdf
[5] Stochastic Variational Inference
http://www.columbia.edu/~jwp2128/Papers/HoffmanBleiWangPaisley2013.pdf
[6] An Introduction to Variational Methods
for Graphical Models:https://people.eecs.berkeley.edu/~jordan/papers/variational-intro.pdf
[7] 如何简单易懂地理解变分推断(variational inference)?:https://www.zhihu.com/question/41765860/answer/101915528
[8] http://crescentmoon.info/2013/10/03/%E5%8F%98%E5%88%86%E6%8E%A8%E6%96%AD%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B01%E2%80%94%E2%80%94%E6%A6%82%E5%BF%B5%E4%BB%8B%E7%BB%8D/
[9] http://ariwaranosai.xyz/2014/09/13/VB-LDA/


因为我们是朋友,所以你可以使用我的文字,但请注明出处:http://alwa.info