【机器学习系列】变分推断第二讲:基于Mean Field的变分推断解法
作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2. 文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:变分推断第二讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自CSDN。原创不易,转载请告知并注明出处!
本文将先对变分推断所要解决的问题进行分析,然后给出基于Mean Field的变分推断解法。
一、本文结论
结论1: 变分推断的主要思想:在给定数据集XXX下,问题是求后验概率ppp,简单情况下后验概率ppp可直接通过贝叶斯公式推导求出,但有些情况无法直接求解。因此变分推断想法是先假设另一个简单的概率分布qqq,如高斯分布,通过优化ppp和qqq之间距离最小化,让概率分布qqq逼近ppp,这样就可以用概率分布qqq近似表示后验概率ppp。
结论2: 基于Mean Field的变分推断方法主要是假设将隐变量zzz分成M个相互独立的部分z=(z1,z2,...,zM)z=(z_1,z_2,...,z_M)z=(z1,z2,...,zM) ,当求qj(zj)q_j(z_j)qj(zj)时固定剩下M-1个部分。
结论3: 基于Mean Field的变分推断方法存在的两个问题:(1)假设将z=(z1,z2,...,zM)z=(z_1,z_2,...,z_M)z=(z1,z2,...,zM)分成M个相互独立的部分,然后固定其他依次求得qj(zj)q_j(z_j)qj(zj)。这个假设太强烈,在一些问题是无法分成相互独立的各个部分;(2)最后求出来的qj(zj)q_j(z_j)qj(zj)仍然需要进行求积分,在一些问题中,仍然可能是Intractable,无法求解的。
二、问题分析
观测数据Observed Data:XXX
隐变量Latent Variable:ZZZ
完整数据Complete Data:(X,Z)(X, Z)(X,Z)
目的: 求数据的后验概率p(z∣x)p(z|x)p(z∣x),下面先给出变分推断的分析思路
首先由简单的联合概率分布的分解式引出问题,如下公式所示:
通过两边加log变形为:
为了近似求解后验概率p(z∣x)p(z|x)p(z∣x),我们需要先引入另一个分布q(z)q(z)q(z),整合进上面公式中:
接下来分别将上式的左边和右边部分对q(z)q(z)q(z)进行积分:
其中
所以左边在积分后仍然是logp(x)logp(x)logp(x),接下来对右边部分进行积分:
其中前半部分是Evidence Lower Bound,简称为ELBOELBOELBO:
后半部分是概率分布ppp和qqq的相对熵:
因此有:
因为当数据给定的情况下,左边logp(x)logp(x)logp(x)是定值,即ELBO+KL(q∣∣p)ELBO+KL(q||p)ELBO+KL(q∣∣p)是一个定值,而其中KL(q∣∣p)KL(q||p)KL(q∣∣p)是大于等于0的,且KL(q∣∣p)KL(q||p)KL(q∣∣p)越小代表概率分布ppp和qqq就越接近,也就是我们要优化的目标,但KL(q∣∣p)KL(q||p)KL(q∣∣p)中包含后验概率不好直接优化最小,但因为ELBO+KL(q∣∣p)ELBO+KL(q||p)ELBO+KL(q∣∣p)是定值,所以我们可以优化让ELBOELBOELBO部分最大,KL(q∣∣p)KL(q||p)KL(q∣∣p)相对就越小,这样便可以用概率分布qqq来代替ppp了。
三、公式推导
通过上一小节的描述已经明确了变分推断需要优化的目标,总结为如下公式:
下面通过公式推导求解是的ELBOELBOELBO最大的后验概率q(z)q(z)q(z)的值,使用基于Mean Field的变分推断的解法求解后验概率分布p(z∣x)p(z|x)p(z∣x)
先假设z=(z1,z2,...,zM)z=(z_1,z_2,...,z_M)z=(z1,z2,...,zM),并且这M份之间是相互独立的,则有:
接下来对ELBOELBOELBO项进行展开,并将q(z)q(z)q(z)的值代入:
下面为了简便,先做一下变量假设:
在推导AAA和BBB前,先固定z=(z1,...,zj−1,zj+1...,zM)z=(z_1,...,z_{j-1}, z_{j+1}...,z_M)z=(z1,...,zj−1,zj+1...,zM),先zjz_jzj,接下来先推导AAA
其中有:
因此可以得出AAA的值如下:
接下来推导BBB:
其中有:
因此得出了BBB的值:
因为固定了z=(z1,...,zj−1,zj+1...,zM)z=(z_1,...,z_{j-1}, z_{j+1}...,z_M)z=(z1,...,zj−1,zj+1...,zM),只求未知量zjz_jzj,所以:
其中CCC是常量,至此有:
因此当KL取0时,ELBOELBOELBO能达到最大值,所以这里求出qj(zj)q_j(z_j)qj(zj):
其他的q1(z1),q2(z2),,...,qM(zM)q_1(z_1),q_2(z_2),,...,q_M(z_M)q1(z1),q2(z2),,...,qM(zM)求解方法相同。这样求出了q∗(z)q^{*}(z)q∗(z)求等价于求出了后验概率p(z∣x)p(z|x)p(z∣x)。
正如文章开头结论所说,基于Mean Field的变分推断方法存在的两个问题,下一节变分推断将介绍另一种解法:基于随机梯度上升SGD的变分推断推导方案:
1、假设将z=(z1,z2,...,zM)z=(z_1,z_2,...,z_M)z=(z1,z2,...,zM) 分成M个相互独立的部分,然后固定其他依次求得qj(zj)q_j(z_j)qj(zj)。这个假设太强烈,在一些问题是无法分成相互独立的各个部分;
2、最后求出来的qj(zj)q_j(z_j)qj(zj)仍然是求积分,在一些问题中,仍然可能是Intractable,无法求解的。
【机器学习系列】变分推断第二讲:基于Mean Field的变分推断解法相关推荐
- LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim
LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim 几个月前, Linux 基金会发起了 LFCS (Linux 基金会认证系统管理员Linux Foundation Certified ...
- “悟道”公开课第二讲丨如何优化大模型输出结果
图片出处:https://bmk.sh/2020/05/29/GPT-3-A-Brief-Summary/ 如果你错过了上一波深度学习引发的NLP范式转换,不要再错过这一波超大预训练模型的崛起. 现在 ...
- 机器学习之变分推断(三)基于平均场假设变分推断与广义EM
机器学习笔记之变分推断--基于平均场假设变分推断与广义EM 引言 回顾:基于平均场假设的变分推断 深入认识平均场假设 经典变分推断与广义EM 引言 上一节介绍了基于平均场假设 的变分推断推导过程.本节 ...
- 【机器学习系列】概率图模型第二讲:深入浅出有向图中的条件独立性和D划分
作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 前言: 文中含有大量公式,若需获取本文全部的手书版原稿资料,扫码关注公众号[AI机器学习与知识图谱],回复: 概率 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学 ...
- 台大·林轩田·机器学习基石·第二讲
第二讲···感知机学习算法 2-1 Perceptron hypothesis set 对于银行是否决定要给申请者信用卡问题,对于输入数据(例如申请者的个人信息,年龄,性别,收入,工作情况等)可用一组 ...
- 机器学习系列|基于随机森林的生存分析模型-R实战
机器学习系列|基于随机森林的生存分析模型-R实战 随机生存森林 随机生存森林通过训练大量生存树,以表决的形式,从个体树之中加权选举出最终的预测结果. 构建随机生存森林的一般流程为: Ⅰ. 模型通过&q ...
- 【阿里云 CDP 公开课】 第二讲:CDH/HDP 何去何从
简介:Hadoop社区版CDH/HDP已经不再更新,也将终止服务.后续的平台路线图怎么规划?Cloudera CDP整合了CDH和HDP,有哪些性能提升和功能增强?如何平滑的进行迁移?本文结合CDH/ ...
- Weka中数据挖掘与机器学习系列之Exploer界面(七)
不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...
- 【机器学习系列】概率图模型第三讲:深入浅出无向图中的条件独立性和因子分解
作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 阅读本文之前,先注意一下两点: 1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文 ...
最新文章
- TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
- UVA 617 - Nonstop Travel(数论+暴力枚举)
- 如何在SAP Spartacus category 页面里拿到当前的category信息
- 电脑软件:推荐八款提高工作效率的软件,值得收藏!
- 好云推荐官丨飞天加速之星怎样选择云服务器ECS?
- 安装完成后的配置_cent os7 默认安装后的一般配置
- Silverlight MMORPG网页游戏开发课程[一期] 第九课:HUD与背景音乐
- 64位ubuntu12 编译android4.4.2
- python读取pdf内容转word_卧槽!Pdf转Word用Python轻松搞定!
- Java解析JSON的四种方式
- 网站为什么要备案?网站备案流程是什么?
- php后缀加swp,当编辑文件出现swp的时候如何处理
- iPhone测试软件偷开照相机,iphone小软件让小偷现形 自动拍下照片发送邮箱
- 计网:网络层协议ICMP
- w10电脑c盘满了怎么清理_w10电脑自动更新安装完c盘满了怎么清理
- 二进制数的补码及运算
- 高等数学(第七版)同济大学 习题11-6 个人解答
- 区块链智能合约教材出版
- 【复杂网络】自学笔记整理
- 计算机毕设 SSM+Vue房屋租赁系统 房屋租赁信息管理系统 房屋租赁管理系统Java Vue MySQL数据库 远程调试 代码讲解