变分算法-应用

注:本文中所有公式和思路来自于邹博先生的机器学习升级版,我只是为了加深记忆和理解写的本文。


上一篇文章算是比较详细的介绍了变分算法,本篇文章将会介绍一下一些变分框架在其他模型上的应用。


变分贝叶斯:


变分不光可以推测隐变量,还可以估计参数本身,我们可以使用平均场方法,将后验概率写成参数各自分布的乘积,既得到变分贝叶斯(Variational Bayesian, VB) 


高斯分布的变分贝叶斯:


我们使用变分贝叶斯推断一维高斯分布p(μ, σ2 | D)后验概率的参数,用λ来替代σ2的导数,又称λ为精度:


为了方便计算,使用共轭先验的形式:


我们可以看成是混合高斯分布GMM,因为高斯分布的均值的共轭先验分布仍然是高斯分布,方差的共轭先验分布式伽马分布。那么我们可以近似分解成:


目标函数


我们首先给定几个超参数a,b,κ,μ,那么则有:


将这几个分布带入目标函数:


既然得到上边的结果,接下来我们就要进行参数估计了,根据变分的思想,我们估计一个参数,是试用其他参数来进行求期望得到的,那么就先更新μ:


我们可以通过对比高斯分布的对数形式:


计算得到:



接着更新λ:


通过对比Gamma分布对数形式:


得到:


同时:


将结果带入公式,根据:


以及:

得到:


这就是更新过程,公式虽然多一点,都没啥新东西,比较简单。


变分总结


变分既能够推断隐变量,也能推断未知参数,是很有力的参数估计工具。难点在于推导复杂。

相对于采样,变分不容易计算但是效率很高。

平均场方法的变分推导,对离散和连续的隐变量都适用,在平均场方法的框架下,变分推导一次更新一个分布,其本质是坐标上升。

变分除了和贝叶斯结合得到VB,还可以和EM算法结合,得到VBEM,用于带隐变量和未知参数的估计,如GMM、LDA


到此变分算法就全部介绍完了,欢迎批评指正。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值