首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天一个ml模型——EM算法

该系列的宗旨为:少公式,简洁化,掌握核心思想,面向对机器学习感兴趣的朋友。

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算法,这周又是很苦逼的一周啊,等端午之后,应该比较空了吧,祈祷。。。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604G17L2C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券