机器学习 cs229学习笔记3 EM alogrithm Mixture of Gaussians revisited

               

(all is based on the stanford's open-course cs229 lecture 13)html

接上次笔记 机器学习 cs229学习笔记2 (k-means,EM & Mixture of Gaussians)web

如何肯定EM算法converge呢?算法

固然是比较先后两次迭代的似然函数的大小,若是相差极小,则能够证实算法已经converge了机器学习

假设一次迭代开始时的参数是θ(t),迭代结束时的参数是θ(t+1)svg

由于咱们以前对于Qi的选择保证了Jensen不等式的等号成立,因此对于θ(t)的似然函数就是函数


θ(t+1)的似然函数则大于上式,缘由很简单,由于θ(t+1)的取值是经过下图获得的学习


上面说明了EM算法是converge的spa

说实话:我感受EM算法就是一种最大化似然函数的一个方法,由于原似然函数可能很难经过计算求出来.net

             而EM取巧了,经过Jensen不等式,每次经过最大化一个下界,一次次逼近最大值。而这个下界每每很好求得。视频

      也不知道对不对,还请知道的指教一下

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Mixture Gaussians revisted:

这部分不想讲太多,其实就是反过去用EM算法的通式去推导出以前那个EM算法的特例

你们能够去看看note,须要的话就去看看note,讲得仍是很详细的

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

这节课的视频其实很大一部分用来说了EM算法的一些应用的推导,好比文本分类之类的

过程大致类似,下来以后我仍是得本身思考着试图推一下,这里就不写太多了

而后讲到的就是Factor analysis,这是这节课的主要内容了

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Factor analysis:

引入:

咱们在执行EM formixture of gaussians的时候,绝大多数状况下样例数必定会比数据的维度大,即sample m >> dimension n

可是若是这个条件不知足的话(这是有可能的,好比文本分类的时候)

这时就会出现异常状况,若是n >> m,那么混合高斯函数的协方差矩阵∑就会变成奇异矩阵(singular),那么∑的逆矩阵就不存在

也就是说(1/||^)(1/2)就会变成1/0,而这些都是计算时须要的

那么能够想到的方法之一就是对∑进行严格要求

1.严格要求∑为对角矩阵

  这样multivariate gaussian的分布图像的等高线就会是一个圆形(二维中,若是是更高维则是高维中的sphere)

这样就会使算法失去一些有用的特性,一样也会出现一些参数上的方差为0而造成奇异矩阵

2.使∑为单位矩阵的倍数,倍数为全部样例的全部参数的方差之和

也就是在1的基础上进行更严格的要求,谨防一些参数上的方差为0而造成奇异矩阵

越严格要求∑,算法就会越死板,于是咱们须要Factor analysis

在此以前先介绍一下多元高斯函数的边缘几率和条件几率

多元高斯函数的边缘几率和条件几率(待自证)

这里就直接给出一些公式了,由于我本身尚未推出来,andrew ng也是直接给的公式,等我看看再来补充这里吧(数学方面的确薄弱了些,准备增强)

                             

                 

其中,,x2类推

而且:

等我本身看懂再回来给出推导过程吧。。。。。。。。。。。。。(证实见此

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Factor analysis

正文:factor analysis model 究竟是啥呢

其实就是用更多的参数来捕获(capture)数据中间的关联关系,经过这些与普通混合高斯不一样的参数来使协方差矩阵不至于奇异

那么首先给出下面推导须要的一些定义:


注意前两个式子 等价于 后面三个式子

其中z是隐含变量(latent variable)其实就是以前的y,也就是以前的Qi或者说w。

z是一个k维向量,k是混合高斯的个数(这里有问题,待修改),μ是一个n维向量,∧是一个n*k的矩阵,Ψ是一个n*n的对角矩阵

这个过程就是怎么弄的呢:1.想象x是由z生成的,将x映射到k维的仿射(affine)空间

2.加上ε的noise

也就是说将k维中z上的点映射到n维的空间中,而咱们获得的数据x是n维的,因此若是获得了数据,则能够用这样一个model来fit数据

下面是一个实例:其中黄色的点就是咱们获得的数据,而黑色的圆圈就是加上的noisy

factor analysis model就是给出黄色的点后咱们试图去获得一个黑色的model,注意μ=0


给出这些定义以后,咱们就能够获得:


经过上面多远高斯函数的式子,一层层计算就能够将上式演化成:(这部分推导很简单,就是将上面那个cov(x)的各项计算出来,由于其中的每一个部分给的比较清楚,因此这部分略过了)


那么这样一个混合高斯的log似然函数就能够根据高斯函数的定义获得


显而易见,这货很差最大化,怎么最大化呢,固然是EM算法啦,这部分会在下节课中讲到。that's all

呼~~累死