作者: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的变分推断解法相关推荐

  1. LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim

    LFCS 系列第二讲:如何安装和使用纯文本编辑器 vi/vim 几个月前, Linux 基金会发起了 LFCS (Linux 基金会认证系统管理员Linux Foundation Certified ...

  2. “悟道”公开课第二讲丨如何优化大模型输出结果

    图片出处:https://bmk.sh/2020/05/29/GPT-3-A-Brief-Summary/ 如果你错过了上一波深度学习引发的NLP范式转换,不要再错过这一波超大预训练模型的崛起. 现在 ...

  3. 机器学习之变分推断(三)基于平均场假设变分推断与广义EM

    机器学习笔记之变分推断--基于平均场假设变分推断与广义EM 引言 回顾:基于平均场假设的变分推断 深入认识平均场假设 经典变分推断与广义EM 引言 上一节介绍了基于平均场假设 的变分推断推导过程.本节 ...

  4. 【机器学习系列】概率图模型第二讲:深入浅出有向图中的条件独立性和D划分

    作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 前言: 文中含有大量公式,若需获取本文全部的手书版原稿资料,扫码关注公众号[AI机器学习与知识图谱],回复: 概率 ...

  5. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

    本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学 ...

  6. 台大·林轩田·机器学习基石·第二讲

    第二讲···感知机学习算法 2-1 Perceptron hypothesis set 对于银行是否决定要给申请者信用卡问题,对于输入数据(例如申请者的个人信息,年龄,性别,收入,工作情况等)可用一组 ...

  7. 机器学习系列|基于随机森林的生存分析模型-R实战

    机器学习系列|基于随机森林的生存分析模型-R实战 随机生存森林 随机生存森林通过训练大量生存树,以表决的形式,从个体树之中加权选举出最终的预测结果. 构建随机生存森林的一般流程为: Ⅰ. 模型通过&q ...

  8. 【阿里云 CDP 公开课】 第二讲:CDH/HDP 何去何从

    简介:Hadoop社区版CDH/HDP已经不再更新,也将终止服务.后续的平台路线图怎么规划?Cloudera CDP整合了CDH和HDP,有哪些性能提升和功能增强?如何平滑的进行迁移?本文结合CDH/ ...

  9. Weka中数据挖掘与机器学习系列之Exploer界面(七)

    不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...

  10. 【机器学习系列】概率图模型第三讲:深入浅出无向图中的条件独立性和因子分解

    作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 阅读本文之前,先注意一下两点: 1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文 ...

最新文章

  1. TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
  2. UVA 617 - Nonstop Travel(数论+暴力枚举)
  3. 如何在SAP Spartacus category 页面里拿到当前的category信息
  4. 电脑软件:推荐八款提高工作效率的软件,值得收藏!
  5. 好云推荐官丨飞天加速之星怎样选择云服务器ECS?
  6. 安装完成后的配置_cent os7 默认安装后的一般配置
  7. Silverlight MMORPG网页游戏开发课程[一期] 第九课:HUD与背景音乐
  8. 64位ubuntu12 编译android4.4.2
  9. python读取pdf内容转word_卧槽!Pdf转Word用Python轻松搞定!
  10. Java解析JSON的四种方式
  11. 网站为什么要备案?网站备案流程是什么?
  12. php后缀加swp,当编辑文件出现swp的时候如何处理
  13. iPhone测试软件偷开照相机,iphone小软件让小偷现形 自动拍下照片发送邮箱
  14. 计网:网络层协议ICMP
  15. w10电脑c盘满了怎么清理_w10电脑自动更新安装完c盘满了怎么清理
  16. 二进制数的补码及运算
  17. 高等数学(第七版)同济大学 习题11-6 个人解答
  18. 区块链智能合约教材出版
  19. 【复杂网络】自学笔记整理
  20. 计算机毕设 SSM+Vue房屋租赁系统 房屋租赁信息管理系统 房屋租赁管理系统Java Vue MySQL数据库 远程调试 代码讲解

热门文章

  1. spring mvc静态资源放行
  2. weex官方demo weex-hackernews代码解读(上)
  3. 不能查看工作组计算机 提示没有权限拒绝访问
  4. CHARINDEX 连同 SUBSTRING 对字符串删除处理...
  5. [转]《编程之道》(很老的一篇文章)
  6. 关系代数运算集(数据库)
  7. python struct_struct
  8. cocos android保存图片到相册,android平台 cocos2d-x 读取相册数据
  9. linux vim个人配色方案
  10. fill函数 神奇的迭代器