本文主要是介绍#通俗理解# 从极大似然估计(MLE)到最大期望(EM)算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. 期望(Expectation)
- 2. 极大似然估计(Maximum Likelihood Estimate,MLE)
- 3. 最大方差估计(Expectation-Maximum,EM)
- 对于第2步的解释
- 对于第3步的解释
- 对于第4步的解释
1. 期望(Expectation)
顾名思义,最大期望算法就是让某个函数的期望最大化从而得到最优参数,首先我们先要了解期望的公式:
期望本质上就是根据随机变量的分布对函数值的加权求和,平均值是期望的一种特殊形式,平均值假设随机变量取到每种值得概率相同(均分分布)
2. 极大似然估计(Maximum Likelihood Estimate,MLE)
对于一个样本数据,如果我们可以得到通过一个公式(带有未知参数)得到这个样本出现的概率,那么我们就可以称这个公式为似然函数
因为这个样本数据被我们观测到了,因此我们认为这个样本出现的概率最大,我们通过最大化似然函数的值就能够得到函数中参数的最优值
为了得到最大化似然函数下参数的最优值,我们首先求的似然函数对参数的偏导数,然后令偏导数等于0从而得到参数的最优值;极大似然函数一般一次就能够得到结果,不需要迭代
极大似然估计的公式如下:
θ m l e = arg max θ ( θ ) l o g P ( x ∣ θ ) θ_{mle}=\mathop{\arg\max}\limits_{\theta}(θ)logP(x|θ) θmle=θargmax(θ)logP(x∣θ)
上式之所以要去 log,是因为取完log后内部的乘法变为加法,能够简化运算
3. 最大方差估计(Expectation-Maximum,EM)
对于包含隐变量的似然函数,计算参数的偏导数为零时的参数值往往十分困难,因此对于包含隐变量的似然函数使用极大似然估计很难得到结果
EM算法一般用来求解包含隐变量函数的参数问题,EM算法将隐变量的概率分布Z和似然函数内的参数θ看作是两个部分依次迭代优化,具体实现方式如下:
- 随机初始化似然函数的参数θ
- 根据似然函数内的参数估计隐变量z
- 最大化似然函数对于隐变量的期望,并最求得期望最大时似然函数内部参数的更新值θ
- 跳到第2步用更新后的θ估计隐变量分布Z,然后执行3步…直至函数收敛
EM算法的迭代公式如下:
θ t + 1 = arg max θ ∫ z l o g ( P ( x , z ∣ θ ) ) P ( x ∣ z , θ t ) d z θ^{t+1}=\mathop{\arg\max}\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似然函数在隐变量上的积分(期望)
对于第2步的解释
隐变量z由多个隐状态组成( z 1 , z 2 . . . z n z_1,z_2...z_n z1,z2...zn),估计隐变量z的概率分布,换句话说就是就算隐变量每种情况出现的概率;
-
以混合高斯模型(GMM)为例,隐变量是每种高斯分布的权重参数,估计隐变量z等价于估计各个权重系数的概率分布(连续分布)
-
以隐马尔可夫模型(HMM)为例,隐变量是HMM观测序列对应的隐层状态序列,估计隐变量z等价于估计当前观测序列由每种隐层状态序列得出的概率(离散分布)
对于第3步的解释
第3步的作用是计算似然函数在隐变量上的期望,换个角度理解是:令似然函数在每种隐变量的情况下同时最大化(当然每种情况的权重不同);离散分布的隐变量和连续分布的隐变量求期望的方式有所不同:
- 离散分布的隐变量,EM算法等价于对隐变量取不同值时的似然函数进行加权求和,权重是隐变量取得不同值时的概率;最后,令加权之后的似然函数最大化从而得到更新后的参数值θ
- 连续分布的隐变量,EM算法等价于对似然函数在隐变量上进行积分,然后对积分后的函数最大化从而得到更新后的参数值θ
对于第4步的解释
第3步我们更新了似然函数中的参数θ,接着跳到第2步得到新的隐变量z,然后执行第3步,这样依次循环更新参数θ和隐变量直至模型收敛
这篇关于#通俗理解# 从极大似然估计(MLE)到最大期望(EM)算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!