顾名思义,最大期望算法就是让某个函数的期望最大化从而得到最优参数,首先我们先要了解期望的公式:
期望本质上就是根据随机变量的分布对函数值的加权求和,平均值是期望的一种特殊形式,平均值假设随机变量取到每种值得概率相同(均分分布)
对于一个样本数据,如果我们可以得到通过一个公式(带有未知参数)得到这个样本出现的概率,那么我们就可以称这个公式为似然函数
因为这个样本数据被我们观测到了,因此我们认为这个样本出现的概率最大,我们通过最大化似然函数的值就能够得到函数中参数的最优值
为了得到最大化似然函数下参数的最优值,我们首先求的似然函数对参数的偏导数,然后令偏导数等于0从而得到参数的最优值;极大似然函数一般一次就能够得到结果,不需要迭代
极大似然估计的公式如下:
θ m l e = arg max θ ( θ ) l o g P ( x ∣ θ ) θ_{mle}=mathop{argmax}limits_{theta}(θ)logP(x|θ) θmle=θargmax(θ)logP(x∣θ)
上式之所以要去 log,是因为取完log后内部的乘法变为加法,能够简化运算
对于包含隐变量的似然函数,计算参数的偏导数为零时的参数值往往十分困难,因此对于包含隐变量的似然函数使用极大似然估计很难得到结果
EM算法一般用来求解包含隐变量函数的参数问题,EM算法将隐变量的概率分布Z和似然函数内的参数θ看作是两个部分依次迭代优化,具体实现方式如下:
EM算法的迭代公式如下:
θ t + 1 = arg max θ ∫ z l o g ( P ( x , z ∣ θ ) ) P ( x ∣ z , θ t ) d z θ^{t+1}=mathop{argmax}limits_{theta}int_zlog(P(x,z|theta))P(x|z,theta^t)dz θt+1=θargmax∫zlog(P(x,z∣θ))P(x∣z,θt)dz
其实这就是一个求期望的公式,积分号内可以看做两部分,一部分是 log似然函数,一部分是隐变量的概率分布函数(先验概率)总结来说就是求log似然函数在隐变量上的积分(期望)
隐变量z由多个隐状态组成( z 1 , z 2 . . . z n z_1,_n z1,z2...zn),估计隐变量z的概率分布,换句话说就是就算隐变量每种情况出现的概率;
以混合高斯模型(GMM)为例,隐变量是每种高斯分布的权重参数,估计隐变量z等价于估计各个权重系数的概率分布(连续分布)
以隐马尔可夫模型(HMM)为例,隐变量是HMM观测序列对应的隐层状态序列,估计隐变量z等价于估计当前观测序列由每种隐层状态序列得出的概率(离散分布)
第3步的作用是计算似然函数在隐变量上的期望,换个角度理解是:令似然函数在每种隐变量的情况下同时最大化(当然每种情况的权重不同);离散分布的隐变量和连续分布的隐变量求期望的方式有所不同:
第3步我们更新了似然函数中的参数θ,接着跳到第2步得到新的隐变量z,然后执行第3步,这样依次循环更新参数θ和隐变量直至模型收敛
本文发布于:2024-01-30 17:41:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170660767721729.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |