EM算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EM算法
EM算法--应用到三个模型:高斯混合模型
,混合朴素贝叶斯模型,因子分析模型
判别模型求的是条件概率p(y|x),
生成模型求的是联合概率p(x,y)
.即= p(x|y) ? p(y)
常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。

常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted
Boltzmann Machine等。

所以这里说的高斯混合模型,朴素贝叶斯模型都是求p(x,y)联合概率的。

(下面推导会见原因)套路小结:凡是生产模型,目的都是求出联合概率表达式,然后对联合概率表达式里的各个参数再进行估计,求出其表达式。

下面的EM算法,GMM等三个模型都是做这同一件事:设法求出联合概率,然后对出现的参数进行估计。

一、EM算法:
作用是进行参数估计。

应用:(因为是无监督,所以一般应用在聚类上,也用在HMM参数估计上)所以凡是有EM算法的,一定是无监督学习.因为EM是对参数聚集
给定训练样本是高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 样例独立,
我们想要知道每个样例隐含的类别z,使是p(x,z)最大,(即如果将样本
x(i)看作观察值,
参数估计问题,)
故p(x,z)最大似然估计是:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
所以可见用到EM算法的模型(高斯混合模型,朴素贝叶斯模型)都是求p(x,y)联合概率,为生成模型。

对上面公式,直接求θ一般比较困难,因为有隐藏变量z存在,但是一般确定了z后,求解就容易了。

EM是一种解决存在隐含变量优化问题的有效方法。

