Andrew Ng机器学习公开课笔记 -- Mixtures of Gaussians and the EM algorithm

网易公开课,第12,13课
notes,7a, 7b,8html

从这章开始,介绍无监督的算法
对于无监督,固然首先想到k means, 最典型也最简单,有须要直接看7a的讲义算法

 

Mixtures of Gaussiansdom

若是要理解Mixtures of Gaussians,那先回去复习一下Gaussians Discriminant Analysis,高斯判别分析函数

首先高斯判别分析是生成算法, 学习

image

因此不会直接拟合p(y|x), 而是拟合p(x|y)p(y), 即p(x,y)优化

image

p(y)符合伯努力分布,若是是多元分类,即多项式分布
p(x|y)符合多项高斯分布spa

而后用最大似然法,学习出imagehtm

image
这个问题就解了blog

 

那么对于混合高斯,区别只是,对于一系列数据点,y是未知的,即非监督
下面看看形式化的定义,get

既然y是未知,因此换个名字,z,隐随机变量(latent random variables, meaning that they’re hidden/unobserved.)

image image image
z符合多项式分布,参数φj表示z=j的几率,因此φ必定>=0, 而且全部φ的和为1

image

x|z,符合多项高斯分布

和高斯判别分析其实,只是把y替换成z,表示z是未知,不可见的
而且image 也是每一个多项高斯分布都不一样的,这点和高斯判别也有些不同

那么它的最大似然估计为,

image

最大似然时,之因此只考虑x,没有像高斯判别那样考虑p(x, y),是由于y不可见
可是怎么理解?
能够想象一维数据,有不少数据点,分别表明多个高斯分布混合着一块儿
而高斯分布必定是中间的点比较密集,这里的p(x)会比较高
假设咱们的数据点是有表明性的,因此拟合出p(x)高的高斯分布,会更合理一些

image

对于这个如何求解?
直接用梯度降低很难求解,由于在log里面求和。。。求导试试看

固然这里若是z已知,那么就很简单,直接变成高斯判别分析问题,可是问题如今z未知。

解决这个问题的方法,就是EM算法,Expectation Maximization Algorithm

这个算法其实思路很简单,可是如何推导和证实他的收敛和有效,比较复杂

因此先看看思路和实现,再来看推导

思路很简单,既然不知道z,而且若是知道就能够解这个问题,那么咱们就先随便猜z,而后再迭代

具体以下,

image

E步骤,咱们任意初始化参数image ,就能够算出每一个xi对应的zi,其实只要算出上面的这个概念分布就能够

具体算的公式以下,

image ,其中分别符合多项式和多项高斯分布,代入公式很容易算出

M步骤

image

用上面猜的z来从新计算参数,这里看到为什么只要算出w就ok,由于就已经足够算出新的参数

至于为什么是这个公式,由于从上面高斯判别分析,能够获得,

image

只是简单的把部分替换成w

经过不停的E,M步骤的迭代,最终必定能够收敛到局部最优,和k-means同样,能够多试些初始值,来找到全局最优

可是为什么这么简单的方法会有效,如何理解EM?继续

 

The EM algorithm

上面看到使用EM来拟合混合高斯问题,但这只是EM的一个特例

这章会推导出EM的通常形式,他能够解决各类含有隐变量的预估问题(estimation problems with latent variables.)

 

Jensen's inequality

先介绍一下Jensen不等式

image

首先经过下面的图理解一下,当f是凸函数的时候
E[f(x)] >= f(E[x])

对于凸函数,若是x是随机变量,分布均匀,那么x的均值必定比较接近谷底,因此这个不等式必定成立的

image

当f是严格凸函数的时候,即image 时,普通凸函数,二阶导数可能为0,好比某一段为直线
若是要E[f(x)] = f(E[x]),当且仅当 x = E[x], 即x是个常量

须要注意,这个不等式对于concave,凹函数也是知足的,但不等式的方向相反

 

