文章目录

  • 前言
  • 极大似然
    • 问题描述
    • 参数估计
    • 极大似然估计
    • 极大似然应用
      • 极小化代价函数
  • EM算法
    • EM算法推导
      • 基础知识
        • 凸函数
        • Jensen不等式
        • 期望
      • 推导过程
      • 算法流程
    • 另一种呢理解
    • EM算法案例
  • 参考

前言

EM算法与极大似然算法相似,是一种解决问题的思想,解决一类问题的框架,和线性回归,逻辑归回,决策树等一些具体算法不同,极大似然算法更加抽象,是很多具体算法的基础。本文主要从一个例子出发,从极大似然到EM算法。本文主要参考: 人人都能看懂EM算法。

极大似然

问题描述

假设当前有个任务:调查一所学校的学生的身高分布。该如何调查?首先先假设这所学校学生的身高服从正态分布N(μ,σ2)N(\mu, \sigma^2)N(μ,σ2),极大似然估计需要先假设数据的总体分布。该分布中μ\muμ和σ\sigmaσ为未知项,假设得到这两个结果,那么将得到最终的学校学生身高分布。

要估算这个这个分布的两个参数,不可能全部学生都需要统计,那么就需要用到抽样,概率统计的思想,根据样本估算总体。假设随机抽取200人身高(下面简述为人),那么可以根据这200人,得到样本的的均值μ\muμ和方差σ\sigmaσ。

将上面的过程用数学语言描述就是:为了统计学校学生的身高分布,独立地按照概率密度函数p(x∣θ)p(x|\theta)p(x∣θ)抽取200人,组成样本集合:X=x1,x2,...,xNX=x_1, x_2, ..., x_NX=x1​,x2​,...,xN​,其中xix_ixi​表示第iii人的身高,NNN表示抽样样本数200。然后通过样本集XXX来估算总体的未知参数θ\thetaθ。这里的概率密度函数p(x∣θ)p(x|\theta)p(x∣θ)服从高斯分布N(μ,σ2)N(\mu, \sigma^2)N(μ,σ2),其中未知参数是θ=[μ,σ]T\theta=[\mu, \sigma]^Tθ=[μ,σ]T。现在的任务就是需要估计总体参数θ\thetaθ。

参数估计

根据随机抽样的原理,这200名学生是随机抽样的,相互独立。那么假设抽到学生A的概率是p(xA∣θ)p(x_A|\theta)p(xA​∣θ),抽到学生B的概率是p(xB∣θ)p(x_B|\theta)p(xB​∣θ),那么同时抽到学生A和学生B的概率就为:pA∗pBp_A*p_BpA​∗pB​,同理抽到这200位学生的概率就是各自概率的乘积,即联合概率,用下式表示:
L(θ)=L(x1,x2,...,xn;θ)=∏i=1np(xi∣θ),θ∈ΘL(\theta) = L(x_1, x_2, ..., x_n;\theta) = \prod^{n}_{i=1}p(x_i|\theta), \theta \in \Theta L(θ)=L(x1​,x2​,...,xn​;θ)=i=1∏n​p(xi​∣θ),θ∈Θnnn表示的是抽样样本数,这个公式反映了,在概率密度函数的参数为θ\thetaθ时,得到XXX这组样本的概率。换言之LLL是关于θ\thetaθ的函数。这个函数反映了在不同参数θ\thetaθ的取值下,取得当前样本集的可能性,因此称为参数θ\thetaθ的相对于样本集XXX的似然函数,记为L(θ)L(\theta)L(θ)。

将上式变形,两边取对数,则为:H(θ)=ln⁡L(θ)=ln⁡∏i=1np(xi∣θ)=∑i=1nln⁡p(xi∣θ)H(\theta) = \ln L(\theta) = \ln \prod^{n}_{i=1}p(x_i|\theta) = \sum^{n}_{i=1}\ln p(x_i|\theta)H(θ)=lnL(θ)=lni=1∏n​p(xi​∣θ)=i=1∑n​lnp(xi​∣θ)这里取对数的原因是将累积变成累加,方便计算。

那么在这所学校中,要使得抽到这200人的概率最大,那么就要让对应的似然函数L(θ)L(\theta)L(θ)极大,即:θ^=argmaxL(θ)\hat{\theta} = arg maxL(\theta)θ^=argmaxL(θ),这里的θ^\hat{\theta}θ^叫做θ\thetaθ的极大似然估计量,即所求的值。

