从EM算法到变分推断(变分贝叶斯推断)
在含有隐变量 Z Z Z的图模型中,在用EM迭代求解时,需要计算一个后验分布:
p ( Z ∣ Y , θ o l d ) p(Z|Y,\theta_{old}) p(Z∣Y,θold),如果Z是离散变量,且分布比较简单则可以直接求出该后验分布的解析解,比如在三硬币模型中和高斯混合模型中。然而如果 Z Z Z服从一些复杂离散分布或者连续分布,后验分布 p ( Z ∣ Y , θ o l d ) p(Z|Y,\theta_{old}) p(Z∣Y,θold)变得异常难求。
此时采用近似推断,有两类想法求该后验分布,一是随机化方法近似,比如采样法,二是确定性方法近似,比如变分推断求解LDA。
在变分推断中,经常用一个简单分布 q ( Z ; φ ) q(Z;\varphi) q(Z;φ)来近似复杂分布 p ( Z ∣ Y , θ o l d ) p(Z|Y,\theta_{old}) p(Z∣Y,θold),从而得到一个局部最优,但是有确定解的近似后验分布(平均场思想)。
一般假设 q ( Z ) = ∏ i = 1 M q i ( Z i ) q(Z)=\prod\limits_{i=1}^{M}q_i(Z_i) q(Z)=i=1∏Mqi(Zi),也就是把 Z Z Z分成相互独立的 M M M个部分,而每个部分的分布 q i ( Z i ) q_i(Z_i) qi(Zi)都相对简单。此时利用变分法求 q i ( Z i ) q_i(Z_i) qi(Zi)
log p ( Y ) = log p ( Y , Z ) − log p ( Z ∣ Y ) \log p(Y)=\log p(Y,Z)-\log p(Z|Y) logp(Y)=logp(Y,Z)−logp(Z∣Y)
log p ( Y ) = log p ( Y , Z ) q ( Z ) − log p ( Z ∣ Y ) q ( Z ) \log p(Y)=\log \frac{p(Y,Z)}{q(Z)}-\log \frac{p(Z|Y)}{q(Z)} logp(Y)=logq(Z)p(Y,Z)−logq(Z)p(Z∣Y)
两边积分
∫ q ( Z ) log p ( Y ) d Z = ∫ q ( Z ) log p ( Y , Z ) q ( Z ) d Z − ∫ q ( Z ) log p ( Z ∣ Y ) q ( Z ) d Z \int q(Z)\log p(Y)dZ=\int q(Z)\log \frac{p(Y,Z)}{q(Z)}dZ-\int q(Z)\log \frac{p(Z|Y)}{q(Z)}dZ ∫q(Z)logp(Y)dZ=∫q(Z)logq(Z)p(Y,Z)dZ−∫q(Z)logq(Z)p(Z∣Y)dZ
log p ( Y ) = ∫ q ( Z ) log p ( Y , Z ) q ( Z ) d Z − ∫ q ( Z ) log p ( Z ∣ Y ) q ( Z ) d Z \log p(Y)=\int q(Z)\log \frac{p(Y,Z)}{q(Z)}dZ-\int q(Z)\log \frac{p(Z|Y)}{q(Z)}dZ logp(Y)=∫q(Z)logq(Z)p(Y,Z)dZ−∫q(Z)logq(Z)p(Z∣Y)dZ
log p ( Y ) = L ( q ) + K L ( q ∣ ∣ p ) \log p(Y)=L(q)+KL(q||p) logp(Y)=L(q)+KL(q∣∣p)
Evidence lower bound (ELBO):
L ( q ) = ∫ q ( Z ) log p ( Y , Z ) q ( Z ) d Z L(q)=\int q(Z)\log \frac{p(Y,Z)}{q(Z)}dZ L(q)=∫q(Z)logq(Z)p(Y,Z)dZ
KL divergence:
K L ( q ∣ ∣ p ) = ∫ q ( Z ) log q ( Z ) p ( Z ∣ Y ) d Z = − ∫ q ( Z ) log p ( Z ∣ Y ) q ( Z ) d Z KL(q||p)=\int q(Z) \log \frac{q(Z)}{p(Z|Y)}dZ=-\int q(Z) \log \frac{p(Z|Y)}{q(Z)}dZ KL(q∣∣p)=∫q(Z)logp(Z∣Y)q(Z)dZ=−∫q(Z)logq(Z)p(Z∣Y)dZ
因此最大化对数似然函数或者最大化ELBO: L ( q ) L(q) L(q)或者最小化KL divergence: K L ( q ∣ ∣ p ) KL(q||p) KL(q∣∣p)。
在最大化 L ( q ) L(q) L(q)过程中,优化变量是函数 q ( Z ) q(Z) q(Z),因此采用变分法,所以叫变分推断。变分推断依然基于EM框架,属于一种特殊的高阶的EM算法。
从EM算法到变分推断(变分贝叶斯推断)相关推荐
- 贝叶斯推断 概率编程初探
1. 写在之前的话 0x1:贝叶斯推断的思想 我们从一个例子开始我们本文的讨论.小明是一个编程老手,但是依然坚信bug仍有可能在代码中存在.于是,在实现了一段特别难的算法之后,他开始决定先来一个简单的 ...
- 变分贝叶斯推断(Variational Bayes Inference)简介
通常在研究贝叶斯模型中,很多情况下我们关注的是如何求解后验概率(Posterior),不幸的是,在实际模型中我们很难通过简单的贝叶斯理论求得后验概率的公式解,但是这并不影响我们对贝叶斯模型的爱--既然 ...
- 变分推断 | MATLAB实现VBMC变分贝叶斯蒙特卡洛模拟的贝叶斯推断
变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断 目录 变分推断 | MATLAB实现变分贝叶斯蒙特卡洛模拟的贝叶斯推断 效果一览 基本介绍 研究内容 模型描述 模型设计 参考资料 效 ...
- 变分法和变分贝叶斯推断
本文转载的原文链接:变分法和变分贝叶斯推断 另一篇CSDN链接学习:变分贝叶斯推断(Variational Bayes Inference)简介 变分法是17世纪末发展起来的一门数学分支,是泛函分析里 ...
- matlab 变分贝叶斯,变分法和变分贝叶斯推断
变分法介绍 变分法是17世纪末发展起来的一门数学分支,是泛函分析里面的一个领域,在普通的最优化问题中,往往求解得到的是一个最优值解,而在一个变分问题中,求解得到的是一个最优函数解,因此变分问题可以看成 ...
- 分类算法学习(二)——贝叶斯算法的原理及简单实现
1.3.贝叶斯分类的基础--贝叶斯定理 每次提到贝叶斯定理,我心中的崇敬之情都油然而生,倒不是因为这个定理多高深,而是因为它特别有用.这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两 ...
- 众包置信度:改进众包数据标记的贝叶斯推断
Confident in the Crowd: Bayesian Inference to Improve Data Labelling in Crowdsourcing 作者 摘要 1 介绍 2 背 ...
- 贝叶斯推断方法 —— 从经验知识到推断未知
贝叶斯推断方法 -- 从经验知识到推断未知 机器学习基础算法python代码实现可参考:zlxy9892/ml_code 1 什么是贝叶斯 在机器学习领域,通常将监督学习 (supervised ...
- 贝叶斯推断及其互联网应用(三):拼写检查
(这个系列的第一部分介绍了贝叶斯定理,第二部分介绍了如何过滤垃圾邮件,今天是第三部分.) 使用Google的时候,如果你拼错一个单词,它会提醒你正确的拼法. 比如,你不小心输入了seperate. G ...
- 基于用户投票的排名算法(六):贝叶斯平均
作者: 阮一峰 日期: 2012年3月28日 (这个系列实在拖得太久,今天是最后一篇.) 上一篇介绍了"威尔逊区间",它解决了投票人数过少.导致结果不可信的问题. 举例来说,如果只 ...
最新文章
- wifi一键配网smartconfig原理及应用
- 【SAM】差异(P4248)
- nbiot开发需要掌握什么_学习软件开发需要准备什么?
- 使用Speedment和Spring创建REST API
- linux screen -ls,Linux screen命令详解
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- 大华电子秤客户端开发文档_『飞桨』全流程开发工具PaddleX
- 最后一周——数模美赛赛前准备总结
- php7 libiconv,CentOS 7下编译libiconv
- 斯皮尔曼相关系数的解读
- python处理工资_python的工资
- Boost电路调试心得
- 计算机computer英语划分音节,computer是什么意思
- php网站后台不显示验证码,网站后台验证码不显示原因
- 关于人工智能AI的发展,边缘计算中的AI芯片
- 微信小程序背景图片真机不显示问题
- 内核/逻辑处理器/线程/多线程/多CPU/多核CPU
- 【目标跟踪】基于UKF实现自行车状态估计含Matlab源码
- php友情链接大于3换行,友情链接11大欺骗方法
- java计算机毕业设计互联网保险网站源程序+mysql+系统+lw文档+远程调试
热门文章
- 最新版SDWebImage的使用 -- 推荐 - 高效
- win10计算机本地无法连接,win10系统电脑本地连接不见了解决方法
- stm32毕业设计 单片机万能红外遥控器
- 03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca)
- Linux文件上传下载,rz和sz
- 物联网,该不该赌一把?【常垒常识】
- 通过gcloud创建Google Kubernetes Engine(GKE)并通过kubectl访问
- CAN通信标准帧和扩展帧
- Flyway学习和使用
- 爬虫加tkinter做的中英互译小软件