EM算法在高斯混合模型中的应用 (3)

上传人:大米 文档编号:490430372 上传时间:2024-02-12 格式:DOCX 页数:5 大小:163.41KB
返回 下载 相关 举报
EM算法在高斯混合模型中的应用 (3)_第1页
第1页 / 共5页
EM算法在高斯混合模型中的应用 (3)_第2页
第2页 / 共5页
EM算法在高斯混合模型中的应用 (3)_第3页
第3页 / 共5页
EM算法在高斯混合模型中的应用 (3)_第4页
第4页 / 共5页
EM算法在高斯混合模型中的应用 (3)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《EM算法在高斯混合模型中的应用 (3)》由会员分享,可在线阅读,更多相关《EM算法在高斯混合模型中的应用 (3)(5页珍藏版)》请在金锄头文库上搜索。

1、细心整理EM算法在高斯混合模型中的应用1.定义对于一个随机信号生成器,假设他的模型参数为,我们能观测到的数据输出为X,不能观测到的数据输出为Y,且随机系统模型构造的概率密度函数为 1能够观测到的一局部数据输出数据,模型的另一局部输出数据 未知,模型的参数也未知。EM算法就是要求我们从观测数据中估计出参数。2.EM算法的描述假设每一对随机系统的输出样本对于不同的n相互独立,这样当,x和y都确定的状况下,概率也确定。未观测的输出y的概率分布也属于待求参数。依据独立性假设有: 23.EM算法的根本思路 根本问题是求解下面的方程的解: 3由于X是确定量,Y是未知的,因此即使给定了,也无法求得的值,因此

2、我们只能退一步求: 4其中 5表示考虑了未知数据y的全部可能的取值Y后对求平均值。最终依据log函数的单调性得到4的等效形式: 6对于(6)给出的最优化问题,考虑用下面的递推算法解决,即:先给定一个估值并计算,然后更新得到并且有 7 8其中,等号在时成立,即: 9于是对的递推算法7可通过进展,步骤为:1) 令k=0,先给出估值 2) 然后找出满足 103) k更新为k+1并返回步骤2)直到收敛 令 (11)处理后 (12)其中 (13)4.EM算法与高斯混合模型在随机系统模型中,假设是通道的随机信号生成器的概率密度函数的参数,是选中通道的概率。记为。假设个随机信号生成器和通道选择随机生成器是相

3、互独立的,从通道输出的数据的概率是: (14)不考虑通信信息,输出的概率为: (15)其中: :是第个通道随机信号生成器的参数。 :参数集合。观测数据为一批随机产生的输出信号,并且每个输出都是相互独立的,而每个输出来自哪个通道不行测。于是系统模型参数估计问题就变为通过有限的输出样本估计个通道参数.应用12求解,其中可以简化为:16其中: 这样我们把和分别放在两项里面,他们不相关,可以独立考虑。在中应用约束条件:用拉格朗日乘子优化得到:上式的含义是,选中号通道的概率估计是每个观测数据来自于通道的条件概率依据上一次估值估算的平均。其中的通过下式得出。中的的优化取决于分布函数的类型,对于为高斯分布时

4、,其中是分布的均值,是方差。再经过推导,有: , 通道参数得更新可以看作是对的加权,加权系数可以看成是依据上一次的参数估计算出来得率属于通道的概率。最终,上面的EM算法可能收敛到局部极大点,因此须要选择多个参数的初始值进展迭代计算,并选择使得最大的解,最大的解可由下式算出:5.EM算法在matlab中的实现 利用上面推导出的公式,我们以二个一维的高斯分布,来验证EM算法的性能,首先用二个一维的高斯分布来建立一个高斯混合模型。假设: , 其中与为混合系数,且有,我们要用EM算法估计混合系数和各一维高斯分布的均值和方差。并将利用EM算法估计出的值与真实值做比拟,就可以得到该算法的性能。首先我们取的

5、真实值为0.4,0.6,1,2,0.25,0.36这样我们得到一个混合高斯分布,他的密度函数为,然后产生1000个听从的分布的观测样本点。接下来要做的就是对这1000个样本点用EM算法进展处理,来估计出一组的值。在运用EM算法时,要首先给设定一组初值这里假设初值为=0.3,=0.7,0.8,1.8,0.2,0.25Matlab具体程序如下: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); endend %高斯混合模型A

6、=0.3 0.7; %设置参数 的初值M=0.8 1.8; %设置均值 的初值S=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; end f= A(j) * 1/sqrt(2*pi*S(j)*exp(-(Y(k)-M(j)2/(2*S(j); a2=f/a1; a3=a2+a3; %a3对应公式 a4=a2*Y(k)+a4; %a4对应公式 a5=a2*(Y(k)-M(j)2+a5; %a5对应公式 end A(j)=a3/10000; %循环更新系数值 M(j)=a4/a3; %循环更新均值值 S(j)=a5/a3; %循环更新方差值 endend运行程序,查看变量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算法估计的高斯混合模型的相关参数与真实值是比拟接近的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号