机器学习笔记【数学基础——EM算法原理】

机器学习笔记【数学基础——EM算法原理】

最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。
最大期望算法经过两个步骤交替进行计算:

  • 第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
  • 第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。
    而要搞懂EM算法的原理,首先需要弄清楚极大似然估计的原理。

极大似然估计

极大似然估计最早是在概率论与数理统计的课程中接触到的,当时的学习完全没有理解极大似然估计的原理,只会背公式解题。现在又接触到了,才花时间要去真正搞懂🤒。
在我的理解中,似然估计和概率是相对的两个概念。

  • 概率:在知道条件的前提下,事件发生的可能性大小
  • 似然:在事件已经发生的前提下,推断发生的条件参数空间

而极大似然估计就是通过最大化似然函数来推断最有可能导致该事件发生的条件参数。下面用简单的例子来做说明。

Alt
总结极大似然估计的目的就是通过事件发生的结果来反推最大可能性导致该事件发生的一切条件参数

用一个简单的例子来体会一下极大似然估计是如果进行估计的。

例子1

假设一个袋子装有白球与红球,比例未知,现在抽取10次(每次抽完都放回,保证事件独立性),假设抽到了7次白球和3次红球,在此数据样本条件下,可以采用最大似然估计法求解袋子中白球的比例(最大似然估计是一种“模型已定,参数未知”的方法)。当然,这种数据情况下很明显,白球的比例是70%,但如何通过理论的方法得到这个答案呢?一些复杂的条件下,是很难通过直观的方式获得答案的,这时候理论分析就尤为重要了,这也是学者们为何要提出最大似然估计的原因。我们可以定义从袋子中抽取白球和红球的概率如下:

f ( x 1 , x 2 ∣ θ ) = f ( x 1 ∣ θ ) × f ( x 2 ∣ θ ) f(x_1,x_2|\theta) = f(x_1|\theta)×f(x_2|\theta) f(x1,x2θ)=f(x1θ)×f(x2θ)

由于第一次抽球和第二次抽球独立,可以直接相乘得到概率,且两次抽球在相同的条件参数下, θ \theta θ 是同一个。其中 θ \theta θ 是未知的,已知的是在10次抽取之后得到的结果,用来推测袋内的球🏀色的分布,也就是公式中的 θ \theta θ 参数空间。
求解的过程,先定义出似然函数 L ( θ ) L(\theta) L(θ) 为:

L ( θ ∣ x 1 , x 2 ) = f ( x 1 , x 2 ∣ θ ) = ∏ i 2 f ( x i ∣ θ ) L(\theta|x_1,x_2) = f(x_1,x_2|\theta) =\prod_i^2f(x_i|\theta) L(θx1,x2)=f(x1,x2θ)=i2f(xiθ)

为了方便求导,把累乘变成更好运算的累加,两边取 l n ln ln

l n ( L ( θ ∣ x 1 , x 2 ) ) = l n ( ∏ i 2 f ( x i ∣ θ ) ) = ∑ i 2 f ( x i ∣ θ ) ln(L(\theta|x_1,x_2)) = ln(\prod_i^2f(x_i|\theta)) = \sum_i^2f(x_i|\theta) ln(L(θx1,x2))=ln(i2f(xiθ))=i2f(xiθ)
最大似然估计的过程,就是找一个合适的 θ \theta θ ,使得似然函数的值为最大。因此,可以得到以下公式:

θ ^ m l e = a r g m a x l ^ ( θ ∣ x 1 , x 2 ) \hat\theta _{mle}= argmax\hat{l}(\theta|x_1,x_2) θ^mle=argmaxl^(θx1,x2)

我们定义 M 模型(也就是之前公式中的f),表示抽到白球的概率为 θ \theta θ ,而抽到红球的概率为 ( 1 − θ ) (1-\theta) (1θ) ,因此10次抽取抽到白球7次的概率可以表示为:
P ( x 1 , x 2 , . . . , x 10 ∣ M ) P(x_1,x_2,...,x_{10}|M) P(x1,x2,...,x10M)

= P ( x 1 ∣ M ) × P ( x 2 ∣ M ) . . . × P ( x 10 ∣ M ) = P(x_1|M)×P(x_2|M)...×P(x_{10}|M) =

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值