变分贝叶斯EM指的是变分贝叶斯期望最大化(VBEM, variational Bayes expectation maximization),这种算法基于变分推理,通过迭代寻找最小化KL(Kullback-Leibler)距离的边缘分布来近似联合分布,同时利用mean field 近似减小联合估计的复杂度。
  变分贝叶斯EM方程最早是由BEAL M J. 在其论文《Variational Algorithms for Approximate Bayesian Inference》[D], London, UK: University College London, 2003里所提出的[1]  。其具体算法可表示为:在第i次VBEM迭代中,参数分布的更新方程式可表示为VBE步和VBM步。

在VBEM算法中,VBE步骤和VBM步骤均是关于后验分布求均值的,因此隐参数和未知参数之间不再存在区别。
 
一、《VBEM算法由浅入深》
1,EM算法讲得比较直观明了的资料是Andrew NG的machine learning课程的讲稿。CS 229: Machine Learning (Course handouts),第八章就是专门讲EM算法
2,EM的一些code实现。比如MachineLearning-C---code/main.cpp at master · pennyliang/MachineLearning-C---code · GitHub
3,熟悉完EM算法之后,可以去看变分推断了,关于变分推断的方法,D.Blei一直在推。笔记在此https://www.cs.princeton.edu/courses/archive/fall11/cos597C/lectures/variational-inference-i.pdf。 文章在此https://arxiv.org/abs/1601.00670。笔记是对文章的总结。
4,结合了EM和variational inference的变分EM了,这个可以看香港大学的一份PPT,讲得是使用变分EM推导LDA的过程,很详。http://www.cse.ust.hk/~lzhang/teach/6931a/slides/lda-zhou.pdf

二、采样和变分

 1、Gibbs采样和变分

Gibbs采样:使用邻居结点(相同文档的词)的主题采样值

变分:采用相邻结点的期望。n

这使得变分往往比采样算法更高效:用一次期望计算代替了大量的采样。直观上,均值的信息是高密(dense)的,而采样值的信息是稀疏(sparse)的。

 2、变分概述

变分既能够推断隐变量,也能推断未知参数,是非常有力的参数学习工具。其难点在于公式演算略复杂,和采样相对:一个容易计算但速度慢,一个不容易计算但运行效率高。

平均场方法的变分推导,对离散和连续的隐变量都适用。在平均场方法的框架下,变分推导一次更新一个分布,其本质为坐标上升。可以使用模式搜索(pattern search)、基于参数的扩展(parameter expansion)等方案加速

有时假定所有变量都独立不符合实际,可使用结构化平均场(structured mean field),将变量分成若干组,每组之间独立

变分除了能够和贝叶斯理论相配合得到VB(变分贝叶斯),还能进一步与EM算法结合,得到VBEM,用于带隐变量和未知参数的推断

变分贝叶斯VBEM 由浅入深的更多相关文章

  1. 变分贝叶斯学习(variational bayesian learning)及重参数技巧(reparameterization trick)

    摘要:常规的神经网络权重是一个确定的值,贝叶斯神经网络(BNN)中,将权重视为一个概率分布.BNN的优化常常依赖于重参数技巧(reparameterization trick),本文对该优化方法进行概 ...

  2. NeurIPS 2018 中的贝叶斯研究

    NeurIPS 2018 中的贝叶斯研究 WBLUE 2018年12月21日   雷锋网 AI 科技评论按:神经信息处理系统大会(NeurIPS)是人工智能领域最知名的学术会议之一,NeurIPS 2 ...

  3. 浅析贝叶斯神经网络(Based on Variational Bayesian)

    https://blog.csdn.net/qq_20195745/article/details/82453589 贝叶斯神经网络简介 对于一个神经网络来说,最为核心的是如何根据训练集的数据,得到各 ...

  4. 从贝叶斯到粒子滤波——Round 1

    粒子滤波确实是一个挺复杂的东西,从接触粒子滤波到现在半个多月,博主哦勒哇看了N多篇文章,查略了嗨多资料,很多内容都是看了又看,细细斟酌.今日,便在这里验证一下自己的修炼成果,请各位英雄好汉多多指教. ...

  5. 机器学习实战笔记(Python实现)-03-朴素贝叶斯

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  6. 朴素贝叶斯算法下的情感分析——C#编程实现

    这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...

  7. 朴素贝叶斯(NB)复习总结

    摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 贝叶斯分类算法是统计学的一种分类方法,其分类原理就是利用贝叶斯公式根据某 ...

  8. 白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现

    离去年“马尔可夫链进行彩票预测”已经一年了,同时我也计划了一个彩票数据框架的搭建,分析和预测的框架,会在今年逐步发表,拟定了一个目录,大家有什么样的意见和和问题,可以看看,留言我会在后面的文章中逐步改 ...

  9. 【原创】.NET平台机器学习组件-Infer.NET连载(二)贝叶斯分类器

                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 微软Infer.NET机器学习组件文章目录:http:/ ...

随机推荐

  1. 采用轻量ServiceMesh实现灰度发布的实践

    软件总会有缺陷的,解决问题的同时往往会引入新的问题,关键是看这些问题是否在我们的控制范围内,“灰度发布”就是让问题受控的方法之一. 前言 我们的 CTO 经常说:“研发团队最首要的任务是提供稳定的服务 ...

  2. IIS7Appcmd 命令详解

    IIS7 Appcmd 命令详解 废话不说!虽然有配置界面管理器!但是做安装包的时候命令创建是必不可少的!最近使用NSIS制作安装包仔细研究了一下Appcmd的命令,可谓是功能齐全. 上网查了些资料, ...

  3. SpookyOTP

    https://pypi.python.org/pypi/SpookyOTP/1.1.1 SpookyOTP 1.1.1 Downloads ↓ A lightweight Python 2/3 pa ...

  4. 设置JAVA HOME环境变量的秕处理

    echo "放在JDK目录下,win xp需要下载SETX.EXE" setx /m Java_Home "%cd%" setx /m ClassPath &q ...

  5. codis须知

    codis是豌豆荚team出的一个redis集群,和官方的集群区别的地方在于 基于proxy,官方是基于gossip codis所有的读写都通过proxy,对于前端业务是透明的 官方的是读写发现在某个 ...

  6. 解决标准FPGA资源丰富却浪费的问题

    FPGA以计算速度快.资源丰富.可编程著称,之前一直应用于高速数字信号领域和ASIC验证.随着逻辑资源的丰富和编程工具的改进,FPGA在机器学习和硬件加速上得到越来越多的重视,目前数据中心已经大量采用 ...

  7. javascript系列--Object.assign实现浅拷贝的原理以及实现

    一.前言 之前在前面一篇学习了赋值,浅拷贝和深拷贝.介绍了这三者的相关知识和区别. 传送门:https://www.mwcxs.top/page/592.html 本文会介绍浅拷贝Object.ass ...

  8. bzoj 3119: Book

    Description Wayne喜欢看书,更喜欢买书.某天Wayne在当当网上买书,买了很多很多书.Wayne有一个奇怪的癖好,就是第一本书的价格必须恰为X,而之后买的每一本书,若是比上一本更昂贵, ...

  9. 众安尊享e生·新全保通2017成人精选版60岁以后续保的保费清单

    尊享e生·新全保通2017成人精选版--有社保的费用 https://www.zhongan.com/p/83881372?channelEnName=health 61-65男性 13028女性 8 ...

  10. java之RestTemplate的访问应用

    一.REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.它是 ...