EM algorithm

下面来看看EM算法,

对于m个独立的训练数据点,似然函数以下,
这里是通用形式,因此参数就是image ,这里没有假设z和x|z的分布,能够是任意分布

image
这个直接解是很困难的,因此用EM算法解

解的思路,

E-step, construct a lower-bound on image
先随便初始化参数,构建这个分布的下界,即最差的case
而后经过下界的分布,获得z

M-step, optimize that lower-bound
用E-step获得的z来最优化参数

以下图,在迭代过程当中,下界的分布会不断的逼近真实分布

image

 

首先,假设Q为z的某种分布,Q(zi)为zi出现的几率,那么有image ,而且Q(zi)>=0

image

而后为了使用Jensen不等式,对(1)分子分母同时乘上Q(zi),这样就产生了指望E

先看下指望的定义,

参考,(EM算法)The EM Algorithm

image 

那么对应于上面的公式,其中

image ,为g(z)

image ,为p

因此,

image 就是, image

再来看Jensen不等式,E[f(x)] >= f(E[x]),其中f就是log,因此获得上面(3)

因此这样就产生了image的下界,

image

咱们须要在M-step中去最优化这个下界,但问题是如今Q分布尚未肯定,如何肯定哪一种Q分布会最好

咱们虽然给出在参数image时的下界,可是咱们但愿这个下界是能够尽可能逼近image的,因此但愿(3)中最好能够取到等式,这样下界就等于image

这时候再看Jensen不等式中,对于=取值的条件,即,

image

因为image,因此让分子和分母对全部的z求和,应该仍是等于c,好比2+4 /1+2,仍然为2,获得

image

因此获得Q的分布,就是z的后验几率

image

因此,最终获得的general EM算法为,

image

能够对比一下,以前混合高斯的EM,体会一下特例和通用的差异

那么这个算法是收敛的吗?即证实下面的式子,第t+1次迭代的image>=第t次迭代

image

过程以下,

image

(4)给出image 的下界

(5)由于在M-step,要在固定Q状况下,最优化image,因此优化完,必定比原来的image要大

(6)由于在取下界的时候,选择Q使得

image

因此得证

EM和k-means都是必定会收敛到局部最优的

从另一个角度来看EM,实际上是一种坐标上升算法,

image

在E-Step,咱们固定image 来,求解最优的Q

在M-Step,咱们固定Q来,求解最优的image

 

Mixture of Gaussians revisited

看完通用的EM算法,再会过头来看看混合高斯算法,应该会更清晰一些

对于E-step很简单,

通用的EM,表示为image

而对于混合高斯算法,为image ,这个很天然,不须要解释

而后对于M-step,须要最大化下面的式子以求出image

image

后面的求解过程就是分别对,image,求导而后求解,就能够获得上面的已经列出的公式,具体过程能够参考讲义,这里就不列了

 

文本聚类- Mixtures of Naive Bayes Model

这个没有讲义,只能截图

对于naive bayes是文本分类,而由于这里的训练集是不知道y的,因此就是文本聚类问题
获得m个文本,每一个文本是n维向量,其中每维取{0,1}表明该word是否在文本中出现

而隐变量z,也是取值{0,1},表示分两类,那么z就符合伯努力分布

p(x|z),符合naive bayes分布

image

这里给出,E-step和M-step的公式

固然其中M-step是经过最大化P(x|z),求解出来的

image

 

其实想一想,EM和K-mean的基本思路是差很少的
首先对于数据集,选定特征后,是可分的,即若是把数据画出来,是能够看到明显汇集的

image

因此随意设定初值后,不断迭代,好比混合高斯,老是能够渐渐收敛到局部最优的,不一样于k-mean的是 EM能够给出具体的密度函数p(z|x) 对于隐变量z,其实K-mean,若是设k=2,即两类,至关于产生z取值{0,1}

相关文章
相关标签/搜索