背景
假设我们需要调查我们学校学生的身高分布。我们先假设学校所有学生的身高服从正态分布N(μ,δ12)N(\mu, \delta_1^2)N(μ,δ12),但是男女但身高分布是不同的,我们假设他们真实的分布分别为男:N(μ1,δ1)N(\mu_1, \delta_1)N(μ1,δ1)和女:N(μ2,δ22)N(\mu_2, \delta_2^2)N(μ2,δ22),现在我们怎么估计求得各自的分布呢?
假设我们不能拿到所有的男女学习身高数据以得到真实的数据分布,我们只能从所以学生中抽样,并且抽样得到的数据,完全没有标注是男是女;那我们怎么分别为男生女生估计出一个分布呢?这里就用到EM算法,即(Expectation Maximization)。
大致去看
该方法是怎样做得的呢?简要来说,它是一种不断循环优化的过程:
- 我们首先随机初始化男女身高的平均值和方差,据此求得每一份身高数据是男生,女生的概率分别是多少,两个概率相加是1
- 由每份数据是男或女的概率,更新男和女的身高分布,即更新平均值和方差;
- 对1,2过程不断重复,直至达到一个稳定的状态(比如更新的平均值和方差前与后相差小于某一个值)。
EM
- 不完全数据分析
P(Y∣θ)P(Y|\theta)P(Y∣θ) - 完全数据分布
P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ)
求解目标最大似然估计,maximun likelihood estimate
logP(Y,Z∣θ))=∑inlog∑ziP(xi,zi∣θ)>=∑i∑ziQ(zi)logP(xi,zi∣θ)Q(zi)logP(Y,Z|\theta))=\sum_i^nlog\sum_{z_i}P(x^i,z^i|\theta)>=\sum_i \sum_{z^i} Q(z^i)log \frac{P(x^i,z^i|\theta)}{Q(z^i)}logP(Y,Z∣θ))=i∑nlogzi∑P(xi,zi∣θ)>=i∑zi∑Q(zi)logQ(zi)P(xi,zi∣θ)
Q(θ,θi)=∑ZlogP(Y,Z∣θ)P(Z∣Y,θi)Q(\theta,\theta^i)=\sum_Z logP(Y,Z|\theta)P(Z|Y,\theta^i)Q(θ,θi)=Z∑logP(Y,Z∣θ)P(Z∣Y,θi)
具体而言
https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm
- 写出完全数据的概率P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ),比如隐含量Z为性别男女,变量Y为身高,身高的分布为高斯分布(u,δ2)(u,\delta^2)(u,δ2),还有男女的分布TiT_iTi
附加知识:
在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布^
-
EM algorithm
-
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z∣θ),条件分布P(Z∣Y,θ);输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|\theta),条件分布P(Z|Y,\theta);输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z∣θ),条件分布P(Z∣Y,θ);
输出:模型参数 θ\thetaθ
(1)选择参数的初值 θ(0)\theta^(0)θ(0),开始

本文介绍了EM算法在无法获取完整标注数据时,如何估计不同群体(如男生和女生)的身高分布。通过混合高斯模型,EM算法通过不断迭代优化,更新群体的平均值和方差,从而逼近真实分布。详细阐述了EM算法的E步和M步,以及在混合高斯模型中的计算过程。
最低0.47元/天 解锁文章
1571

被折叠的 条评论
为什么被折叠?



