做房产信息网站,深圳模板建站企业,有哪些网站是提供设计图片的,iis 发布网站 404一、引言 按照计划#xff0c;这周应该学习HMM中的第三个基本问题#xff1a;参数估计问题#xff0c;但是其中的内容涉及到了EM算法#xff0c;所以打算先把EM算法搞定之后再去继续HMM的问题。EM算法的推导过程比较复杂#xff0c;这节我只给出简述和计算公式#xff0c…一、引言 按照计划这周应该学习HMM中的第三个基本问题参数估计问题但是其中的内容涉及到了EM算法所以打算先把EM算法搞定之后再去继续HMM的问题。EM算法的推导过程比较复杂这节我只给出简述和计算公式待推导完成后再贴上推导过程。
二、一个实例
例1 三硬币模型 假设有3枚硬币分别记为A,B,CA,B,C。这些硬币正面出现的概率分别是π,p,q\pi, p,q。进行如下掷硬币试验先掷硬币A,根据其结果选出B或者C正面选B反面选C然后掷选出的硬币掷硬币的结果正面记为1反面记为0独立重复n次试验(这里n10),观测结果如下1,1,0,1,0,0,1,0,1,1.假设只能观测到掷硬币的结果不能观测掷硬币的过程。问如何估计三硬币正面出现的概率即求三硬币模型的参数。 三硬币模型可以写作:
P(y;θ)∑zP(y,z;θ)∑zP(z;θ)P(y|z;θ)πpy(1−p)1−y(1−π)qy(1−q)1−yP(y;\theta) = \sum_z P(y,z;\theta) = \sum_z P(z;\theta)P(y|z;\theta) \\
=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}上式中随机变量yy是观测变量,zz是隐变量且不可观测θ(π,p,q)\theta = (\pi, p, q)是模型参数。这一模型是以上数据的生成模型。将观测数据表示为Y(Y1,Y2,…,Yn)TY=(Y_1,Y_2,\dots,Y_n)^T, 未观测数据表示为Z(Z1,Z2,…,Zn)TZ=(Z_1,Z_2, \dots, Z_n)^T则观测数据的似然函数为 P(Y;θ)∑zP(Z;θ)P(Y|Z;θ)∏j1n[πpyj(1−p)1−yj(1−π)qyj(1−q)1−yj]P(Y;\theta) = \sum_z P(Z;\theta)P(Y|Z;\theta) \\
=\prod_{j=1}^n[\pi p^{y_j}(1-p)^{1-{y_j}}+(1-\pi)q^{y_j}(1-q)^{1-{y_j}}]三、EM算法的迭代公式 考虑求模型参数θ(π,p,q)\theta = (\pi, p, q)的极大似然估计即
θ^argmaxθlogP(Y;θ)\hat{\theta} = arg \max_\theta \log P(Y;\theta)这个问题没有解析解只有通过迭代方法求解EM算法就是求解这个问题的一种算法。下面先给出去针对上述问题的EM算法推导过程下节给出。 1. 选取初始参数 θ(0)(π(0),p(0),q(0))\theta^{(0)} = (\pi^{(0)}, p^{(0)}, q^{(0)}) 2. E步计算模型参数π(i),p(i),q(i)\pi^{(i)}, p^{(i)}, q^{(i)}下观测数据yjy_j来自掷硬币B的概率 μ(i1)π(i)(p(i))yj(1−p(i))1−yjπ(i)(p(i))yj(1−p(i))1−yj(1−π(i))(q(i))yj(1−q(i))1−yj\mu^{(i+1)} = \frac{\pi^{(i)}(p^{(i)})^{y_j}(1-p^{(i)})^{1-y_j}}{\pi^{(i)}(p^{(i)})^{y_j}(1-p^{(i)})^{1-y_j} +(1-\pi^{(i)})(q^{(i)})^{y_j}(1-q^{(i)})^{1-y_j}}3. M步计算模型参数的新估计值 π(i1)1n∑j1nμ(i1)jp(i1)∑nj1μ(i1)jyj∑nj1μ(i1)jq(i1)∑nj1(1−μ(i1)j)yj∑nj1(1−μ(i1)j)\pi^{(i+1)} = \frac{1}{n}\sum_{j=1}^{n}\mu_j^{(i+1)}\\
p^{(i+1)} = \frac{\sum_{j=1}^{n}\mu_j^{(i+1)}y_j}{\sum_{j=1}^{n}\mu_j^{(i+1)}}\\
q^{(i+1)} = \frac{\sum_{j=1}^{n}(1-\mu_j^{(i+1)})y_j}{\sum_{j=1}^{n}(1-\mu_j^{(i+1)})}4. 给出停止迭代的条件 一般是较小的正数ε\varepsilon, 满足 ||θ(i1)−θ(i)||ε||\theta^{(i+1)}-\theta^{(i)}|| 重复上式2-4步完成求解需要注意的是EM算法对初始值的选取是相当敏感的。