在这篇文章中,我引用Bishop书中的一个例子,来简单介绍一下Variational Methods的应用。想要更详细地理解这个例子,可以参考Bishop的书Pattern Recongnition and Machine Learning的第十章。

这个例子应用于一个混合高斯分布,我们先来看一看这个混合高斯分布的图模型,见图3,从而可以进一步退出其概率表达式。

现在我们有了这个图,我们就不难写下一个完整的概率式来表示整个联合分布:

现在,我们来定义一些分布。首先,我们已经说过,这是一个混合高斯模型,那么就需要有一个变量来描述,一个点的生成,到底是由这个混合高斯中的哪一个组成部分生成。那么这个变量就是Z,我们用一个1-of-K的二进制向量来表示。例如我现在有一个二进制向量(0,0,0,0,1),这个向量代表一共有五个组成部分,而这个点对应于其中的第五个组成部分。这就是一个multinational distribution。那么我们现在要来控制这个multinational distribution,那就需要利用到pi。现在我们假设有N个观测变量构成的数据集,每一个观测变量都对应其潜在变量。我们可以得到:

在这里, 我们假定,在这个高斯混合中,一共有K个组成部分。现在,我们需要写出观测变量基于潜在变量的条件分布。

现在,我们可以引入分布来描述这些参数,从而构成一个完整的Bayesian Model。首先,我们来描述pi。我们注意到Z是一个由pi控制的multinational distribution,那么根据其共轭先验,我们可以方便地选择Dirichlet distribution作为pi的先验分布,从而我们有:

在这个式子中,我们将Dirichlet分布做了一个简化,其控制参数,我们减少为一个。关于Dirichlet分布的介绍可以看我另外一篇文章Simple Introduction to Dirichlet Process。现在我们需要为Gaussian的均值和方差引入一个控制先验。从我们之前的图模型中,我们发现了均值对精度的依赖(这并不是必须的)。在均值和精度都不知晓的情况下,我们可以为这两个参数引入一个Gaussian-Wishart先验分布,这是在对于高斯分布的两个控制参数均不了解的情况下其共轭先验。从而我们有:

现在,整个问题就完全定义了,接下来就是如何利用Variational Methods来解决这个问题。

首先,回忆一下在Variational Methods里,我们是如何实现近似的。对,我们是利用一种结构上的近似,也就是假设我们现在想要求的分布,可以分解为一系列tractable的分布,从而进行近似于求解。在给定的现在这样一个完全Bayesian Model中,我们选择一种分解方式,来将原有的结构进行分解近似。从而我们得到:

这是一种合理的假设,我们将潜在变量和控制参数分开,从而得到这样的一种分解。这里有几点值得说明:首先,我在前面的文章中提到,我们是将Z分解为几组,从而得到近似模型。那为什么这里除了Z之外,还有别的变量?这是因为,当时我用Z代替的了所有的变量,当时的Z之中包含了控制参数,因为这是一个完全的Bayesian Model。第二个要注意的是,这个分解的假设,是我们在这个例子中作出的唯一假设了。

现在,我们利用之前得到的公式,将现在的这个式子代入,我们可以得到:

而后,我们利用最初根据图模型得到的那个全概率分解形式,可以对上面的式子进行简化,并且将于Z无关的式子都放入常数中,从而得到:

接下来,我们就可以将上面式子中提到的两个分布分别代入,分别可以得到:

以及

我们注意到,这两个式子有相同的部分,为了使得表达更加简洁,我们引入一个新的符号:

从而我们有:

在这个式子的基础上,我们等式两边同时取对数,则我们得到:

这个分布还是没有归一化的,所以我们需要进行归一化,则我们定义:

从而对该分布进行归一化,得到最终的关于Z的分布:


其余参数的近似,我将会在下一篇文章中继续讨论。

An Introduction to Variational Methods (5.1)的更多相关文章

  1. An Introduction to Variational Methods (5.3)

    从之前的文章中,我们已经得到了所有需要求解的参数的优化分布的形式,分别为: ‍ 但是,我们从这些分布的表达式中(参见之前的文章),可以发现这些式子并不能够直接求解.这是因为各个参数之间相互耦合,从而导 ...

  2. An Introduction to Variational Methods (5.2)

    我们现在已经得到了关于潜在变量Z的优化分布的表达形式: ‍ 其中: ‍ 所以现在我们可以得到Z的期望: ‍ 另外对于Z还值得一提的是,我们从其优化分布的表达式中可以看出,各个Z的组成部分之间还是相互耦 ...

  3. 概率主题模型简介 Introduction to Probabilistic Topic Models

    此文为David M. Blei所写的<Introduction to Probabilistic Topic Models>的译文,供大家参考. 摘要:概率主题模型是一系列旨在发现隐藏在 ...

  4. 转:概率主题模型简介 --- ---David M. Blei所写的《Introduction to Probabilistic Topic Models》的译文

    概率主题模型简介 Introduction to Probabilistic Topic Models      转:http://www.cnblogs.com/siegfang/archive/2 ...

  5. PRML读书会第十章 Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:02:04 我们在前面看到,概率推断的核心任务就是计算某分布下的某个函数的期望.或者计算边缘概率分布.条件 ...

  6. deep learning 的综述

    从13年11月初开始接触DL,奈何boss忙or 各种问题,对DL理解没有CSDN大神 比如 zouxy09等 深刻,主要是自己觉得没啥进展,感觉荒废时日(丢脸啊,这么久....)开始开文,即为记录自 ...

  7. PGM1.1-简介

    自己根据Jordan大神的资料写的(算翻译?完全不记得了,这是半年前整理的,反正不记得了,如果大神有看到部分重合,那肯定是我借鉴了人家的,本来是一个群里的人大家兴致高说写DL的书(所以这一章并不是书的 ...

  8. 机器学习经典论文/survey合集

    Active Learning Two Faces of Active Learning, Dasgupta, 2011 Active Learning Literature Survey, Sett ...

  9. Reading lists for new LISA students(转)

    Research in General How to write a great research paper Basics of machine learning http://www.iro.um ...

随机推荐

  1. 网络协议TFTP

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议.和使用TCP的文件传输协议(FTP ...

  2. css关键字unset

    今天遇到了一个css属性 display:unset 以为是新增的display的属性值,查了好久,发现并没有这个属性值, 后来发现了unset是css的关键字,将一个属性的属性值设置为unset,目 ...

  3. js 中采用词法作用域

    所谓的 词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行, 作用范围就已经确定好了. 这个就是所谓词法作用域. 在 js 中词法作用域规则: 1.函数允许访 ...

  4. Redis单机版和集群版的安装和部署

    1.单机版的安装 本次使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc-c++ 1.1 安装redis 1.下载re ...

  5. EF增删改查+使用Expression进行动态排序分页

    注:以下部分来自<ASP.NET MVC 企业级实战>一书的摘抄和改写以及部分个人学习心得. EF简单增删改查 增加 public static int Add() { using (No ...

  6. Java Object中的equals和hashCode

    Java的Object对象中有两个方法比较有意思,一个是equals(),一个是hashCode(),那么这两个的作用有些同学可能还不是很清楚,那么同学们现在就进一步了解一下吧. 下面咱们写一个简单的 ...

  7. Navicat连接oracle数据出现的oci问题

    为了用navicat操作数据库,我安装了navicat,安装完后可以连接oracle,mysql,sql service,sqlite,所以这个工具非常好用. 但是在连接数据库的时候报错了:" ...

  8. sublime编辑器代码背景刺眼怎么修改?

    有些人觉得如上图大括号刺眼,怎么把它改得不那么刺眼呢? [第一步]打开Bracket Hightlighter插件的用户配置文件: 然后按ctrl+G跳转到第330行, 如图位置改为"sty ...

  9. ini文件必须要全路径名啊

    弄半天必须要全路径名啊.实在不行用./set.ini也可以 用UNICODE保存ini文件

  10. SNS团队Beta阶段第六次站立会议(2017.5.27)

    1.立会照片 2.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 发音图标的改进 对界面各部分的图标进行完善.美化 龚晓婷 对于历史记录功能的测试 对于历史记录功能进一步完善 林仕庄 ...