该系列的宗旨为:少公式,简洁化,掌握核心思想,面向对机器学习感兴趣的朋友。
ps:主要源自李航《统计学习方法》以及周志华《机器学习》,水平所限,望大牛们批评指正。
EM算法:概率模型参数估计
模型特点:含隐变量概率模型
学习策略:极大似然估计,极大后验概率估计
学习的损失函数:对数似然损失
学习算法:迭代算法
1、EM算法的引入
背景:
概率模型有时既含有观测变量,又含有隐变量或潜在变量(隐变量不能观测)。
如果概率模型都是观测模型,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。
如果概率模型的变量含有隐变量时,对似然函数参数求导是求不出来的,这时可以采用EM算法来求模型的参数
1.1EM算法
EM算法的每次迭代由两步组成:
E步,求期望(expectation);
M步,求极大(maximization)
所以这一算法被称为期望极大算法,简称EM算法
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ)
输出:模型参数θ
步骤:
(1)选择参数的初始值θ(0),开始迭代
(2)E步:记θ(i)为第i次迭代参数θ的估计值,在第i+1次迭代的E步,求logP(Y,Z|Q)关于P(Z|Y,θ(i))的期望,即
该函数称为Q函数,P(Z|Y,θ(i))是在给定观测数据Y和当前的参数估计θ(i)下隐变量数据Z的条件概率分布
(3)M步:求使Q(θ,θ(i))极大化的θ,确定第i+1次迭代的参数的估计值θ(i+1)
(4)重复第二步和第三步,直至收敛
2、EM算法的收敛性
EM算法在每次迭代后均提高观测数据的似然函数值,即
P(Y|θ(i+1)) >= P(Y|θ(i))
在一般条件下EM算法是收敛的,但不能保证收敛到全局最优
3、EM算法在高斯混合模型学习中的应用
EM算法主要应用于含有隐变量的概率模型的学习
3.1高斯混合模型
高斯混合模型是指具有如下形式的概率分布模型:
其中ak是系数,θk=(μk,σk2)
上式为高斯分布密度,称为第k个分模型
3.2高斯混合模型参数估计的EM算法
输入:观测数据y1,y2,...,yN,高斯混合模型
输出:高斯混合模型参数
过程:
1).取参数的初始值开始迭代
2).E步:依据当前模型的参数,计算分模型k对观测数据yj的响应度
jk表示在当前模型参数下第j个观测数据来自第k个分模型的概率,称为分模型k对观测数据yj的响应度
3).M步:计算新一轮迭代的模型参数,求使Q(θ,θ(i))极大化的θ,确定第i+1次迭代的参数的估计值θ(i+1)
4).重复第二步和第三步,直至收敛
4、EM算法的推广
EM算法还可以解释为F函数的极大-极大算法(maximization-maximization algorithm),基于这个解释有若干变形和推广,如广义期望极大(generalized expectation maximization,GEM)算法,GEM算法的特点为每次迭代增加F函数值(并不一定是极大化F函数),从而增加似然函数值。
ps:初略介绍一下EM算法,这周又是很苦逼的一周啊,等端午之后,应该比较空了吧,祈祷。。。
领取专属 10元无门槛券
私享最新 技术干货