竟然不能直接最大化?(θ),我们可建立?的下界(E步),再优化下界(M步),见下图第三步,取的就是下界
解释上式:
对于每一个样例i,让Qi表示该样例隐含变量z
的某种分布,Qi满足的条件是(如果z 是连续性的,那么Qi是概率密度函数(因子分析模型就是如此),需要将求和符号换成积分符号即:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">因子分析模型是如此,这个会用在EM算法的M步求。

比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。

上总式第1到第2步是分子分母同乘一个数,
第2到3步是:用了jasen不等式:高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> (凸函数图形上表示反为凹函数,记住。


如图:高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 。

因为第2步log是凹函数
>=
E[f(x)].这样就完成了第3步(详情见对应讲义。


至此推导完上面3步公式,下面所有模型都是对上面第3步公式进行参数估计的!!!
下面对第三步的Q(z)进行推导:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">(见讲义)
所以Q(Z)最终表示:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,其中z只受参数θ影响。

所以EM算法:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(承上启下:在m步中,最终是对参数θ进行估计,而这一步具体到高斯混合模型,则θ有三个参数:mu,phi,sigma代替,即高斯混合模型要推导三个参数,下面会讲)
至此,这就是EM算法所有推导,EM算法推导也只能推导这些步,具体再将这些公式推导下去,就要结合模型了。

总结:
如果将样本看作观察值,潜在类别看作是隐藏变量,
那么聚类问题也就是参数估计问题,只不过聚类问题中参数分为隐含类别变量和其他参数。

对应到EM上,E步估计隐含变量,M步估计其他参数,交替将极值推向最大。

例子:在Mitchell的Machine
Learning书中也举了一个EM应用的例子,将班上学生的身高都放在一起,
身高的高斯分布组成。

因此变成了如何估计每个样例是男生还是女生,然后在确定男女生情
况下,如何估计均值和方差,里面也给出了公式。

二、混合高斯模型:
将EM算法融到高斯混合模型,将上面EM算法的E步、M步的公式再具体推导下去。

整个模型简单描述为:
对于每个样例高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,我们先从k个类别中按多项式分布抽取一个高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,
然后根据高斯混合模型,混合朴素贝叶斯模型,因子分析模型">所对应的
k 个多值高斯分布中的一个,生成样例高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,整个过程称作混合高斯模型。

(即对样例x,最终目的是生成样例x。

(??)即对样例x,从k个类别抽取一个z,从根据z生成x。


特别地,混合高斯模型的(1)隐含类别标签高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> ,被认为满足多项式分布,即高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(这里高斯混合模型,混合朴素贝叶斯模型,因子分析模型">只受?参数(即phi)影响)
(2)样例高斯混合模型,混合朴素贝叶斯模型,因子分析模型">被认为满足高斯分布,即高斯混合模型,混合朴素贝叶斯模型,因子分析模
Σ分别为样例x的均值和协方差)
类型
所以上面(1)(2)可知混合高斯模型中,这里的高斯混合模型,混合朴素贝叶斯模型,因子分析模型">仍是隐含随机变量。

模型细化多了三个变量?,μ和Σ。

(即是phi,mu,sigma). 其中?j就是样本类别中高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> =
j的比率。

μj是类别为j 的样本特征均值,Σj是类别为j
的样例的特征的协方差矩阵(Σj是一个矩阵!!)。

所以由上面(1)(2)合并得,最大似然估计p(x,
z),对数化后如下:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(对比一、EM算法里的总式:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,只是参数θ由原化成三个?,μ和Σ)
注意第二步有两个迭加号。

第二个迭加号是z(i)=1
直到k个类别。

z只有k个类别。

所以混合高斯模型:
从EM算法步骤的高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 变成:高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> (其中M步三个参数的右边公式在下面会进行推导。

这里直接先给出参数结果。

)1. E步:每个样例i的隐含类别z(i)为j的概率
可以通过条件概率计算得到。


高斯混合模型,混合朴素贝叶斯模型,因子分析模型">高斯混
(这里贝叶斯公式,分子是z=j一种类别情况,分母是z={1~k}k中类别的累加)
1)对上式的分子第一项:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">(由上面加黄色背景段文字可知)服从高斯分布:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,
故高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> = 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">。

(其中Σ即是高斯混合模型,混合朴素贝叶斯模型,因子分析模型">)2)对(E)式分子第二项高斯混合模型,混合朴素贝叶斯模型,因子分析模型">(又上面可知)
服从多项式分布:高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
所以分子直接代入即可,所以高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 可以求得。

2.M步:先给出最终结果为:高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> ,推导如下:
下面对三个参数phi,mu,sigma(?,μ和Σ)分别进行求导:
(i)对μi
求导得(固定i,Σi):
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(ii)对i求导(固定μi,Σi):高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
因为?i是
隐性随机变量z的多项式分布概率值,又有约束条件高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
又由上面(M)步公式:
(iii)Σ的推导:
也类似,不过稍微复杂一些,毕竟是矩阵。

结果在之前的混合高斯模型中已经给出。

3.迭代:对上面E,M步进行迭代,最后一定会收敛(证明见讲义)
如图,最终收敛成2个类,这里的样例收敛于椭圆,原因是高斯分布的二维几何图形是一个椭圆,(具体几何图形见下面因子分析,有详解)
拓展:
混合高斯模型GMM与K-means比较:
相同点:都是可用于聚类的算法;都需要指定K值。

不同点:对GMM来说,引入了概率;GMM可以给出一个样本属于某类的概率是多少。

所以高斯混合模型既可以做聚类,也可做概率密度估计三、混合朴素贝叶斯模型
混合高斯的例子:文本聚类:
要对一系列的文本聚类成若干主题。

(用svm写文本分类是最好的)怎样在文本新闻问题用到EM算法呢?
----->混合朴素贝叶斯模型。

混合朴素贝叶斯模型有2个:多值伯努利事件模型(文本聚类就是用此);多项式事件模型。

模型描述为:
因子分析模型"> ,
每个文本高斯混合模型,混合朴素贝叶斯模型,因子分析模型">属于(0,1)^n。

即每个文本是n维
0或1的向量。

故高斯混合模型,混合朴素贝叶斯模型,因子分析模型">=
{ wordj 是否出现在文本i 里}
我们要对高斯混合模型,混合朴素贝叶斯模型,因子分析模型">(值是0或1)
进行建模,高斯混合模型,混合朴素贝叶斯模型,因子分析模型">是隐
含随机变量,这里取两个值:2个聚类。

所以对混合贝叶斯模型,假设高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 服从参数有伯努利分布(两点分布),即:高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 图中x换成即可)。

故每个文本按某概率属于聚类1或者聚类2
同高斯混合模型,混合贝叶斯模型的联合概率是:

由贝叶斯公式可知:
p(高斯混合模型,混合朴素贝叶斯模型,因子分析模型">|高斯混合模型,混合朴素贝叶斯模型,因子分析模型">)
= 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">p(高斯混合模型,混合朴素贝叶斯模型,因子分析模型">| 高斯混合模型,混合朴素
贝叶斯模型,因子分析模型">)
(i)
1 |高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> =
0) = 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(ii)
把上面的z全部换成y,就得到常见的朴素贝叶斯公式:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 一般会前面两个等式右边的x=1,或省去=1,即写成i|y=1
= p(xi | y =1)
i|y=0
= p(xi | y =0) ,默认x取了1
其中p(y=1)表示类别1(例如类别1表示垃圾邮件)的在所有文本的概率。

这里xi表示一个单词,取值只有0或者1,表示出现在文本里或者没有出现。

EM算法步骤:
1.E步:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型"> 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">这里三个参数phi,mu,sigma,改成高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,高斯混合模型,混合朴素贝叶斯模型,因子分析模型">,与?j|z
将上面(i)(ii)式带入即可求得
2.M步:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">对比贝叶斯原公式:
高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
这里Wi表示文本来自于类1,分子Σ表示:类1且包含词j的文档个数,分布表示类1的文档总数。

所以全式表示:类1包含词j的比率。

EM算法不能做出绝对的假设0或者1,所以只能用Wi 表示,最终Wi的值会靠近0或1,在数值上与0或1无分别。

高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
= 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
(分子的横斜是多余的,忽略)
全式表示:类0包含词j的比率
j|z
= 高斯混合模型,混合朴素贝叶斯模型,因子分析模型">
3.迭代上面12步骤,收敛,求出参数估计,带回联合概率,将联合概率排序,由联合概率最高值
,可得知哪个文本是输入哪个类了。

相关文档
最新文档