学习
实践
活动
专区
工具
TVP
写文章
专栏首页程序生活机器学习(十九)EM:期望最大算法

机器学习(十九)EM:期望最大算法

1 EM算法简介

最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计。

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。

未观测变量的学名是“隐变量”(latent variable)。EM算法是常用的估计参数隐变量的利器,它是一种迭代式的方法,其基本思想是:若参数θ已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可以方便地对参数θ做极大似然估计(M步)。

于是,以初始值θ0为起点,可迭代执行以下步骤直至收敛:

  • 基于θt推断隐变量Z的期望,记为Zt;
  • 基于已观测变量X和Zt对参数θ做极大似然估计,记为θt+1

2 抛硬币例子

我们现在考虑两个抛硬币的例子:

"给定两个硬币A和B,随机抛掷后正面朝上概率分别记为 p'和'q'。每次随机选择一个硬币并投掷。有以下观察序列:H A H A T B T A T B H B H B T A H B H A T A T A H A H B H A T B,从给定数据估计出'p'和'q'的值"。

我们很容易计算出p:

相似地可以计算出q:

这很容易,因为计算未知参数所需的所有信息都是可获得的。但是,如果硬币上的标签(A和B)被隐藏起来,不知道每次投掷哪个硬币。鉴于A和B硬币同样可能被选中,那我们如何估计未知参数'p'和'q'?

我们将尝试通过多次迭代计算来解决问题。在每次迭代中,我们有两个步骤,'E'步骤和'M'步骤。

“E”步骤(期望):

  1. 首先初始化p和q的值(初始猜测)。
  2. 我们不是说掷硬币来自特定的硬币,而是说它以概率为'x'来自硬币A,来自硬币B概率'1-x'。
  3. 计算每枚硬币的正反期望数量。

“M”步骤(最大化):

  1. 从“E”步骤计算步骤3中每个硬币的正反期望的对数似然,类似于MLE计算。
  2. 最大似然估计出隐变量,并重新估计p和q的新值
  3. 使用新的p和q值重复“E”步骤,直到它收敛为止。

让我们举一个例子,其中进行了5次实验并且在每次实验中进行了10次抛掷。(使用两个硬币)。

我们从对未知参数初步进行猜测:p = 0.6和q = 0.5。让我们进行第一次实验。将此观察称为'S',我们想要估计观察'S'来自硬币A的可能性是多少,即P(A | S)。回想贝叶斯定理:

P(A)是选择硬币A的概率,它是0.5(因此是P(B)),因为我们知道每个硬币具有相同的被拾取概率。P(S | A)是观察的概率,因为它来自硬币A,即使用二项分布,我们推断它是:

同样地有,

P(S)是观察的概率。由于观察可以来自硬币A或硬币B或两者,因此:

然后可以得到:

将初始猜测的值代入p = 0.6和q = 0.5,得到P(A | S)= 0.45,因此P(B | S)= 1-P(A | S)= 0.55。因此,给定观察1,它来自硬币A的概率是0.45并且来自硬币B的概率是0.55。因此,预期的头部数量来自硬币A = 5 * 0.45并且尾部= 5 * 0.45,类似地,来自硬币B的头部的预期数量= 5 * 0.55并且尾部= 0.5 * 0.55。对其他四个实验重复相同的期望(E)步骤,我们得到硬币A = 21.3和尾部= 8.6的预期头部总数,类似于硬币B,预期头部总数= 11.7,尾部= 8.4

因此,对未知参数p和q的新估计是

上一步是“M”步骤或最大化步骤。我们重复上述EM步骤,直到'p'和'q'的值收敛。在这个例子中,'p'和'q'的值在大约10步中收敛到最终值p = 0.8和q = 0.52。

