首页 EM算法在高斯混合模型中应用matlab

EM算法在高斯混合模型中应用matlab

举报
开通vip

EM算法在高斯混合模型中应用matlabEM算法在高斯混合模型中应用matlab EM算法及其在高斯混合模型中的应用 EM算法在高斯混合模型中的应用 1.定义 ,对于一个随机信号生成器,假设他的模型参数为,我们能观测到的数据输出为X,不能观测到的数据输出为Y,且随机系统模型结构的概率密度函数为 pxy(,|), (1) 能够观测到的一部分数据输出数据,模型的另一部分输出数据 {,,...,}xxx12N ,未知,模型的参数也未知。EM算法就是要求我们从观测数据中估{,,...,}xxx12N ,计出参数。 2.EM算法的描述 假设每一对随...

EM算法在高斯混合模型中应用matlab
EM算法在高斯混合模型中应用matlab EM算法及其在高斯混合模型中的应用 EM算法在高斯混合模型中的应用 1.定义 ,对于一个随机信号生成器,假设他的模型 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 为,我们能观测到的数据输出为X,不能观测到的数据输出为Y,且随机系统模型结构的概率密度函数为 pxy(,|), (1) 能够观测到的一部分数据输出数据,模型的另一部分输出数据 {,,...,}xxx12N ,未知,模型的参数也未知。EM算法就是要求我们从观测数据中估{,,...,}xxx12N ,计出参数。 2.EM算法的描述 假设每一对随机系统的输出样本对于不同的n相互独立,这样当(,)xynn pxy(,,),pxy(,,),,x和y都已知的情况下,概率也已知。未观测的输出y的概率 ,。 分布也属于待求参数 根据独立性假设有: N pxypxy(,|)(,|),,, (2) ,nn,1n 3.EM算法的基本思路 基本问题是求解下面的方程的解: ,,,argmax(,|)pxy (3) pxy(,|),,由于X是确定量,Y是未知的,因此即使给定了,也无法求得的值,因此我们只能退一步求: ,,,argmax(|)px (4) 其中 pxpxypypxy(|)(,|)[(|),(|,)],,,,,, (5) ,,yYyY,, pxy(|,), 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示考虑了未知数据y的所有可能的取值Y后对求平均值。 最后根据log函数的单调性得到(4)的等效形式: ,,,argmaxlog(|)px (6) k,对于(6)给出的最优化问题,考虑用下面的递推算法解决,即:先给定一个估值 kk,1k,,并计算,然后更新得到并且有 px(|), kk,1 (7) log(|)log(|)pxpx,,, log(|)log[(|)(|,)]pxpypxy,,,,,yY, pypxy|(|,),,,,,,k,,log(|,)pyx,,,kyY,pyx(|,),,, (8) ,,,,pypxy(|)(|,),,k,,pyx(|,)log,,,,,kyY,pyx(|,),,,,, k,,,B(,) kk其中,等号在时成立,即: B(,),, kkk (9) Bpx(,)log(|),,,, EM算法及其在高斯混合模型中的应用 klog(|)px,于是对的递推算法(7)可通过进行,步骤为: B(,),, k,1) 令k=0,先给出估值 k,1kkkk,1,2) 然后找出满足 (10) BB(,)(,),,,,,3) k更新为k+1并返回步骤2)直到收敛 kk,1令 (11) ,,,,argmax(,)B 处理后 kk,1,,,,argmax(,)B ,,,,pypxy(|)(|,),,k,,argmax(|,)logpyx,,,,,kyY,pyx(|,),,,,, kkk,,,,,,,argmax(|,)log(|)(|,)(|,)log(|,)Pyxpypxypyxpyx (12) ,,,,,yY, k,,,,argmax(|,)log(|)(|,)pyxpypxy,,,,,yY, k,,,argmax(,)C 其中 kk (13) Cpyxpypxy(,)(|,)log(|)(|,),,,,,,,,,,,,yY 4.EM算法与高斯混合模型 在随机系统模型中,假设,是通道的随机信号生成器的概率密度函数的mm pym(),参数,是选中通道的概率。记为。 amm假设个随机信号生成器和通道选择随机生成器是相互独立的,从通道Mm 输出的数据的概率是: x apx(|), (14) mmm 不考虑通信信息,输出的概率为: x M pxapx(|)(|),,, (15) ,mmm,1m 其中: ,:是第个通道随机信号生成器的参数。 mm ,,,a :参数集合。 ,,mmmM,1,2...,观测数据为一批随机产生的输出信号,并且每个输出都是相互独立的,而每 个输出来自哪个通道不可测。于是系统模型参数估计问题就变为通过有限的输出 ,,(1,2,...,)amM,{,,...,}xxx样本估计M个通道参数. ,,mm12N k应用(12)求解,其中可以简化为: C(,),, MNMNkkkCapmxpxpmx(,)log()(|,)log((|))(|,),,,,,,,,,,,mnmmmn(16) mnmn,,,,1111 kk,,,,,,CC(,)(,)12 其中: EM算法及其在高斯混合模型中的应用 MNkkCapmx(,)log()(|,),,,, ,,1mn,,11mn MNkk Cpxpmx(,)log((|))(|,),,,,,,,2mmmn,,11mn 这样我们把和分别放在两项里面,他们不相关,可以独立考虑。 apmm k在中应用约束条件: C(,),, M a,1 ,m,1m 用拉格朗日乘子优化得到: am N1,1kk apmx,,(|,),mnN,1n k,1上式的含义是,选中号通道的概率估计是每个观测数据来自于通xammnm k,道的条件概率(根据上一次估值估算)的平均。其中的通过下式pmx(|,),n得出。 kapx(|),kmmnm,, pmx(|,)nMkapx(|),''',nmmm,1mk中的的优化取决于分布函数的类型,对于为高斯分,px(|),C(,),,2mmmm布时, ,,,,, ,,mmm 其中是分布的均值,是方差。再经过推导,有: ,,mm N1kk,1apmx,,(|,) ? ,mnN,1n Nkxpmx(|,),,nnk,1n,1,, , ? mNkpmx(|,),,nn,1 1/2N,,,kk12pmxx(|,)||,,,,nnm,,,k1,n1,, =,mNk,,pmx(|,),,n,,,n1,, ? k,,,通道参数得更新可以看作是对x的加权,加权系数pmx(|,),m,,mmnm k,可以看成是根据上一次的参数估计算出来得x率属于通道的概率。 mn ,最后,上面的EM算法可能收敛到局部极大点,因此需要选择多个参数的初 px(|),px(|),始值进行迭代计算,并选择使得最大的解,最大的解可由下式算出: EM算法及其在高斯混合模型中的应用 pxpypxy(|)(|)(|,),,,,,,,yY, NMMM ,, ?,,apx(|),,,,mnmnm,,111mmm,,,1n,12N NM,,,apx(|),,,mnm,,11m,n,,, 5.EM算法在matlab中的实现 利用上面推导出的公式???,我们以二个一维的高斯分布(,)来NN12 验证EM算法的性能,首先用二个一维的高斯分布来建立一个高斯混合模型。 NH假设: 22 , NN (,),,NN (,),,111222 NNN,,,,H1122 其中与为混合系数,且有,我们要用EM算法估计混合系数和,,,,,,12112 22各一维高斯分布的均值和方差。并将利用EM算法估计出的(,,,,,),,,,,,121212 值与真实值做比较,就可以得到该算法的性能。 22首先我们取的真实值为(0.4,0.6,1,2,0.25,0.36) (,,,,,),,,,,,121212 这样我们得到一个混合高斯分布,他的密度函数为,然后产生1000个服从NH的分布的观测样本点。接下来要做的就是对这1000个样本点用EM算法进行处NH 22理,来估计出一组的值。 (,,,,,),,,,,,121212 22在使用EM算法时,要首先给设定一组初值 (,,,,,),,,,,,121212 22这里假设初值为=0.3,=0.7,0.8,1.8,0.2,0.25 ,,,,,,,,,,211212Matlab具体程序如下: Y=zeros(1,10000); for i=1:10000 if rand(1)>0.3 Y(i)=normrnd(2,sqrt(0.36),1,1); else Y(i)=normrnd(1,sqrt(0.25),1,1); end end %高斯混合模型 A=[0.3 0.7]; %设置参数 的初值 ,M=[0.8 1.8]; %设置均值 的初值 , 2S=[0.2 0.25]; %设置方差 的初值 ,for n=1:1000 for j=1:2 a3=0; a4=0; a5=0; for k=1:10000 a1=0; for t=1:2 a1=A(t)*1/sqrt(2*pi*S(t))*exp(-(Y(k)-M(t))^2/(2*S(t)))+a1; EM算法及其在高斯混合模型中的应用 end f= A(j) * 1/sqrt(2*pi*S(j))*exp(-(Y(k)-M(j))^2/(2*S(j))); a2=f/a1; Nkpmx(|,),a3=a2+a3; %a3对应公式 ,n,1n Nk a4=a2*Y(k)+a4; %a4对应公式pmxx(|,), ,nn,1n N,12kka5=a2*(Y(k)-M(j))^2+a5; %a5对应公式 pmxx(|,)(),,,,nnm,1n end A(j)=a3/10000; %循环更新系数值 M(j)=a4/a3; %循环更新均值值 S(j)=a5/a3; %循环更新方差值 end end 运行程序,查看变量A,M,S的值,与真实值比较一下,就可以得到用EM算法估计的高斯混合模型的性能了。得到参数为A=[ 0.3063 0.6937],M=[ 1.0093 2.0013],S=[ 0.2558 0.3632],而真实值为A=[0.4 0.6],M=[1 2],S=[0.25 0.36] ,我们可以从中看出用EM算法估计的高斯混合模型的相关参数与真实值是比较接近的。
本文档为【EM算法在高斯混合模型中应用matlab】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_682974
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:7
分类:互联网
上传时间:2017-10-11
浏览量:139