EM算法详细例子及推导
EM算法详细例子及推导数θ),那么对于上面的实验,我们可以计算出他们出现我们观察到的结果即0=(5,9,.8,4,7,20=(B,A,A,B,4)的概率函数P(X=x10),2z)⑨)就叫做θ的似然函数。我们将它对θ求偏导并令偏导数为0,就可以得到如的结果P(X=x0,=20))=(;P(z=A)3(1-P(z=A)2C10(1-64)10A(1-6C104(1-0(1-6B)C106n(1-6我们将这个问题稍微改变一下,我们将我们所观察到的结果修改一…下我们现在只知道每次试验有几次投掷出正面,但是不知道每次试验投掷的是哪个硬币,也就是说我们只知道表中第一列和第三列。这个时候我们就称Z为隐藏变量( Hidden variable),X称为观察变量( Observed variable)。这个时候再来估计参数θ4和θB,就没有那么多数据可供使用了,这个时侯的估计叫做不完整数据的参数估计。如果我们这个时候冇某种方法(比如,正确的猜到每次投掷硬币是A还是B),这样的话我们就可以将这个不完整的数据估计变为完整数据估计当然我们如果没有方法来获得更多的数据的话,那么下面提供了一种在这种不完整数据的情况下来估计参数θ的方法。我们用迭代的方式来进行:(1)我们先赋给θ一个初始值,这个值不管是经验也好猜的也好,反正我们给它一个初始值。在实际使用中往往这个初始值是有其他算法的结果给岀的,当然随机给他分配一个符合定义域的值也可以。这里我们就给定64=0.7,6B=0.4(2)然后我们根据这个来判断或者猜测每次投掷更像是哪枚硬币投掷的结果。比如对于试验1,如果投掷的是Δ,那么出现5个止面的概率为C10×0.75×(1-07)5≈0.1029:;如果投掷的是B,出现5个正面的概率为C105×0.43×(1-0.4)5≈0.2007;基于试验1的试验结果,可以判断这个试验投掷的是使币A的概率为0.10290.10290.2007)-0.389是B的概率为02007(0.1029+0.2007)06611。因此这个结果更可能是投掷B出现的结果(3)假设上一步猜测的结果为B,A,A,B,A,那么恨据这个猜测,可以像完整数据的参数仙计一样(公式2重新计算的值这样一次一次的迭代2-3步骤直到收敛,我们就得到了θ的估计。现在你可能有疑问,这个方法靠谱么?事实证明,它确实是靠谱的。期望最大化算法就是在这个想法上改进的。它在估计每次投掷的硬币的吋候,并不要确定住这次就是硬币A或者B,它计算岀来这次投掷的硬币是A的概率和是B的概率;然后在用这个概率(或者叫做Z的分布)来计算似然函数。期望最大化算法步骤总结如下:F步骤先利用旧的参数值〃计算隐藏变量Z的(条件)分布P(万=2|Xn2),然后计算logP(,X=m)的期望B(o(2,X=x)=∑∑P(Z=别X=)P(Z=X=x)其中θ是当前的值,而θ是上一次迭代得到的值。公式中已经只剩下θ一个变量了,θ是一个确定的值,这个公式或者函数常常叫做Q函数,用Q(6,6)来表示。M步骤极大化Q,往往这一步是求导,得到由旧的θ值′米计算新的θ值的公式aQ总结一下,期望最大化算法就是先根据参数初值估计隐藏变量的分布,然后根据隐藏变量的分布来计算观察变量的似然函数,估计参数的值。前者通常称为E步骤,后者称为M步骤3数学基础首先来明确一下我们的目标:我们的目标是在观察变量X和给定观察样本:1,x2,…,rn的情況下,极大化对数似然函数(=>nP(X2=x;)(5)其中只包含观察变量的概率密度函数P(X2=2)=∑P(X=n,=)这里因为参数θ的写法与条件概率的写法相同,因此将参数θ写到下标以更明确的表述其中Z为隐藏随机变量,{}是Z的所有可能的取值。那么6)=∑h∑P(X=x,z=2)∑h∑。Px=x这里我们引入了一组参数(不要怕多,我们后面会处理掉它的)a,它满足可能的;,0;∈(0,1和∑;a=1到这里,先介绍一个凸函数的性质,或者叫做凸函数的定义。∫(x)为凸函数,=1,2,…,m,A∈[0,1∑1A对∫(x)定义域中的任意n个m1,x2,…,xn有f(∑Aa)≤∑mf(xr)i=1对于严格凸函数,上面的等号只有在x1=2xn的时候成立。关于凸函数的其他性质不再赘述。对数函数是一个严格凸数。因而我们可以有下面这个结果0)=∑hn∑≥∑∑ah(X=2n,2=C现在我们根据等号成立的条件来确定a;即P(X=x,Z=2)C(10)其中c是一个与j无关的常数。因为∑,=1,稍作变换就可以得到P(X;=x;)现在来解释下我们得到了什么。c;就是Z=2;在X=x;下的条件概率戌者后验概率。求α就是求隐藏随机变量Z的条件分布。总结一下目前得到的公式就是)-∑∑P(Xi=i,Z(12)直接就极大值比较难求,EM算法就是按照下面这个过程来的。它就是大名鼎鼎的琴生( Jensen)不等式(1)根据上一步的θ来计算α,即隐藏变量的条件分布(2)极大化似然函数来得到当前的的估计3.1极大似然估计好吧,我觉得还是再说说极大似然估计吧。给定一个概率分布D,假设其概率密度函数为f,其中f带有一组参数6。为了估计这组参数6,我们可以从这个分布中抽出一个具有n个采样值的X1,X2,…,Yn,那么这个就是n个(假设独立)同分布随机变量,他们分别有取值x1,x2…,xn,那么我们就可以计算出出现这样一组观察值的概率密度为lI f(ai)(13)对于f是离散的情况,就计算出现这组观察值的概率10)注意,这个函数中是含有参数0的。0的极大似然估计就是求让上面似然函数取极大值的时候的参数O值。般来说,会将上面那个似然函数取自然对数,这样往往可以简化计算。记住,这样仅仅是为了简化计算。取了自然对数之后的函数叫做对数似然函数。ln()=∑lnf(n)因为对数是一个严格单调递增的凹函数,所以对似然函数取极人值与对对数似然函数取极大值是等价的。3取了对数之后还可以跟信息熵等概念联系起来4关于凸函数有很多种说法,上凸函数和下凸函数,凸函数和凹函数等等,这里指的是二阶导数大」(等」)0的一类函数,而凹函数是其相反数为凸数的一类函数32期望最大化算法收敛性如何保证算法收敛呢?我们只用证明l(04+1)≥1(00)就可以了l(0(t11)∑∑(+1)1PX=x;2=2)(+(t+1∑∑nf(X=x;,z=z;)(+1)(t)o(tn /(r=i,Z=2(t)≥∑∑ahn(t)7(0其中第一个人于等于号是因为只有当a取值合适(琴生不等式等号成立条件)的时候才有等号成立,第二个人于等于号正是M步骤的操作所致。这样我们就知道l(θ)是随着迭代次数的增加越来越人的,收敛条件是值不再变化或者变化幅度很小。4应用举例4.1参数估计很直接的应用就是参数估计,上面举的例子就是参数估计42聚类但是如果估计的参数可以表明类别的话,比如某个参数表示某个样本是否属于某个集合。这样的话其实聚类问题也就可以归结为参数估计问题。References[]最大似然估计[oNline].Availablehttp://zh.wikipediaorg/wiki.%E6%9c%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1[2] Ceppellini, r, Siniscalco, M.& Smith, C.A. Ann. Hum. Genet. 20, 97-115(1955)3 Hartley, H. Biometrics 14, 174-194(1958)4 Baum, L.E., Petric, T, Soulcs, G.& Weiss, N. Ann. Math. Stat 41, 164-171(1970)[ 5] Dempster, A P, Laird, N.M., Rubin, D B.(1977). "Maximum Likelihoodfrom Incomplete Data via the em algorithm. Journal of the royal statis-tical Society Series B(Methodological)39(1): 1-38. JSTOR 2984875 MR0501537[6]Whatistheexpectationmaximizationalgorithm[oNline].Avaiable:http//ai. stanford. edu/-chuongdo/papers/em tutorial pdf[7TheEmAlgorithmOnline.Availablehttp://www.cnblogs.com,jerrylead/ archive/2011/04/06/2006936html
- 2020-12-07下载
- 积分:1
时隙 Aloha 及伪贝叶斯算法性能仿真
设一个时隙 Aloha 系统的时隙长度为 1,所有节点的数据包均等长且等于时隙长度。网络中的节点数为 m,各节点数据包以泊松过程到达。 1 假定每个节点的数据包到达强度均为 λ /m,在不同的 λ 下,仿真时隙Aloha 数据包传送的成功概率,绘制呼入强度和成功概率的曲线,和理论结果进行对照。 仿真思路: 1) 生成一个二项分布列来模拟数据包的到达过程 2) 因为数据包以泊松过程到达,所以二项分布的 P 定为(1- m eλ− ) 3) 对生成的数列求和,只有当其和恰等于 1 即有且仅有一个数据包到达时,才可以成功发送,这时成功个数计数+1 4) 2.选取合理的引,,qa,m,采用延时的下界,仿真时隙Aoha系统数据传输过程,统计在不冋同η下,到达率及离开率,绘制它们随n的分布情况,和理论值进行对照qn:等待重传的节点在每一时隙内重传数据包的概率qa:每个发送节点有新数据包到达的概率m:系统内总的节点数n:每个时隙开始时等待重传的节点数仿真思路:1)用二项分布模拟数据包的到达及发送过程2)生成两个数列:一个表示等待重传的节点以q,重传的情况;一个表示新到达的数据包情况因为题日说明采用延时的下界,即不缓冲,每个节点最多容纳一个数据包,有包则扔。所以第一个数列前n项令为1,后一个前n项令为0,之后两个数列可以进行简单加和3)发送成功率:对两个数列相加之后求和,如果sum等于1,说明此时隙内到达和发送的总数为1,只有在这种情况下发送才有可能成功,计数加1到达率:在每N次实验中,对“表示到达的数列”求和,统计4)对n做循环以表示到达率和离开率随n的变化情况;每个n下进行N次实验,数理统计3/8仿真结果0.40.35*0.30.250.20.150.10.0550607080901001/曲线为理论曲线:Ps=G exp(-G)and G=(m-n)a+n gr2/仿真值基木与理论曲线吻合在仿真的过程中,合理选取个参数值对能否得到埋想的曲线起了重要的作用下图分别为qr=0.02,0.05,0.08s时的曲线。可以看到,随着qr的增加,曲线向左移,导致第二个交叉点也左移,这个时候重传的延时将会减小。反之,曲线右移。当q,增加到一定程度的时候,系统只有一个稳定点了。4/840.350.30.20.1501020304050607080901c03仿真时隙Aoha系统下的伪贝叶斯算法,通过仿真结果眼正在n的估计误差较大的情况下的收敛特性及到达率小于1/e下的稳定性。仿真思路:1、伪贝叶斯算法的主要思路是对新数据包和积压节点等同对待:当有新数据包到达的时候,暂不发送,下一时刻与以前的积压节点一起以4r发送。所以修改2中的仿真模型:1)依旧是一列表到达,一列表上一时隙的积压节点2)对两列加和,统计其中为1的个数,设为d3)以qr为概率,d为长度,生成又一个二项分布数列 depart,表示发送的情况4)对depa求和,如果 depart的和为一,说明恰发送成功,n(k+1)=d-1,否则n(k+1)=n(k)5)循环,进行数理统计2、仿真收敛特性和稳定特性哩论值:根据给岀的伪贝叶斯算法的具体步骤,由给出的n(k),不断模拟生成n(k+1)5/8仿真值:由仿真模型及给出的n(k),生成n(k+1)观察两种方式得到曲线的走向3、给出不同的值,观察n(k+1)随时间变化的情况判断标准如果要保持系统的稳定,至少n(k+1)应该保持在一个恒定的状态,或者逐渐趋于零。如果n(k+1)不断增加,则系统最终将趋于饱和,无法再接纳新的数据包,此时系统不稳定。仿真结果:1、验证在n的佔计误差较大的情况下的收敛特性:1)n=170;估计nt=20;m=100:20.2:N=100016030040050060070080g001CC08002)n=50;估计nt=180;m=1000=-1-02:N=80结果说明可以看出,当估计值与系统本身的积压数据包数有很大差别的时候,无论是大还是小,最终都可以趋于实际值,从而收敛特性得到验证。1)同时可以看到,改变的值:当λ增大的时候,收敛地更快;2)当n不变的时候,改变m的值,如果n/m变大,那么发生碰撞的几率就变大,也会导致估计的n值更快地趋向理论n值这些都是于课堂分析的理论情况相吻合的6/82、验证系统的稳定性下图分别为A=02:=10.1:=1:4=1+02:=0.3时候的情况。可以看到,当λ
- 2020-12-09下载
- 积分:1