以上是EM算法应用的一个非常简单的例子。它用于表明给定具有缺失数据的参数估计问题,EM算法可以通过生成对丢失数据的可能猜测来迭代地解决该问题,然后通过使用这些猜测来最大化观察的可能性。除了简单的投掷硬币示例之外,EM已成功用于训练隐藏状态的HMM,EM也用于 聚类应用半监督学习

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.jianshu.com/u/261e23a40f71复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 机器学习之最大期望(EM)算法

    最大期望(Expectation Maximum)算法是一种迭代优化算法,其计算方法是每次迭代分为期望(E)步和最大(M)步。我们先看下最大期望算法能够解决什么...

    小一
  • 最大期望算法EM,极大似然函数

    最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的...

    大数据技术与机器学习
  • 机器学习期望最大算法:实例解析

    交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 —...

    double
  • 【机器学习】EM算法

    本文介绍了一种经典的迭代求解算法—EM算法。首先介绍了EM算法的概率理论基础,凸函数加jensen不等式导出算法的收敛性,算法核心简单概况为固定其中一个参数,优...

    yuquanle
  • 机器学习之EM算法

    EM算法不是模型,更确切的说是一种解决问题的思路。这个思路在机器学习中的场景是什么呢?

    汪毅雄
  • 机器学习 学习笔记(12) EM算法

    在实际情况中,往往会遇到未观测变量,未观测变量的学名是隐变量(latent variable)。令X表示已观测变量集,Z表示隐变量集,

  • 机器学习(16)——EM算法示例

    算法思想:含有隐变量的极大似然估计 我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。 但是在一些情况下,我们得到...

    DC童生
  • 简单易学的机器学习算法——EM算法

    一、机器学习中的参数估计问题 image.png 二、EM算法简介     在上述存在隐变量的问题中,不能直接通过极大似然估计求出模型中的参数,EM算法是一种解...

    felixzhao
  • 简单易学的机器学习算法——EM算法

        在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本

    felixzhao
  • 一文读懂EM期望最大化算法和一维高斯混合模型GMM

    EM最大期望算法是一个数值求解似然函数极大值的迭代算法,就好像梯度下降算法是一种数值求解损失函数极小值的迭代算法一样。

    lyhue1991
  • 【机器学习】--EM算法从初识到应用

    EM算法是一种解决存在隐含变量优化问题的有效方法。EM算法是期望极大(Expectation Maximization)算法的简称,EM算法是一种迭代型的算法,...

    LhWorld哥陪你聊算法
  • 机器学习——经典十大算法之EM算法

    EM算法的英文全称是Expectation-maximization algorithm,即最大期望算法,或者是期望最大化算法。EM算法号称是十大机器学习算法之...

    TechFlow-承志
  • 机器学习之从极大似然估计到最大熵原理以及EM算法详解

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

    大黄大黄大黄
  • 机器学习之从极大似然估计到最大熵原理以及EM算法详解

    极大似然估计是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出...

    大黄大黄大黄
  • 【机器学习】一文详尽系列之EM算法

    EM 算法,全称 Expectation Maximization Algorithm。期望最大算法是一种迭代算法,用于含有隐变量(Hidden Variabl...

    zenRRan
  • 机器学习(十九) ——K-均值算法理论

    机器学习(十九)——K-均值算法理论 (原创内容,转载请注明来源,谢谢) 一、概述 K均值(K-Means)算法,是一种无监督学习(Unsu...

    用户1327360
  • 机器学习 | 人人都能看懂的EM算法推导

    每天给你送来NLP技术干货! ---- 来源:Python数据科学 估计有很多入门机器学习的同学在看到EM算法的时候会有种种疑惑:EM算法到底是个什么玩意?它能...

    zenRRan
  • 机器学习中的EM算法详解及R语言实例

    CSDN:白马负金羁 最大期望算法(EM) K均值算法非常简单(可参见之前发布的博文),详细读者都可以轻松地理解它。但下面将要介绍的EM算法就要困难许多了,它...

    机器学习AI算法工程
  • 机器学习22:概率图--EM算法与GMM(高斯混合模型)

    EM算法(Expectation Maximization Algorithm, 最大期望算法)是一种迭代类型的算法,是一种在概率模型中寻找参数最大似然估计...

    用户5473628

扫码关注腾讯云开发者

领取腾讯云代金券