EM算法及其推广---《统计学习方法》第9章

2023-10-29

EM算法是一种迭代算法,用于含有隐变量概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步求期望值,M步求最大值。
(EM算法是一种对模型参数的估计,该模型中含有隐变量)

EM算法的引入

EM算法

概率模型有时既含有观测变量,又含有隐变量或潜在变量。如果概率模型的变量都是观测变量,那么就可以通过极大似然估计或贝叶斯估计法估计模型参数。但是,当模型中含有隐变量的时候,就不能简单的使用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。
观测数据的似然函数:

P(Y|θ)=zP(z|θ)P(Y|z,θ) P ( Y | θ ) = ∑ z P ( z | θ ) P ( Y | z , θ )
对似然函数求最大值的结果就是参数 θ θ 的极大似然估计。也就是对数似然函数 L(θ)=logP(Y|θ) L ( θ ) = log ⁡ P ( Y | θ ) 的极大似然估计。
EM算法与初值的选择有关,选择不同的初值可能得到不同的参数估计值。
(Q函数)完全数据的对数似然函数 logP(Y,Z|θ) l o g P ( Y , Z | θ ) 关于在给定观测数据Y和当前参数 θ(i) θ ( i ) 下对未观测数据Z的条件概率分布 P(Z,Y|θ(i)) P ( Z , Y | θ ( i ) ) 的期望称为Q函数,即
Q(θ,θ(i))=Ez[logP(Y,Z|θ)|Y,θ(i)] Q ( θ , θ ( i ) ) = E z [ log ⁡ P ( Y , Z | θ ) | Y , θ ( i ) ]

EM算法的导出

EM算法是通过不断求解下界(对数似然函数的下界)的极大化逼近求解对数似然函数极大化的算法。

EM在非监督学习中的应用

EM算法可以用于生成模型的非监督学习。生成模型由联合概率分布P(X,Y)表示,可以认为非监督学习训练数据是联合概率分布产生的数据,X为观测数据,Y为未观测数据。

EM算法的收敛性

定理1 设 PY|θ P ( Y | θ ) 为观测数据的似然函数, θ(i) θ ( i ) 为EM得到的参数估计序列, PY|θ(i) P ( Y | θ ( i ) ) 为对应的似然函数序列,则 PY|θ(i) P ( Y | θ ( i ) ) 是单调递增的。
初值的选择十分重要,常用的方法是选择几个不同的初值进行迭代,然后对得到的各个估计值加以比较,从中选择最好的。

EM算法在高斯混合模型学习中的应用

EM算法的一个重要应用是高斯混合模型(Gaussian misture model, GMM)的参数估计。

EM算法的推广

F函数
GEM函数

相关问题总结

