网易公开课,第12,13课
notes,7a, 7b,8html
从这章开始,介绍无监督的算法
对于无监督,固然首先想到k means, 最典型也最简单,有须要直接看7a的讲义算法
Mixtures of Gaussiansdom
若是要理解Mixtures of Gaussians,那先回去复习一下Gaussians Discriminant Analysis,高斯判别分析函数
首先高斯判别分析是生成算法, 学习
因此不会直接拟合p(y|x), 而是拟合p(x|y)p(y), 即p(x,y)优化
p(y)符合伯努力分布,若是是多元分类,即多项式分布
p(x|y)符合多项高斯分布spa
这个问题就解了blog
那么对于混合高斯,区别只是,对于一系列数据点,y是未知的,即非监督
下面看看形式化的定义,get
既然y是未知,因此换个名字,z,隐随机变量(latent random variables, meaning that they’re hidden/unobserved.)
z符合多项式分布,参数φj表示z=j的几率,因此φ必定>=0, 而且全部φ的和为1
x|z,符合多项高斯分布
和高斯判别分析其实,只是把y替换成z,表示z是未知,不可见的
而且 也是每一个多项高斯分布都不一样的,这点和高斯判别也有些不同
那么它的最大似然估计为,
最大似然时,之因此只考虑x,没有像高斯判别那样考虑p(x, y),是由于y不可见
可是怎么理解?
能够想象一维数据,有不少数据点,分别表明多个高斯分布混合着一块儿
而高斯分布必定是中间的点比较密集,这里的p(x)会比较高
假设咱们的数据点是有表明性的,因此拟合出p(x)高的高斯分布,会更合理一些
对于这个如何求解?
直接用梯度降低很难求解,由于在log里面求和。。。求导试试看
固然这里若是z已知,那么就很简单,直接变成高斯判别分析问题,可是问题如今z未知。
解决这个问题的方法,就是EM算法,Expectation Maximization Algorithm
这个算法其实思路很简单,可是如何推导和证实他的收敛和有效,比较复杂
因此先看看思路和实现,再来看推导
思路很简单,既然不知道z,而且若是知道就能够解这个问题,那么咱们就先随便猜z,而后再迭代
具体以下,
E步骤,咱们任意初始化参数 ,就能够算出每一个xi对应的zi,其实只要算出上面的这个概念分布就能够
具体算的公式以下,
M步骤,
用上面猜的z来从新计算参数,这里看到为什么只要算出w就ok,由于就已经足够算出新的参数
至于为什么是这个公式,由于从上面高斯判别分析,能够获得,
只是简单的把部分替换成w
经过不停的E,M步骤的迭代,最终必定能够收敛到局部最优,和k-means同样,能够多试些初始值,来找到全局最优
可是为什么这么简单的方法会有效,如何理解EM?继续
The EM algorithm
上面看到使用EM来拟合混合高斯问题,但这只是EM的一个特例
这章会推导出EM的通常形式,他能够解决各类含有隐变量的预估问题(estimation problems with latent variables.)
Jensen's inequality
先介绍一下Jensen不等式
首先经过下面的图理解一下,当f是凸函数的时候
E[f(x)] >= f(E[x])
对于凸函数,若是x是随机变量,分布均匀,那么x的均值必定比较接近谷底,因此这个不等式必定成立的
当f是严格凸函数的时候,即 时,普通凸函数,二阶导数可能为0,好比某一段为直线
若是要E[f(x)] = f(E[x]),当且仅当 x = E[x], 即x是个常量
须要注意,这个不等式对于concave,凹函数也是知足的,但不等式的方向相反
EM algorithm
下面来看看EM算法,
对于m个独立的训练数据点,似然函数以下,
这里是通用形式,因此参数就是 ,这里没有假设z和x|z的分布,能够是任意分布
解的思路,
E-step, construct a lower-bound on
先随便初始化参数,构建这个分布的下界,即最差的case
而后经过下界的分布,获得z
M-step, optimize that lower-bound
用E-step获得的z来最优化参数
以下图,在迭代过程当中,下界的分布会不断的逼近真实分布
首先,假设Q为z的某种分布,Q(zi)为zi出现的几率,那么有 ,而且Q(zi)>=0
而后为了使用Jensen不等式,对(1)分子分母同时乘上Q(zi),这样就产生了指望E
先看下指望的定义,
那么对应于上面的公式,其中
因此,
再来看Jensen不等式,E[f(x)] >= f(E[x]),其中f就是log,因此获得上面(3)
咱们须要在M-step中去最优化这个下界,但问题是如今Q分布尚未肯定,如何肯定哪一种Q分布会最好
咱们虽然给出在参数时的下界,可是咱们但愿这个下界是能够尽可能逼近
的,因此但愿(3)中最好能够取到等式,这样下界就等于
这时候再看Jensen不等式中,对于=取值的条件,即,
因为,因此让分子和分母对全部的z求和,应该仍是等于c,好比2+4 /1+2,仍然为2,获得
因此获得Q的分布,就是z的后验几率
因此,最终获得的general EM算法为,
能够对比一下,以前混合高斯的EM,体会一下特例和通用的差异
那么这个算法是收敛的吗?即证实下面的式子,第t+1次迭代的>=第t次迭代
过程以下,
(5)由于在M-step,要在固定Q状况下,最优化,因此优化完,必定比原来的
要大
(6)由于在取下界的时候,选择Q使得
因此得证
EM和k-means都是必定会收敛到局部最优的
从另一个角度来看EM,实际上是一种坐标上升算法,
Mixture of Gaussians revisited
看完通用的EM算法,再会过头来看看混合高斯算法,应该会更清晰一些
对于E-step很简单,
后面的求解过程就是分别对,,求导而后求解,就能够获得上面的已经列出的公式,具体过程能够参考讲义,这里就不列了
文本聚类- Mixtures of Naive Bayes Model
这个没有讲义,只能截图
对于naive bayes是文本分类,而由于这里的训练集是不知道y的,因此就是文本聚类问题
获得m个文本,每一个文本是n维向量,其中每维取{0,1}表明该word是否在文本中出现
而隐变量z,也是取值{0,1},表示分两类,那么z就符合伯努力分布
p(x|z),符合naive bayes分布
这里给出,E-step和M-step的公式
固然其中M-step是经过最大化P(x|z),求解出来的
其实想一想,EM和K-mean的基本思路是差很少的
首先对于数据集,选定特征后,是可分的,即若是把数据画出来,是能够看到明显汇集的
因此随意设定初值后,不断迭代,好比混合高斯,老是能够渐渐收敛到局部最优的,不一样于k-mean的是 EM能够给出具体的密度函数p(z|x) 对于隐变量z,其实K-mean,若是设k=2,即两类,至关于产生z取值{0,1}