《cha7EM算法.pdf》由会员分享,可在线阅读,更多相关《cha7EM算法.pdf(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法.第七章EM 算法第七章1 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .提纲EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法第七章2 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .主要内容EM 算法的步骤和原理几个特殊分布参数的 EM 算法(1). 两枚硬币出现正面概率的 EM 算法(2). 多项分布参数的 EM 算法(3). 正态分布参数 EM 估计混合模型的 EM 算法(1). 一般混合模型的 EM
2、算法(2). 高斯混合模型的 EM 算法第七章3 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .问题提出基于样本观测数据估计感兴趣的参数,常用的方法之一是通过极大化观测数据的对数似然函数,得到参数的估计。但是在有些情况下,得到的数据不是完整数据,还有一部分隐含数据没有观测到,或者说部分数据缺失。在很多情况下,不完整数据的极大似然函数不容易得到,无法直接极大化对数似然函数得到感兴趣的参数。EM 算法(Expectation-Maximization Algorithm)就是用来解决隐含数据存在情况下的参数估计问题。该算法基础和收敛有效性等问题在 Dem
3、pster、Laird 和 Rubin 在 1977 年的文章“Maximum likelihood from incomplete data via the EM algorithm”中给出了详细的阐述。第七章4 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .问题提出EM 算法的基本思想是:由于完整数据的极大似然函数中含有隐含数据,无法极大化该对数似然函数得到感兴趣参数。但是可以先基于观测到的不完全数据和上一步估计出的参数值,预测完整数据的对数似然函数,也就是 EM 算法的 E 步。极大化预测完整数据的对数似然函数,得到感兴趣参数的估计,此步称为
4、EM 算法的 M 步。E 步和 M 步反复迭代,直到估计参数基本无变化,算法收敛,得到最终的参数估计。第七章5 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理观测数据记为 X = x1,x2, ,xn,没有观测到的隐含数据记为 Y = y1,y2, ,yn, 完整数据记为 Z = (X,Y)。完整数据联合分布记为 p(X,Y;), 条件分布记为 p(Y|X;).基于完整数据的似然函数为 L(Z;) = p(Z;) = p(Y|X;)p(X;).第七章6 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 E
5、M 算法. .EM 算法的步骤和原理.EM 迭代算法. .E 步:记 (i1)表示第 (i 1) 步得到的参数的估计, 定义Q(,(i1)=E(logL(Z;)|X;(i1)=yYlogp(X,y|)p(y|X,(i1)dy,Y 为连续分布;yYlogp(X,y|)p(y|X,(i1),Y 为离散分布.关于 极大化 Q(,(i1),M 步:(i)= argmaxQ(,(i1).第七章7 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理如果基于观测数据 X = x1,x2, ,xn 得到极大似然估计,不需要采用 EM 算法得到参数的
6、估计。为什么 EM 算法得到的估计是合理的?或者 EM 算法得到的估计是否能近似观测数据的极大似然估计呢?第七章8 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理下面给出 EM 算法的合理性. 事实上,感兴趣的是观测数据的极大似然估计,即 = argmaxni=1logp(xi,),(1)这里 p(xi,) 是 xi的分布函数。如果式 (1) 很容易求解,则不需要采用 EM 算法。由于观测数据不完整,存在隐含数据,基于观测数据的极大似然估计不易直接求得。第七章9 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合
7、模型的 EM 算法. .EM 算法的步骤和原理引入潜变量 y 的分布 Q(y),即满足yQ(y) = 1,Q(y) 0.使用 Jensen 不等式 f(EX) E(f(X) (如果 f 是凹函数), 对式 (1)进行缩放ni=1logp(xi,)=ni=1logyQ(y)p(xi,y;)Q(y)ni=1yQ(y)logp(xi,y;)Q(y)根据 Jensen 不等式,等式成立,则有p(xi,y;)Q(y)= c.第七章10 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理又因为yQ(y) = 1, 所以yp(xi,y;) =yc
8、Q(y) = c.潜变量 y 的分布 Q(y) 此时为Q(y) =p(xi,y;)yp(xi,y;)= p(y|xi;).上述结论表明当 Q(y) 等于条件分布 p(y|xi;) 时, 可得到观测数据对数似然函数ni=1logp(yi;) 的最佳近似, 此时L()=ni=1logp(xi,) =ni=1yp(y|xi;)logp(xi,y;)p(y|xi;). (2)第七章11 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理我们通常关心 EM 算法能收敛吗?如果收敛,能收敛到全局最大值吗?对于迭代估计 (i), (i1),下面说
9、明L(i) L(i1), 也就是对数似然函数的值在迭代的过程中一直在增大。注意到ni=1logp(xi,y;) =ni=1logp(xi;) +ni=1logp(y|xi;).给定第 i 1 次的迭代估计值 (i1),对上式两边关于条件密度p(y | xi;(i1) 求期望。第七章12 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理注意到上式右侧第一项与潜变量 y 无关,可得L()=ni=1yp(y|xi;(i1)logp(xi,y;) ni=1yp(y|xi;(i1)logp(y|xi;)=Q(,(i1) V(,(i1).(3
10、)这里 Q(,(i1) 的定义与 EM 算法式的定义一致。EM 算法通过关于 最大化 Q(,(i1) 得到 (i),也就是(i)= argmaxQ(,(i1).第七章13 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理因此 Q(i),(i1) Q(i1),(i1), 以及对于任意的 ,V(,(i1) V(i1),(i1)=ni=1yp(y|xi;(i1)logp(y|xi;)p(y|xi;(i1)ni=1logyp(y|xi;(i1)p(y|xi;)p(y|xi;(i1)=0,其中第一个不等式是根据 Jensen 不等式。第七章
11、14 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .EM 算法的步骤和原理从而L(i)=Q(i),(i1) V(i),(i1)Q(i1),(i1) V(i1),(i1) = L(i1).说明 EM 算法得到的迭代估计满足使得对数似然函数的值一直增大。第七章15 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法假设有 A,B 两枚硬币,其中正面朝上的概率分别为 pA,pB,这两个参数是感兴趣的待估参数。设计 6 组试验, 每次实验投掷 5 次硬币,第 i 组试验结果为Xi= (
12、xi1,xi2,xi3,xi4,xi5)(i = 1, ,6),xij= 1 表示硬币出现正面, xij= 0 表示硬币出现反面。如果知道每一组实验结果 Xi是 A 硬币投的结果还是 B 硬币投的结果,也就是观测到 Yi, Yi= 1 表示 A 硬币投的结果,Yi= 0 表示 B 硬币投的结果。第七章16 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法基于完整数据 Zi= (Xi,Yi),i = 1,2, ,6 的对数似然函数为l(Z;pA,pB)=6k=1Yk(nklogpA+ (5 nk)log(1 pA)+(1
13、 Yk)(nklogpB+ (5 nk)log(1 pB) + const.这里 nk=5j=1xkj.第七章17 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法如果 Yi(i = 1,2, ,6) 可观测, 不难得到 pA=6k=1nkYk56k=1Yk, pB=6k=1nk(1 Yk)56k=1(1 Yk).也就是参数 pA,pB的估计,只需分别统计 A,B 硬币投的结果出现正面的次数,然后除以分别投的总次数。第七章18 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两
14、枚硬币出现正面概率的 EM 算法由于 Y = (Y1, ,Y6) 没有观测到,基于观测数据X = (X1, ,X6) 和 p(i1)A,p(i1)B,条件期望为Q(pA,pB;p(i1)A,p(i1)B) = E(l(Z;pA,pB)|X;p(i1)A,p(i1)B)=6k=1E(Yk|X;p(i1)A,p(i1)B)(nklogpA+ (5 nk)log(1 pA)+(1 E(Yk|X;p(i1)A,p(i1)B)(nklogpB+ (5 nk)log(1 pB)+c.第七章19 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的
15、 EM 算法关于 pA,pB, 极大化 Q(pA,pB;p(i1)A,p(i1)B), 可得p(i)A=6k=1nkE(Yk|X;p(i1)A,p(i1)B)55k=1E(Yk|X;p(i1)A,p(i1)B)p(i)B=6k=1nk(1 E(Yk|X;p(i1)A,p(i1)B)55k=1(1 E(Yk|X;p(i1)A,p(i1)B).第七章20 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法对 E(Yk|X;p(i1)A,p(i1)B), 不难推导可得E(Yk|X;p(i1)A,p(i1)B) = Cnk5nk
16、!(5 nk)!(p(i1)A)nk(1 p(i1)A)5nk/Cnk5nk!(5 nk)!(p(i1)A)nk(1 p(i1)A)5nk+Cnk5nk!(5 nk)!(p(i1)B)nk(1 p(i1)B)5nk.第七章21 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法.例. .假设观测到的数据为 X1= (1,1,1,0,1), X2= (0,1,0,1,1),X3= (1,0,1,1,0), X4= (0,0,1,1,1), X5= (1,0,1,0,1) andX6= (1,1,0,0,0), 用 EM 算
17、法估计 pA和 pB.E - function(nk, a, b)A - (choose(5, nk)/(factorial(nk)*factorial(5 - nk)* ank * (1 - a)(5 - nk)B - (choose(5, nk)/(factorial(nk)*factorial(5 - nk)* bnk * (1 - b)(5 - nk)E - A/(A + B)return(E)第七章22 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .两枚硬币出现正面概率的 EM 算法n - c(4,3,3,3,3,2)#观测数据max.it
18、er - 100#初值与最大循环数pa - c();pa1 - 0.6pb - c();pb1 - 0.4for (i in 1:max.iter)#迭代EY - E(n, pai, pbi)pai+1 - sum(n*EY)/(5*sum(EY)pbi+1 - sum(n*(1-EY)/(5*sum(1-EY)if(abs(pai+1 - pai) 1e-8 &abs(pbi+1 - pbi) 1e-8) break第七章23 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM 算法假设 x = (x1, ,xm) 服从多项分布,也
19、就是p(x|p1, ,pm) =n!x1!xm!px11 ,pxmm.如果 m = 4,(p1, ,p4) = (0.5 /2,/4,/4,0.5). 观测数据的数据为 x = (x1,x2,x34),这里 x34= x3+ x4, 感兴趣参数 的估计。潜变量 x3没有观测到,基于完整数据 z = (x,y),即(x1,x2,x3,x4), 对数极大似然函数为l(z;)=logL(z;)=x1log(122) + x2log(4) + x3log(4) + const.第七章24 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM 算
20、法基于观测到的数据和上次迭代估计 (i1),计算对数似然的条件期望,E(l(z;)|x;(i1) = E(logL(z;)|x,(i1)=x1log(122) + x2log(4) + E(x3|x,(i1)log(4) + const.下面计算 E(x3|x,(i1), 由于E(x3|x;(i1) =x3+x4y=0y p(y|x;(i1) =x3+x4y=0yp(x,y;(i1)p(x;(i1),(4)第七章25 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM 算法这里p(x,y;(i1) = p(x1,x2,y,x3+ x4
21、 y)=n!x1!x2!y!(x3+ x4 y)!(12(i1)2)x1(i1)4)x2(i1)4)y(12)x3+x4y;p(x;(i1) = p(x1,x2,x3+ x4)=n!x1!x2!(x3+ x4)!(12(i1)2)x1(i1)4)x2(i1)4+12)x3+x4.基于 p(x,y;(i1) 和 p(x;(i1) 的表达式,可得p(x,y;(i1)p(x;(i1)=(x3+ x4)!y!(x3+ x4 y)!(i1)4)y(12)x3+x4y/(i1)4+12)x3+x4,第七章26 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分
22、布参数的 EM 算法以及E(x3|x;(i1)=x3+x4y=0y(x3+ x4)!y!(x3+ x4 y)!(i1)4)y(12)x3+x4y/(i1)4+12)x3+x4=(x3+ x4)(i1)4/(i1)4+12) = (x3+ x4)(i1)(i1)+ 2.式 (4) 关于对数似然的条件期望进一步写为Q(,(i1) = E(l(z;)|x;(i1)=x1log(122) + x2log(4) + (x3+ x4)(i1)(i1)+ 2log(4) + const.第七章27 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM
23、 算法关于 极大化 Q(,(i1) 得到下次迭代 (i), 对 Q(,(i1)关于 求导可得Q(,(i1)=x11 +x2+E(x3|x;(i1)=x11 +x2+x3+ x4(i1)(i1)+ 2= 0.因此 =x2+ E(x3|x;(i1)x1+ x2+ E(x3|x;(i1).通过不断迭代,最终得到 的估计.第七章28 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM 算法如果数据完全观测到,也就是 x3被观测,则参数 的极大似然估计为 =x2+ x3x1+ x2+ x3.对比完全数据的极大似然估计 和 EM 算法第 i 次迭
24、代估计 (i), EM 算法本质上相当于把基于完整数据得到的极大似然估计量中没有观测到的数据,采用观测到数据和上次迭代估计(i1)预测。.例. .如果观测到的数据为 xobs= (x1,x2,x3+ x4)= (38,34,125),求参数的 EM 估计。第七章29 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .多项分布参数的 EM 算法#观测数据x1 - 38x2 - 34x34 - 125#初值与最大循环数max.iter - 100htheta - rep(0, max.iter); htheta1 - 0#迭代for (i in 1:max.
25、iter)hx3 - 0.25*x34*hthetai/(0.25*hthetai + 0.5)hthetai+1 - (x2 + hx3)/(x1 + x2 + hx3)if (abs(hthetai+1 - hthetai) 1e-8)break第七章30 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估计对来自正态总体 N(,2) 的完整数据 z = (x1,x2, ,xn),假设观测到数据 x = (x1, ,xm), 隐含数据为y = (xm+1, ,xn). 则基于完整数据 z 的的极大似然函数为L(z;,2) = (
26、122)n/2expnj=1(xj )222.相应的对数极大似然函数为l(z;,2) = logL(x;,2)=n2log2n2log2 122nj=1x2j+2nj=1xjn222.第七章31 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估计基于观测数据的条件对数似然为Q(,2;(i1),2(i1) = E(l(z;,2)|x;(i1),2(i1)=n2log2n2log2 122mj=1x2j+2mj=1xjn222122Enj=m+1x2j|x;(i1),2(i1)+2Enj=m+1xj|x;(i1),2(i1).第七章3
27、2 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估计对 Q(,2;(i1),2(i1) 关于 ,2求导可得Q(,2;(i1),2(i1)=12nj=1xj+12Enj=m+1xj|x;(i1),2(i1) n2= 0Q(,2;(i1),2(i1)2=n22+124nj=1x2j4nj=1xj+n224+124Enj=m+1x2j|x;(i1),2(i1) 4Enj=m+1xj|x;(i1),2(i1)=0.第七章33 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估
28、计所以第 i 次迭代估计 (i)为(i)=1nmj=1xj+ E(nj=m+1xj|x;(i1),2(i1)2(i)=1nmj=1x2j+ E(nj=m+1x2j|x;(i1),2(i1) (i)2.给定第 i 1 步的 (i1),2(i1),且未观测到的隐含数据和观测到的数据独立,则E(nj=m+1xj|x;(i1),2(i1) = (n m) (i1),E(nj=m+1x2j|x;(i1),2(i1) = (n m)( (i1)2+ 2(i1).若未观测的隐含数据和观测数据相关,则根据变量相关性计算E(nj=m+1xj|x;(i1),2(i1) 和E(nj=m+1x2j|x;(i1),2(
29、i1).第七章34 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估计.例. .设 z = (x1,x2, ,x1000)来自于正态总体 N(2,4),其中观测到的数据为 x = (x1, ,x600),未观测到的数据为y = (x600, ,x1000, 通过 EM 算法给出参数 ,2的估计。第七章35 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .正态分布参数 EM 估计set.seed(1) #生成数据n - 1000;m - 600 x - rnorm(n, mean = 2,
30、sd = 2)sx - sum(x1:m); sx2 - sum(x1:m2)max.iter - 100#最大循环数hmu - rep(0, max.iter)hsigma2 - rep(0, max.iter)hmu1 - 0;hsigma21 - 1#初值for (i in 1:max.iter)s1 - sx + (n - m)*hmuis2 - sx2 + (n - m)*(hmui2 + hsigma2i)hmui+1 - s1/nhsigma2i+1 - s2/n - hmui+12if(abs(hmui+1 - hmui) 1e-8& abs(hsigma2i+1 - hsig
31、ma2i) 1e-8) break第七章36 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计我们观测 n 个妇女的孩子个数,有 i(i = 0,1, ,6) 个孩子的妇女为 ni人, 则 n =6i=0ni. 观测数据如下表所示孩子个数0123456妇女人数n0n1n2n3n4n5n6假定结婚妇女生孩子的个数服从参数为 的泊松分布,感兴趣的参数是参数 和没有结婚妇女的概率 。第七章37 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计令 nA表示没有
32、结婚的妇女的个数,则 nB= n0 nA表示结婚妇女没有生孩子的人数. 观测数据为 x = (n0,n1, ,n6),如果隐含数据 y = nA观测到,很容易得到参数 (,) 的极大似然估计.以下根据 EM 算法估计 (,),基于完全数据 z = (x,y) 的似然函数为L(z;,)=(nA+ nB+ n1+ + n6)nA!nB!n1!n6!nAe(1 )nB6k=1kek!(1 )nk.第七章38 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计对数似然函数为l(z;,)=nAlog nB + nBlog(1 )+6k
33、=1nk + klog + log(1 ) + cost.基于观测数据 x 和上次迭代估计 (i1),(i1), 对数似然的条件期望为Q(,;(i1),(i1) = E(l(z;,)|x;(i1),(i1)=E(nA|x;(i1),(i1)log E(nB|x;(i1),(i1)+E(nB|x;(i1),(i1)log(1 ) +6x=1nk + klog + log(1 ) + cost.第七章39 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计对 Q(,;(i1),(i1) 关于 , 求导, 可得Q(,;(i1),(
34、i1)=E(nA|x;(i1),(i1)E(nB|x;(i1),(i1) + n1+ + n61 = 0Q(,;(i1),(i1)=E(nB|x;(i1),(i1) + n1+ + n6 +16k=1knk= 0.第七章40 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计根据上式不难得出第 i 次迭代结果(i)=E(nA|x;(i1),(i1)n,(i)=6k=1knkn E(nA|x;(i1),(i1).对于上式 E(nA|x;(i1),(i1), 通过推导,不难进一步化简得E(nA|x;(i1),(i1) =n0(i
35、1)(i1)+ (1 (i1)e(i1).按照上述算法反复迭代,得到参数 , 的 EM 估计。第七章41 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计.例. .假设观测到如下数据, 基于本节二项泊松混合模型,给出感兴趣参数 和 的 EM 估计孩子个数0123456妇女人数30625872841033342n0 - 3062;n1 - 587;n2 - 284;n3 - 103;n4 - 33;n5 - 4;n6 - 2N - n0 + n1 + n2 + n3 + n4 + n5 + n6n - c(n0,n1,n2,
36、n3,n4,n5,n6)sx - sum(c(0:6)*n)第七章42 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .二项泊松混合模型的 EM 估计#初值与最大循环数max.iter - 100hxi - c();hlambda - c()hxi1 - 0.5;hlambda1 - 1#迭代for (i in 1:max.iter)na - n0*hxii/(hxii + (1 - hxii)*exp(-hlambdai)hxii+1 - na/Nhlambdai+1 - sx/(N - na)if(abs(hxii+1 - hxii) 1e-8&
37、abs(hlambdai+1 - hlambdai) 1e-8)break第七章43 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法如果一个数据集是由 M 个不同总体组成,密度函数具有如下混合密度形式p(x;) =Mj=1jpj(x;j),这里,Mj=1j= 1, = (1,.,M,1,.,M).假定观测到的数据为 X = x1,x2, ,xN, 未观测到的数据为 Y = y1,y2, ,yN, 其中 yi 1, ,M 代表数据的来源,也就是:p(x | y = j;) = pj(x;j),p(y = j) = j.感兴趣的
38、参数为 .第七章44 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法记 zi= (xi,yi), 基于完全数据 Z = z1,z2, ,zN 的对数似然函数为l(Z;) = logL(Z;) =Nk=1logp(xk,yk;) =Nk=1logykpyk(xk;yk).基于观测数据 Z 和第 i 1 次迭代估计 (i1),可得对数似然的条件均值Q(;(i1) = E(l(Z;)|X;(i1) =Nk=1E(logykpyk(xk;yk)|X;(i1).第七章45 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法
39、混合模型的 EM 算法. .一般混合模型的 EM 算法根据条件期望的定义可得Q(;(i1) =yl(X,y;)p(y|X;(i1),基于 p(Y|X;(i1) =Nj=1p(yj| xj;(i1), 可得Q(;(i1) =yNk=1logykpyk(xk;yk)Nj=1p(yj| xj;(i1)=My1=1My2=1MyN=1Nk=1logykpyk(xk;yk)Nj=1p(yj| xj;(i1).第七章46 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法通过求和换序,Q(;(i1)=Nk=1(My1=1Myk1=1Myk+
40、1=1MyN=1Nj=1,j=kp(yj| xj;(i1)Myk=1logykpyk(xk;yk)p(yk| xk;(i1)=Nk=1Myk=1(My1=1Myk1=1Myk+1=1MyN=1Nj=1,j=kp(yj| xj;(i1)logykpyk(xk;yk)p(yk| xk;(i1).第七章47 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法令 yk= l, 进一步推导可得Q(;(i1)=Nk=1Ml=1Nj=1j=k(Myj=1p(yj| xj;(i1)loglpl(xk;l)p(l | xk;(i1)=Ml=1Nk
41、=1loglpl(xk;l)Nj=1j=k(Myj=1p(yj| xj;(i1)p(l | xk;(i1)注意到Myj=1p(yj|xj;(i1) = 1, 可得Q(;(i1)=Ml=1Nk=1loglpl(xk;l)p(l | xk;(i1)(5)第七章48 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法接下来计算 EM 算法的 M 步, 关于 极大化 Q(;(i1), 基于Ml=1l= 1 的限制, 引入拉格朗日乘子 , 求解如下方程。lQ(;(i1) + (Ml=1l 1) = 0,l = 1, ,M可得Nk=11lp
42、(l | xk;(i1)+ = 0,l = 1, ,M.Nk=1p(l | xk;(i1)+ l = 0,l = 1, ,M.第七章49 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .一般混合模型的 EM 算法因此Ml=1Nk=1p(l | xk;(i1)+ Ml=1l= 0 = N.参数 l的第 i 次迭代估计为(i)l=1NNk=1p(l | xk;(i1),l = 1,2, ,M.这里p(l | xi;(i1) =(i1)lpl(xi;(i1)l)Mj=1(i1)jpj(x;(i1)j).式 (5) 中, Q(;(i1) 关于 j求导得到 j第
43、 i 次迭代 (i)j,依赖于密度函数具体形式,这里就不展开讨论。第七章50 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法本小节主要考虑 d 维的高斯混合模型的 EM 估计, 对于 d 维均值为 j,方差为 j的正态分布, 设密度函数为pj(x;j,j) =1(2)d/2|j|1/2exp12(x j)T1j(x j).M 个来源的高斯混合数据的密度函数为p(x;1,1, ,M,M) =Ml=1lpl(x;l,l),j 0,j= 1令 j= (j,j), = (1, ,M,1, ,M).上式密度函数可写为 p(x;) =M
44、l=1lpl(x;l).第七章51 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法假定观测到的数据为 X = x1,x2, ,xN, 未观测到的数据为 Y = y1,y2, ,yN, 其中 yi 1, ,M 代表数据的来源.感兴趣的参数为 .通过一般混合模型的 EM 算法可知,对于给定第 i 1 次迭代 (i1), 只需要对下式关于 求最大,Q(;(i1) =Ml=1Nk=1loglpl(xk;l)p(l | xk;(i1)=Ml=1Nk=1loglp(l | xk;(i1)+Ml=1Nk=1logpl(xk;l)p(l |
45、 xk;(i1).(6)第七章52 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法在一般混合模型的 EM 算法已经得到 l的第 i 次迭代(i1)l. 接下来只考虑 Q(;(i1) 关于 l= (l,l) 的导数.注意到式 (6) 只有第二项与 l有关,也就是Ml=1Nk=1logpl(xk;l)p(l | xk;(i1)=Ml=1Nk=1(n2log2 12log|l|12(xk l)T1l(xk l)p(l | xk,(i1).第七章53 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算
46、法. .高斯混合模型的 EM 算法通过推导可得Q(;(i1)l=Nk=1(1lxk 1ll)p(l | xk,(i1) = 0;基于上式,可得 (i),(i)=Nk=1xkp(l | xk,(i1)Nk=1p(l | xk,(i1).第七章54 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法注意到 0.5log|l| = 0.5log|l|1= 0.5log|1|,以及关于对称阵 A = (ast),令 A1= (st),则 log|A|ast=2stifs = tstifs = t,第七章55 / 62.EM 算法的步骤和
47、原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法通过推导可得2(i)=Nk=1(xk (i)l)(xk (i)l)Tp(l | xk,(i1)Nk=1p(l | xk,(i1).综合以上结果,给定第 (i 1) 步的估计 (i1),下一步的 (i)为(i)l=1NNk=1p(l | xk;(i1)(i)=Nk=1xkp(l | xk,(i1)Nk=1p(l | xk,(i1)2(i)=Nk=1(xk (i)l)(xk (i)l)Tp(l | xk,(i1)Nk=1p(l | xk,(i1).第七章56 / 62.EM 算法的步骤和原理几个特殊分布参数的
48、EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法.例. .假定 x 服从如下混合分布p(x;) =2j=1jpj(x;j,j),这里 1= 0.3,2= 0.7,1= 1,21= 3,2= 10,22= 1, 以及pj(x|j,j)=12jexp(xj)222j).假设观测到的数据为 X = (x1,x2, ,xN),试给出参数 = (1,2,1,21,2,22) 的 EM 估计。第七章57 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的 EM 算法初始值 (0)1= 0.4、(0)2= 0.6、(0)1= 1.2、(0
49、)2= 2.3、(0)1= 2、(0)2= 3。#赋初值alpha10-0.4alpha20-0.6mu10-1.2sigma10-2mu20-2.3sigma20-3count-0#函数准备p1_x_thetaG-function(alpha1,alpha2,xi,mu1,mu2,sigma1,sigma2)(alpha1*dnorm(xi,mu1,sigma1)/(alpha1*dnorm(xi,mu1,sigma1)+alpha2*dnorm(xi,mu2,sigma2)第七章58 / 62.EM 算法的步骤和原理几个特殊分布参数的 EM 算法混合模型的 EM 算法. .高斯混合模型的
50、EM 算法V_p1_x_thetaG-Vectorize(p1_x_thetaG,vectorize.args=xi)p2_x_thetaG-function(alpha1,alpha2,xi,mu1,mu2,sigma1,sigma2)(alpha2*dnorm(xi,mu2,sigma2)/(alpha1*dnorm(xi,mu1,sigma1)+alpha2*dnorm(xi,mu2,sigma2)V_p2_x_thetaG-Vectorize(p2_x_thetaG,vectorize.args=xi)#迭代循环while(count500)count-count+1alpha11-1