1.EM算法的由来/原理
我们面对一个含有隐变量的概率模型,目标是极大化观测数据(不完全数据)关于参数 θ θ 的对数似然函数,但是这一极大化的困难是在计算过程中有未观测数据并有包含和(或积分)的对数。那么EM算法通过迭代不断求解下界的极大化逼近求解对数似然函数极大化的算法。
2.算法的过程;
1)选择参数初值
2)E步:确定Q函数,也就是求出完全数据的对数自然函数关于在给定观测数据Y和当前参数下对未观测数据的条件概率分布 P(Z,Y|θ(i)) P ( Z , Y | θ ( i ) ) 的期望
3)M步:求Q函数的极大值,得出第i+1次迭代的参数的估计值。
4)重复2-3步直到收敛。
3.采用EM算法求解的模型有哪些?为什么不用牛顿法或者梯度下降法?
一般有混合高斯、协同过滤、k-means。算法一定会收敛,但是可能会收敛到局部最优。EM算法是一种非梯度下降算法,解决了梯度下降等优化方法的缺陷:求和的项数将随着隐变量的数目以指数级上升,会给梯度计算带来麻烦)。
4.用EM算法推导解释K-means:
k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。k-means中每个样本所属的类就可以看成是一个隐变量。
在E步中,我们固定每个类的中心,通过对每一个样本选择最近的类优化目标函数;在M步,重新更新每个类的中心点,该步骤可以通过对目标函数求导实现,最终可得新的类中心就是类中样本的均值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EM算法及其推广---《统计学习方法》第9章 的相关文章

  • 机器学习算法——K-近邻算法(代码实现手写数字识别)

    0 引言 xff0c K 近邻算法是一种非常有效的分类算法 xff0c 它非常有效且易于掌握 原理 xff1a K 近邻算法通过计算不同样本之间的距离来分类物品 使用前 xff0c 我们需要有一个训练样本集 xff0c 并且样本集中每个数据
  • 机器学习算法(一):逻辑回归模型(Logistic Regression, LR)

    目录 1 LR 1 1 直观表述 1 2 决策边界 Decision Boundary 2 权值求解 2 1 代价函数 似然函数 2 1 1 为什么损失函数不用最小二乘 即逻辑斯蒂回归损失函数为什么使用交叉熵而不是MSE 2 1 2 代价函
  • 变分推断(Variational Inference)解析

    一 什么是变分推断 假设在一个贝叶斯模型中 x x x为一组观测变量 z z z为一组隐变量 参数也看做随机变量 包含在 z
  • EM算法及其推广---《统计学习方法》第9章

    EM算法是一种迭代算法 用于含有隐变量的概率模型参数的极大似然估计 或极大后验概率估计 EM算法的每次迭代由两步组成 E步求期望值 M步求最大值 EM算法是一种对模型参数的估计 该模型中含有隐变量 EM算法的引入 EM算法 概率模型有时既含
  • 算法实践1_线性回归

    参数解释 sklearn linear model LinearRegression fit intercept True normalize False copy X True n jobs None 超参 解释 类型 默认值 fit i
  • 加权随机抽样算法

    1 基于均匀分布概率的算法 例如 3等奖抽中的概率是70 2等奖是20 1等奖是10 这样 大部分人都只能中3等奖 小部分人是二等奖 而只有特别少的人才可能拿到一等奖 产生0 100之间的均匀分布的随机数 当随机数在0 70时 就获得3等奖
  • 树形算法

    树形算法 adaboost GBDT 回归问题 XGBOOST lightgbm bagging和boosting 区别 adaboost 二分类问题 给定一个数据集T x1 y1 x2 y2 xn yn 其中y取1和 1 权值初始化 D1
  • 机器学习算法(二十四):最近邻算法 KNN(k-nearest neighbor)

    目录 1 基于实例的学习 2 k 最近邻法 2 1 算法概述 2 2 kNN算法的一般流程 2 3 距离公式 2 4 k值的选择 2 5 KNN特点 2 5 1 特点 2 5 2 KNN算法的优势和劣势 3 距离加权最近邻算法 k 最近邻算
  • 逻辑回归分类器(Logistic Regression Classifier)

    Logistic regression 逻辑回归 是当前业界比较常用的机器学习方法 用于估计某种事物的可能性 也用来进行分类 在分类的情形下 经过学习之后的LR分类器其实就是一组权值w0 w1 wm 当输入测试样本集中的测试数据时 这一组权
  • 数据预测分析

    数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 目录 数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 基本介绍 数据下载 程序设计 参考资料 致谢 基本介绍 此示例说明如何使用通用时间卷积网络 TCN 对序列数据
  • 推荐系统详解

    1 基于内容的推荐系统 1 基于内容的推荐算法概述 基于内容的推荐算法 Content based Recommendations CB 也是一种工业界应用比较广的一种推荐算法 由于协同过滤推荐算法中仅仅基于用户对于商品的评分进行推荐 所以
  • 匹配算法之 匈牙利算法详解

    参考 算法学习笔记 5 匈牙利算法 漫谈匈牙利算法 匈牙利算法 KM算法 匈牙利算法 二分图 通俗易懂小白入门 二分图最大匹配 匈牙利算法 多目标跟踪之数据关联 匈牙利匹配算法和KM算法 小白学习笔记 一 目标跟踪 匈牙利匹配 一 匈牙利算
  • 白话机器学习-Transformer

    一 背景 大抵是去年底吧 收到了几个公众号读者的信息 希望能写几篇介绍下Attention以及Transformer相关的算法的文章 当时的我也是满口答应了 但是确实最后耽误到了现在也没有写 前一阵打算写这方面的文章 不过发现一个问题 就是
  • adam算法介绍和总结

    19 adam算法 Adam 是一种可以替代传统随机梯度下降 SGD 过程的一阶优化算法 它能基于训练数据迭代地更新神经网络权重 Adam 最开始是由 OpenAI 的 Diederik Kingma 和多伦多大学的 Jimmy Ba 在提
  • SVM算法笔记(2)

    线性可分支持向量机与硬间隔最大化 1 线性可分支持向量机 一般地 训练数据线性可分 存在无穷个分离超平面可将两类数据正确分开 感知机利用误分类最小的策略 求得分离超平面 解有无穷多个 线性可分支持向量机利用间隔最大化求最优分离超平面 解唯一
  • 【BERT类预训练模型整理】

    BERT类预训练模型整理 1 BERT的相关内容 1 1 BERT的预训练技术 1 1 1 掩码机制 1 1 2 NSP Next Sentence Prediction 1 2 BERT模型的局限性 2 RoBERTa的相关内容 2 1
  • 【机器学习-分类】决策树预测

    我用一些机器学习的算法对数据进行一个分类 下面是一些需要用到的基础代码 以决策树为例 并不包括针对项目的模型处理和修改 留作记忆学习 对于数据划分训练集直接省略 def Tree score depth 3 criterion entrop
  • pandas数据判断是否为NaN值的方式

    实际项目中有这样的需求 将某一列的值 映射成类别型的数据 这个时候 需要我们将范围等频切分 或者等距切分 具体的做法可以先看某一些特征的具体分布情况 然后我们选择合适的阈值进行分割 def age map x if x lt 26 retu
  • 机器学习2-线性回归

    一 矩阵求导公式 1 总体情况 2 分子布局 Numerator layout 和分母布局 Denominator layout 首先我们常说 y 对 x 求导 这里的 y 和 x 均默认为列向量 y为 mx1 x为 nx1 1 分子布局
  • 人工智能-10种机器学习常见算法

    机器学习是目前行业的一个创新且重要的领域 今天 给大家介绍机器学习中的10种常见的算法 希望可以帮助大家适应机器学习的世界 1 线性回归 线性回归 Linear Regression 是目前机器学习算法中最流行的一种 线性回归算法就是要找一

随机推荐

  • Python构建SVM分类器(线性)

    1 SVM建立线性分类器 SVM用来构建分类器和回归器的监督学习模型 SVM通过对数学方程组的求解 可以找出两组数据之间的最佳分割边界 2 准备工作 我们首先对数据进行可视化 使用的文件来自学习书籍配套管网 首先增加以下代码 import
  • 腾讯云阿里云服务器被打进黑洞怎么办

    当腾讯云腾讯云服务器被打进黑洞了我们该怎么办 首先我们要知道以下的这些 黑洞 是什么 黑洞是指服务器受攻击流量超过本机房黑洞阈值时 云计算服务商屏蔽服务器的外网访问 当服务器进入黑洞一段时间后 如果系统监控到攻击流量停止 黑洞会自动解封 进
  • 程序员微信名昵称_微信名字大全

    微信名字 好听的微信名字大全 只求一份安定 无可置疑 吥 恠侑嗳 丶演绎悲伤 一生承诺 简单灬爱 流年灬未亡 舞动D 灵魂 别在我面前犯贱 没有背景丶只有背影 乂日光倾城 丶猫猫er 雪花 飞舞 在哪跌倒 就在哪躺下 淡抹丶悲伤 稀饭你的笑
  • 考研算法题:最短边数最短路

    题目 一个图有很多条最短路 求所有最短路里面的边数最少的最短路的边数 思路1 先求最短路 然后BFS倒推寻找最短边数的最短路的边数 找到直接返回cnt值 include
  • 机器学习- CS 760 Machine Learning

    代码后台私我
  • 【Spring】ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK) 问题解决

    1 概述 转载 ERR INCOMPLETE CHUNKED ENCODING 200 OK 问题解决 我是在做这个项目的时候遇到这个报错 Spring Spring 网络原因导致日志下载失败 2 简述 浏览器调用接口报错 net ERR
  • Python使用threading.Timer实现执行可循环的定时任务

    前言 Python中使用threading Timer执行定时任务时 执行任务是一次性的 类似于JS中的setTimeout方法 我们对其在封装 改造成可循环的定时器 类似于JS中setInterval方法的效果 值得注意的是 thread
  • 关于distinct——去除重复记录

    distinct译为 不同的 有区别的 在SQL语句中表示去除重复记录的意思 举例 在员工表emp中查询所有的工作岗位 分析 在员工表中的工作岗位字段下有重复的工作岗位 我们在查询的时候就希望将重复的工作岗位显示出一个来就行 在不使用关键字
  • 【模块介绍】6×6矩阵键盘(硬件部分和扫描方式)

    目录 概述 原理图 扫描方式 扫描法 单个按键按下 多个按键按下 行反转法 图解 成品 概述 矩阵键盘非常常见 就是利用键盘组成矩阵来减少IO口的使用 做成6 6的矩阵键盘可以使用12个IO口读取36个按键 矩阵键盘的优势在于成本低 无需其
  • Java中switch case的使用

    Java switch case语句 switch case用来判断一个变量与一系列值中某个值是否相等 每个值称为一个分支 switch case规则 switch语句中变量类型可以是 byte short int char 从Java S
  • 网上疯传的《阿里Java架构师成长之路》!,网友瞬间沸腾了

    工作1 5年开发经验 当你们提出涨工资的时候 或者要offer的时候底气怎么样 是不是底气十足 不给涨工资就辞职 是不是有自信提出来主管 或者是项目经理都能同意 他们相当设法把你留住 如果这样你才是成功 什么技术都没有何谈工资 给你分析一下
  • Algo_math、判断两圆包含

    给定一个圆A X Y 圆心 R为半径 圆B x y 圆心 r为半径 判断 圆B 是否在 圆A 的内部 上图 则不包含 等价于 绿线长度 lt R X x
  • Java面试题详解:什么是面向对象编程

    参考答案 一般我们可以围绕面向对象的几个特征去展开 封装 继承 抽象 多态 个人理解 面向对象编程有点类似于数学建模 一般用于解决一个复杂的问题 解决这个问题通常涉及到多个物理或抽象概念 并且它们之间会有各种关系及交互行为 面向对象编程其实
  • boost.asio服务器使用io_service作为work pool

    使用io service作为处理工作的work pool 可以看到 就是通过io service post投递一个Handler到io service的队列 Handler在这个io service run内部得到执行 有可能你会发现 io
  • linux下查看谁在用显卡

    一般查看显卡的使用情况使用的命令为 nvidia smi 但是这个只能输出显卡的占用及进程 看不到谁在用 信息如下 但是可以借助上面的PID信息 查看对应的进程是谁调用的 命令为 ps f p 4417 其中4417就是上图中的其中一个PI
  • 激活函数---Sigmoid、Tanh、ReLu、softplus、softmax

    激活函数 就是在神经网络的神经元上运行的函数 负责将神经元的输入映射到输出端 常见的激活函数包括 Sigmoid TanHyperbolic tanh ReLu softplus softmax 这些函数有一个共同的特点那就是他们都是非线性
  • 数据结构:树的概念和结构

    文章目录 1 树的概念 2 树的结构 3 树的相关概念 4 树的表示 孩子表示法 双亲表示法 孩子兄弟表示法 5 树在实际中的应用 1 树的概念 树是一种非线性的数据结构 它是由 n n gt 0 个有限结点组成一个具有层次关系的 把它叫做
  • TCP —— TCP连接的建立与释放

    一 TCP连接管理 在TCP连接建立的过程中 要解决以下三个问题 要使每一方都能够确知对方的存在 要允许双方协商一些参数 如最大窗口值 是否使用窗口扩大选项 时间戳选项及服务质量等 能够对运输实体资源 如缓存大小 连接表中的项目等 进行分配
  • echarts 暂无数据的完美解决办法

    前景 很简单的一个思想 我希望没有数据的时候 不显示图表 并且用empty来替换 但是直接使用v if 会出错 因为调用的时候 拿不到dom了 v if直接把dom干掉了 怎么办呢 直接上步骤 1 第一步 我们应该在每次点击按钮的时候 发送
  • EM算法及其推广---《统计学习方法》第9章

    EM算法是一种迭代算法 用于含有隐变量的概率模型参数的极大似然估计 或极大后验概率估计 EM算法的每次迭代由两步组成 E步求期望值 M步求最大值 EM算法是一种对模型参数的估计 该模型中含有隐变量 EM算法的引入 EM算法 概率模型有时既含