怎么样求极大值,高中的时候学过的偏导数,就可以求得一个函数的极大值。

极大似然估计

在现实场景下,大多数情况根据已知条件去推算结果,而极大似然估计可以这么理解为相反,根据结果,寻找使该结果出现可能性极大的条件,以此作为估计值。
如:

  • 假如一个学校的学生男女比例为 9:1 (条件),那么你可以推出,你在这个学校里更大可能性遇到的是男生 (结果);
  • 假如你不知道那女比例,你走在路上,碰到100个人,发现男生就有90个 (结果),这时候你可以推断这个学校的男女比例更有可能为 9:1 (条件),这就是极大似然估计。

极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率极大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

求解极大似然的一般步骤如下:

  • 写出似然函数
  • 对似然函数取对数,并整理
  • 求导数,令导数为0,得到似然方程
  • 解似然方程,得到参数

极大似然应用

极小化代价函数

极小化代价函数也可以理解为回归问题中的极小化平方和。假设线性回归模型具有如下形式:h(x)=∑i=1dθjxj+ϵ=θT+ϵh(x) = \sum^{d}_{i=1}\theta_jx_j+\epsilon = \theta^{T}+\epsilonh(x)=i=1∑d​θj​xj​+ϵ=θT+ϵ其中x∈R1×dx\in R^{1\times d}x∈R1×d,θ∈R1×d\theta\in R^{1\times d}θ∈R1×d,误差ϵ∈R\epsilon\in Rϵ∈R。那么如何求θ\thetaθ?

  1. 最小二乘法估计。最合理的参数估计量应该是的模型能最好地拟合样本数据,也就是估计值和观测值只差的平方和最小,推导过程如下:J(θ)=∑i=1n(hθ(xi)−yi)2J(\theta) = \sum^{n}_{i=1}(h_\theta(x_i)-y_i)^2J(θ)=i=1∑n​(hθ​(xi​)−yi​)2求解方法是通过梯度下降算法,训练数据不断迭代得到最终的值。
  2. 极大似然方法,最合理的参数估计量应该使得从模型中抽取mmm组样本观测值的概率极大,即似然函数极大。
    假设误差项ϵ∈N(0,σ2)\epsilon\in N(0, \sigma^2)ϵ∈N(0,σ2),则yi∈N(θxi,σ2)y_i\in N(\theta x_i, \sigma^2)yi​∈N(θxi​,σ2)。


EM算法

EM算法与极大似然相似的地方是假设总体数据都满足某一个分布,如正态分布。不一样的是假设学校中男生和女生分别服从两种不同的正态分布,即男生的分布为N(μ1,σ12)N(\mu_1, \sigma^2_1)N(μ1​,σ12​),女生的分布为N(μ2,σ22)N(\mu_2, \sigma^2_2)N(μ2​,σ22​)。用数学的语言就是,抽取得到的每个样本都不知道是从哪个分布来的。那怎么办呢?

EM算法推导

基础知识

凸函数

Jensen不等式

期望

推导过程




算法流程

另一种呢理解

坐标上升法(Coordinate ascent)(类似于梯度下降法,梯度下降法的目的是最小化代价函数,坐标上升法的目的是最大化似然函数;梯度下降每一个循环仅仅更新模型参数就可以了,EM算法每一个循环既需要更新隐含参数和也需要更新模型参数,梯度下降和坐标上升的详细分析参见攀登传统机器学习的珠峰-SVM (下))

图中的直线式迭代优化的路径,可以看到每一步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因为每一步只优化一个变量。这犹如在x-y坐标系中找一个曲线的极值,然而曲线函数不能直接求导,因此什么梯度下降方法就不适用了。但固定一个变量后,另外一个可以通过求导得到,因此可以使用坐标上升法,一次固定一个变量,对另外的求极值,最后逐步逼近极值。对应到EM上,E步:固定 θ,优化Q;M步:固定 Q,优化 θ;交替将极值推向极大。

EM算法案例

假设有两枚硬币A、B,以相同的概率随机选择一个硬币,进行如下的掷硬币实验:共做 5 次实验,每次实验独立的掷十次,结果如图中 a 所示,例如某次实验产生了H、T、T、T、H、H、T、H、T、H (H代表正面朝上)。a 是在知道每次选择的是A还是B的情况下进行,b是在不知道选择的是A还是B的情况下进行,问如何估计两个硬币正面出现的概率?




参考

  1. 人人都能看懂EM算法
  2. em_tutorial

