机器学习之期望最大化算法(Expectation Maximization, EM)

本文深入探讨了期望最大化算法(EM算法)的基本概念,从三硬币模型出发,逐步过渡到高斯混合模型,详细解释了EM算法的迭代过程及在参数估计中的应用。文章还介绍了EM算法的主要思想,包括其迭代逼近极大似然函数的机制,以及在聚类分析等领域的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

期望最大化算法(Expectation Maximization, EM)

1. 基本内容

  • 用于含有隐变量的概率模型参数的极大似然估计
  • EM 是个一般方法,而不是某个具体模型
  • 知道有哪些分布模型,但不知道每个样本具体属于哪个分布

2. 从三硬币模型

2.1 问题提出

A, B, C 为三枚硬币,正面朝上的概率假设分别为 π , p , q \pi,p,q π,p,q ,进行投掷硬币实验:先投掷 A 硬币,结果用 x 表示,如果朝上(x=1),投掷 B 硬币,否则(x=0),投掷 C 硬币。最终结果记为 y,正面 y=1, 反面 y=0

假设经过 n 次实验,得到结果 y 1 , y 2 , ⋯   , y n y_1, y_2, \cdots, y_n y1,y2,,yn ,如何从极大似然估计的角度估计参数?

2.2 解决方案

流程如下图所示

可以得到联合概率分布:

y=1 y=0
from B π p \pi p πp π ( 1 − p ) \pi (1-p) π(1p)
from C ( 1 − π ) q (1-\pi)q (1π)q ( 1 − π ) ( 1 − q ) (1-\pi) (1-q) (1π)(1q)
total π p + ( 1 − π ) q \pi p+(1-\pi)q πp+(1π)q π ( 1 − p ) + ( 1 − π ) ( 1 − q ) \pi(1-p)+(1-\pi)(1-q) π(1p)+(1π)(1q)

total其实就是每个结果 y i ( 0   o r   1 ) y_i(0\ or\ 1) yi(0 or 1) 的密度,对于两种结果,可以统一写成:
π p y i ( 1 − p ) 1 − y i + ( 1 − π ) q y i ( 1 − q ) 1 − y i \pi p^{y_i}(1-p)^{1-y_i}+(1-\pi)q^{y_i}(1-q)^{1-y_i} πpyi(1p)1yi+(1π)qyi(1q)1yi
那么转化为极大似然估计问题,就是求解
m a x w , p , q ∏ i = 1 n [ π p y i ( 1 − p ) 1 − y i + ( 1 − π ) q y i ( 1 − q ) 1 − y i ] \mathop{max}\limits_{w,p,q} \prod\limits_{i=1}^n[\pi p^{y_i}(1-p)^{1-y_i}+(1-\pi)q^{y_i}(1-q)^{1-y_i}] w,p,qmaxi=1n[πpyi(1p)1yi+(1π)qyi(1q)1yi]
或者可以写成
m a x w , p , q ∏ i = 1 n [ π p + ( 1 − π ) p ] x i [ π ( 1 − p ) + ( 1 − π ) ( 1 − q ) ] 1 − x i \mathop{max}\limits_{w,p,q}\prod\limits_{i=1}^n [\pi p+(1-\pi)p]^{x_i}[\pi(1-p)+(1-\pi)(1-q)]^{1-x_i} w,p,qmaxi=1n[πp+(1π)p]xi[π(1p)+(1π)(1q)]1xi
对其进行求解,可以得到
p ( y = 1 ) = π p + ( 1 − π ) q = k n p ( y = 0 ) = π ( 1 − p ) + ( 1 − π ) ( 1 − q ) = n − k n p(y=1) = \pi p+(1-\pi)q = \frac{k}{n} \\ p(y=0) = \pi(1-p)+(1-\pi)(1-q) = \frac{n-k}{n} p(y=1)=πp+(1π)q=nkp(y=0)=π(1p)+(1π)(1q)=nnk
其中,k 为结果中 y=1 的个数,n 为总实验次数。两式其实是等价的,可以写作为一个关系式
π p + ( 1 − π ) q = k n \pi p + (1-\pi)q = \frac{k}{n} πp+(1π)q=nk
其中, π , p , q \pi,p,q π,p,q 三个为待估计参数。方程数小于参数个数(静不定),理论上来讲,只要符合该关系式的参数值,就是一个合理估计。

该问题比较简单,可以求出解析解,但对于一般问题来说,极大似然函数是得不到解析解的。下面从迭代的角度来逼近这个极大似然的解。

2.3 换个角度

考虑结果的所有情况,获得条件概率:
P ( f r o m B ∣ y = 1 ) = π p π p + ( 1 − π ) q = a P ( f r o m C ∣ y = 1 ) = ( 1 − π ) q π p + ( 1 − π ) q = b P ( f r o m B ∣ y = 0 ) = π ( 1 − p ) π ( 1 − p ) + ( 1 − π ) ( 1 − q ) = c P ( f r o m C ∣ y = 0 ) = ( 1 − π ) ( 1 − q ) π ( 1 − p ) + ( 1 − π ) ( 1 − q ) = d \begin{aligned} P(from B | y=1) &= \frac{\pi p}{\pi p + (1-\pi)q} = a \\ P(from C | y=1) &= \frac{(1-\pi)q}{\pi p + (1-\pi)q} = b\\ P(from B | y=0) &= \frac{\pi (1-p)}{\pi(1-p)+(1-\pi)(1-q)} = c \\ P(from C | y=0) &= \frac{(1-\pi)(1-q)}{\pi(1-p)+(1-\pi)(1-q)} = d \end{aligned} P(fromBy=1)P(fromCy=1)P(fromBy=0)P(fromCy=0)=πp+(1π)qπp=a=πp+(1π)q(1π)q=b=π(1p)+(1π)(1q)π(1p)=c=π(1p)+(1π)(1q)(1π)(1q)=d
也就是说,对与一个实验结果 y i y_i yi,有上面四种情况(严格来说是两种,因为结果 y i = 0 ,   1 y_i=0,\ 1 yi=0, 1 是知道的),为了清晰起见,针对每种个实验结果 y i y_i yi 可以列出下面的表格

y 1 y_1 y1 y 2 y_2 y2 ⋯ \cdots y n y_n yn
from B | y = 1 a 1 a_1 a1 a 2 a_2 a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值