深入理解机器学习——EM算法/最大期望算法(Expectation-Maximization Algorithm, EM)
分类目录:《深入理解机器学习》总目录
在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是“完整”的。但在现实应用中往往会遇到“不完整”的训练样本。在这种存在“未观测”变量的情形下,是否仍能对模型参数进行估计呢?未观测变量的学名是“隐变量”(Latent Variable)。令XXX表示已观测变量集,ZZZ表示隐变量集,Θ\ThetaΘ表示模型参数。若欲对Θ\ThetaΘ做极大似然估计,则应最大化对数似然:
LL(Θ∣X,Z)=lnP(X,Z∣Θ)LL(\Theta|X, Z)=\ln P(X, Z|\Theta)LL(Θ∣X,Z)=lnP(X,Z∣Θ)
然而由于ZZZ是隐变量,上式无法直接求解。此时我们可通过对ZZZ计算期望,来最大化已观测数据的对数“边际似然:
LL(Θ∣X)=lnP(X∣Θ)=ln∑ZP(X∣Θ)LL(\Theta|X) = \ln P(X|\Theta) = \ln\sum_ZP(X|\Theta) LL(Θ∣X)=lnP(X∣Θ)=lnZ∑P(X∣Θ)
EM(Expectation-Maximization)算法是常用的估计参数隐变量的利器,它是一种送代式的方法,其基本想法是:若参数Θ\ThetaΘ已知,则可根据训练数据推断出最优隐变量ZZZ的值(E步);反之,若ZZZ的值已知,则可方便地对参数做极大似然估计(M步)。
于是,以初始值Θ0\Theta^0Θ0为起点,对上式,可选代执行以下步骤直至收敛:
- 基于Θt\Theta^tΘt推断隐变量ZZZ的期望,记为ZtZ^tZt
- 基于已观测变量XXX和ZtZ^tZt对参数Θ\ThetaΘ做极大似然估计,记为Θt+1\Theta^{t+1}Θt+1
这就是EM算法的原型。
进一步,若我们不是取ZZZ的期望,而是基于Θt\Theta^tΘt计算隐变量ZZZ的概率分布P(Z∣X,Θt)P(Z|X, \Theta^t)P(Z∣X,Θt),则EM算法的两个步骤是:
- E步(Expectation):以当前参数Θt\Theta^tΘt推断隐变量分布P(Z∣X,Θt)P(Z|X, \Theta^t)P(Z∣X,Θt),并计算对数似然LL(Θ∣X,Z)LL(\Theta|X, Z)LL(Θ∣X,Z)关于ZZZ的期望:Q(Θ∣Θt)=EZ∣X,ΘtLL(Θ∣X,Z)Q(\Theta|\Theta^t)=\mathbb{E}_{Z|X, \Theta^t}LL(\Theta|X, Z)Q(Θ∣Θt)=EZ∣X,ΘtLL(Θ∣X,Z)
- M步卡(Maximization):寻找参数最大化期望似然,即:Θt+1=argmaxΘQ(Θ∣Θt)\Theta^{t+1}=\arg\max_\Theta Q(\Theta|\Theta^t)Θt+1=argΘmaxQ(Θ∣Θt)
简要来说,EM算法使用两个步骤交替计算:第一步是期望E步,利用当前估计的参数值来计算对数似然的期望值;第二步是最大化M步,寻找能使E步产生的似然期望最大化的参数值。然后,新得到的参数值重新被用于E步。直至收敛到局部最优解。事实上,隐变量估计问题也可通过梯度下降等优化算法求解,但由于求和的项数将随着隐变量的数目以指数级上升,会给梯度计算带来麻烦;而EM算法则可看作一种非梯度优化方法
参考文献:
[1] 周志华. 机器学习[M]. 清华大学出版社, 2016.
深入理解机器学习——EM算法/最大期望算法(Expectation-Maximization Algorithm, EM)相关推荐
- EM算法(Expectation Maximization Algorithm)详解
EM算法(Expectation Maximization Algorithm)详解 主要内容 EM算法简介 预备知识 极大似然估计 Jensen不等式 EM算法详解 问题描述 EM算法推导 EM ...
- EM算法·最大期望算法
EM算法,称为期望-最大化,它用于求解MLE的一种迭代算法 它的主要思想是把一个难于处理的似然函数最大化问题用一个易于最大化的序列取代,而其极限是原始问题的解 EM算法分为两个步骤:E步求期望,对隐变 ...
- EM算法(Expectation Maximization Algorithm)
文章目录 1. 前言 2.基础数学知识 2.1.凸函数 2.2.Jensen不等式 3.EM算法所解决问题的例子 4.EM算法 4.1.模型说明 4.2.EM算法推导 4.3.EM算法收敛性证明 4. ...
- 【大道至简】机器学习算法之EM算法(Expectation Maximization Algorithm)详解(附代码)---通俗理解EM算法。
☕️ 本文来自专栏:大道至简之机器学习系列专栏
- 深入理解机器学习:从理论到算法-习题全解之第十二章:凸学习问题
- R语言聚类算法之期望最大化聚类(Expectation Maximization Algorithm)
1.原理解析: 它将数据集看作一个含有隐性变量的概率模型,并以实现模型最优化,即获取与数据本身性质最契合的聚类方式为目的,通过"反复估计"模型参数找到最优解,同时给出相应的最优类别 ...
- 理解最大期望算法EM的三层境界(1)
Expectation Maximization(EM) 不要强求不可知,要从已知推未知 在刚开始学习时,我觉得EM算法真的难,反反复复就是看不懂.我一开始找到的学习资料上来就是一大堆算法公式推导.我 ...
- 人工智障学习笔记——机器学习(9)最大期望算法
一.概念 最大期望算法,也就是著名的em算法,他起源于一条dog 没错,就是这个 好吧不扯蛋了,em算法(Expectation Maximization Algorithm,又译期望最大化算法),是 ...
- NLP --- 隐马尔可夫HMM(EM算法(期望最大化算法))
期望最大化 (Expectation Maximization) 算法最初是由 Ceppellini[2] 等人 1950 年在讨论基因频率的估计的时候提出的.后来又被 Hartley[3] 和Bau ...
最新文章
- HTTPS网络加密双向验证-使用AFNetworking封装
- 八、Java中的i++和++i到底是什么?
- java递增_java-8 – 如何按组递增
- LeetCode MySQL 1241. 每个帖子的评论数
- groovy+mysql数据库_使用Groovy连接到MySQL
- 洛谷P3588 [POI2015]PUS(线段树优化建图)
- @autowired注解注入为null_Java面试必备:依赖注入注解@Resource和@Autowired
- Xcode不能真机调试运行
- 另类方法破解管理员密码
- 《合约星期五》OKEx BTC季度合约 0726周报
- 有钱任性的农夫山泉,被迫踏上IPO?
- Java8新特性(三) – 流式数据处理
- iOS逆向一:数字签名苹果应用双重签名原理应用重签名
- 微信小程序开发(三)——IE盒子,Flex弹性布局,色子六面
- MMA-Mathematica初步了解和使用-MMA
- 不规则三角网(TIN)
- 【实验】编译原理——编译器认知实验
- 用echart玩点好玩的--酷炫热力图
- 2019牛客多校训练营第一场 E题 ABBA 题解
- Git安装与使用教程
热门文章
- jdbc封装,斗地主和音乐管理系统
- 互联网小团队创业 第四集 做产品 要有爱
- k8s-redis 集群部署(李作强)
- hadoop2.7.2基于centos完全分布式安装
- 【文献学习】多智能体合作学习捕食者避撞
- 创维代工M302A(2+8)、E900V22E(2+8)、E900V21E、E900V21C晶晨S905L3-B通刷卡刷固件及教程分享
- micropython开发stm32 nucleo固件烧写
- linux 内核 发送数据,使用Linux内核模块发送的UDP数据包不使用套...
- opencv 截取轮廓中的图像——实现PS中的抠图功能
- matlab 保存图像分辨率改变问题(saveas、imwrite、print)