机器学习 EM算法理解相关推荐

  1. 深入理解机器学习——EM算法/最大期望算法(Expectation-Maximization Algorithm, EM)

    分类目录:<深入理解机器学习>总目录 在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是"完整"的.但在现实应用中往往会遇到"不完 ...

  2. 一个算法对于某个输入的循环次数是可以事先估计出来的_结合各路博客的EM算法理解...

    本文主要是记录个人对EM算法的理解,原料都是基于各路博客,这里对原文博主表示感谢. Part 1: 第一个博客来自于 https://www.jianshu.com/p/1121509ac1dc .基 ...

  3. 机器学习 | EM 算法原理

    文章目录 EM 算法 1. EM 算法的引入 三硬币模型 2. EM 算法 Q 函数 参考文献 相关文章: 机器学习 | 目录 无监督学习 | GMM 高斯混合原理及Sklearn实现 本文大部分内容 ...

  4. 机器学习——EM算法

    EM算法 EM算法是一种常用的估计参数隐变量的利器,也称为期望最大算法,是数据挖掘的十大经典算法之一.EM算法主要应用与训练样本不完整即存在隐变量时的情形(例如某个属性值未知),通过独特的两步走策略能 ...

  5. 最大似然与EM算法理解

    似然函数:在已经抽到这一组样本X的条件下,估计参数θ的值,θ代表指定的分布参数. 最大似然估计可看作是一个反推,通常根据已知条件推算结果,而最大似然估计是已知结果,然后寻求使该结果出现的可能性最大的条 ...

  6. 机器学习 EM算法 从极大似然法谈起

    极大似然法 VS EM算法 EM(Expectation Maximization)算法是复杂化的极大似然法(Maximum Likelihood). 极大似然法问题中,所有观测值属于同一分布,需要估 ...

  7. 学习笔记三:GMM模型以及EM算法理解及代码实现

    第三章 GMM模型以及EM算法 1.潜变量模型 使用潜变量解释观测变量的数学模型,称之为潜变量模型 潜变量模型将不完全数据(观测数据)的边缘分布转换成容易处理的完全数据(观测数据+潜变量)的联合分布. ...

  8. [机器学习]gcForest算法理解

    一.相关理论 本篇博文主要介绍南京大学周志华教授在2017年提出的一种深度森林结构--gcForest(多粒度级联森林).近年来,深度神经网络在图像和声音处理领域取得了很大的进展.关于深度神经网络,我 ...

  9. EM算法理解的九层境界

    https://www.zhihu.com/question/40797593/answer/275171156

最新文章

  1. MYSQL5-7版本sql_mode=only_full_group_by问题
  2. ubuntu12.04 更新内核
  3. Leetcode 169.多数元素 (每日一题 20210715)
  4. 制作一个状态栏中跑马灯效果_snapseed制作“照片中的照片”画中画效果的方法...
  5. 剑指offer--从尾到头打印链表
  6. 阿里云移动端播放器高级功能---截图和音频波形 1
  7. php array_key_exists() 与 isset() 的区别
  8. SoapUI、Jmeter、Postman三种接口测试工具的比较分析
  9. 简单的HTML5灰度图查看器 simple PACS DICOM HTML5 viewer
  10. 怎么查询sybase money列数据长度_用PBI分析上市公司财务数据(一)
  11. macos下刻录系统盘
  12. mysql 5.7.26卸载_MySQL 5.7.26安装与卸载
  13. Firefox about:config设置
  14. 青云mysql_青云分布式数据库RadonDB 深度兼容MySQL
  15. 3D打印中常见的7中材质分析
  16. [转]技术经纪人将成职业新宠
  17. asp.net 鲜花销售系统1058毕业设计
  18. 小数输出最简分数c语言,小数化成最简式分数
  19. php 代码中使用换行
  20. 如何实现从M个数字选取N个数字排列算法

热门文章

  1. 极海APM32F072RB开发环境测试
  2. arcgis把jpg转成栅格图像_在ArcGIS中配准(TIF、JPEG)栅格图像并矢量化
  3. 【Windows内核编程】Win10/Win11通过PspCidTable取得EProcess
  4. ARM基础(5) ARM通讯接口
  5. 加油站问题的题解与分析——循环队列+合并
  6. 单片机按键去抖,极简
  7. Elasticsearch7.8
  8. VS Code中常用插件
  9. 香港城大:首创3D打印磁控微型机器人技术,推动人体送药研究发展
  10. Markdown 前言