目录

1 隐变量模型

1.1 隐变量模型意义

1.2 高斯混合模型 GMM

1.3 其他模型(应用)

2 期望最大算法(EM)

2.1 EM算法意义

2.2 EM算法推导

2.3 EM算法

2.4 EM收敛性

3 隐变量模型和EM算法的应用

3.1 隐变量模型应用

3.2 EM应用和可求解的问题

符号:观测变量

,隐含变量

1 隐变量模型

1.1 隐变量模型意义

对于一些问题,直接使用观测的变量建模会导致问题过于复杂,或者无法得到很好的结果。但是,隐变量可以可以为部分问题提供一个很好的作为观测数据和目标结果之间的桥梁。

1.2 高斯混合模型 GMM

高斯混合模型就是由多个高斯模型组合在一起的混合模型(可以理解为多个高斯分布函数的线性组合,理论上高斯混合模型是可以拟合任意类型的分布),例如对于下图中的数据集如果用一个高斯模型来描述的话显然是不合理的:

(EM算法的一个重要应用场景就是高斯混合模型的参数估计。)

两个高斯模型可以拟合数据集,如图所示:

相关分布

观测数据是在某个隐含变量条件下的高斯分布

隐含变量满足多项分布

完全数据满足概率

高斯混合模型

1.3 其他模型(应用)

K-Means, Probablistic PCA (降维)

CS229中的例子, Prof. Andrew Ng以 Anomaly Detection 异常检测为例子,使用GMM模型判断一个异常点是否在GMM整体概率低的地方

2 期望最大算法(EM)

2.1 EM算法引入

对于参数估计我们一般使用MLE,但是对于带有隐变量的模型,如下似然中隐变量

和参数

都不知道

所以对于这样的情况,我们可以对隐变量做期望然后再最大化似然,这便引出了EM

2.2 EM算法推导

Jensen不等式,这个公式在推导和收敛都用到,主要是如下的结论:

如果

是凸函数,那么

如果

是凹函数,那么

推导出EM算法可以近似实现对观测数据的极大似然估计的办法是找到E步骤的下界,让下届最大,通过逼近的方式实现对观测数据的最大似然估计。统计学习基础中采用的是相减方式,我们来看下具体的步骤。

增加隐藏变量

先不看这个求和我们对公示展开并且引入一个分布

,可以化简和求解到如下式子 (符号有些变化,请只关注主体推导)

这里最大化似然,转化为了最大化 ELBO,以及最小化KL散度。

最小化 KL Divergence,需要两个概率相等,则

然后我们最大化 ELBO,将刚刚得到的q带入,则

这个ELBO,我们再整理一下就是我们 E-step 的 Q 函数(一个Epectation,也是这一步名字的由来)

接下来,就是 M-step 只需要最大化 Q 函数即可,得到参数

2.3 EM算法核心总结

EM algorithm 是坐标上升(或下降) coordinate descent optimization 优化 variational lower bound

Expectation 步 (求期望)

E 步骤,由两个分步骤,一是根据 KL Divergence 或者 Jensen 不等式取得极值得条件,获得 q得分布;二是构建 Q 就是 ELBO,也就是期望

Maximization 步 (求期望的最大)

2.4 EM算法步骤

输入:观测变量数据

,隐变量数据

,联合分布

,条件分布

输出:模型参数

(1)选择参数的初值

,开始

迭代

(2) E 步:记

为第i次迭代参数

的估计值,在第

次迭代的E步,计算

这里,

是在给定

观测数据

和当前的参数估计下隐变量数据

的条件概率分布;(3) M步:求使

极大化的

,确定第

次迭代的参数的估计值

是EM算法的核心,称为Q函数(Q function),这个是需要自己构造的。(4) 重复第(2)步和第(3)步,直到收敛,收敛条件:

或者 ELBO

收敛迭代就结束了。我们来拆解一下这个M步骤,

2.4 EM收敛性

通过似然和下界,得到下面的式子。由下式第一项和最后一项,得到算法一定会收敛

但,EM算法可能收敛到局部最优处,所以需要多次初始化,运行EM来得到全局最优。

3 隐变量模型和EM算法的应用

3.1 隐变量模型应用观测数据有噪声,可以把无噪声数据当做隐变量

高维数据转化到低维度,可以把低维度当做隐变量

数据来自不同分布,可以把不同分布的软比例作为隐变量

数据有缺失,可以把缺失的特征作为隐变量

3.2 EM在GMM中的应用E 步 :

E1步骤:利用KL散度,得到近似概率分布

E2步骤:构建Evidence Lower Bound (Q function),即期望

M 步:

求导,得到每个未知量的偏导,使其偏导等于0,求解得到:

gmm中隐变量是什么的_机器学习-隐变量模型和期望最大算法相关推荐

  1. 机器学习模型 知乎_机器学习中有哪些模型?

    AI主要的作用就是利用计算机模拟各种生物智能来解决问题,生物智能的多样性造就了计算机模拟智能的多样性,但是不管模拟的智能是什么,整个处理的过程都是相似的,都需要把模拟的智能通过数学建模给抽象出来,找到 ...

  2. lda主题模型困惑度_机器学习-LDA主题模型笔记

    LDA常见的应用方向: 信息提取和搜索(语义分析):文档分类/聚类.文章摘要.社区挖掘:基于内容的图像聚类.目标识别(以及其他计算机视觉应用):生物信息数据的应用; 对于朴素贝叶斯模型来说,可以胜任许 ...

  3. 3. 机器学习中为什么需要梯度下降_机器学习中一些模型为什么要对数据归一化?...

    一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?很多同学并未搞清楚,维基百科给出的解释: 1)归一化后加快了梯度下降求最优解的速度 蓝 ...

  4. python变量后面加星号_计算与变量(一)跟杜老师一起,趣学Python编程

    好了,现在你的Python装好了,也知道如何启动PythonShell程序了,那么你就已经准备好用它来做点什么了.我们将从一些简单的计算开始,然后再使用变量.变量是计算机程序中用来保存东西的一种方式, ...

  5. java静态变量需要初始化吗_» Java静态变量初始化顺序浅谈

    Java 类初始化顺序在网上已经有很多文章了,这里不再谈那么多,仅仅谈下Java静态变量的初始化顺序,如果你是Java高手,并且自认为对这个顺序已经掌握到了炉火纯青的境界,请忽视这篇文章. 前天看了Y ...

  6. 多分类f1分数_机器学习之分类模型评估总结

    一.概述 在机器学习模型搭建好之后,需要对模型进行评估,针对不同的算法模型有不同的评估方法,比如:分类算法.回归算法.聚类算法等,本文主要是针对分类算法的模型评估方法进行总结整理,便于自己对评估方法的 ...

  7. 推荐系统算法_机器学习和推荐系统(二)推荐算法简介

    推荐算法简介 一. 基于人口统计学的推荐算法 二.基于内容的推荐算法 三. 基于协同过滤的推荐算法 协同过滤(Collaborative Filtering , CF) 基于近邻的系统过滤 基于用户( ...

  8. python实现朴素贝叶斯算法_机器学习---用python实现朴素贝叶斯算法(Machine Learning Naive Bayes Algorithm Application)...

    在这里,我们使用一份皮马印第安女性的医学数据,用来预测其是否会得糖尿病.文件一共有768个样本,我们先剔除缺失值,然后选出20%的样本作为测试样本. 特征分别是: 怀孕次数 口服葡萄糖耐量试验中血浆葡 ...

  9. ltv价值 应用_浅谈LTV模型的概念、算法及作用意义

    本帖最后由 图样图森破 于 2013-11-14 09:11 编辑 LTV 概念 用户终身价值(life time value)解释 LTV是在一定时间内,某一客户可能为企业带来的利润额. 顾客终身价 ...

最新文章

  1. 03 基本数据类型、运算符 输入输出
  2. 2小时演讲,近140页PPT,这个NeurIPS Tutorial真是超硬核的AI硬件教程
  3. 区块链学习路线及资料索引
  4. android cmd 右键菜单不见了,为Windows右键菜单提供打开命令行选项
  5. 道格拉斯-普克 Douglas-Peuker(DP算法) python java实现
  6. Maven 项目名称红色感叹号的问题总结
  7. linux c语言链表的简单应用之创建链表
  8. 解读阿里云oss-android/ios-sdk 断点续传(多线程)
  9. jms message组成和jsm selector详解(二)
  10. javaone_JavaOne 2015:高级模块化开发
  11. 【nyoj - 890】 分东西 (水题 二进制)
  12. 关于mono的编译与安装
  13. android修改对话框大小设置,android – 如何更改对话框首选项消息的文本大小?...
  14. python的统计库_Python-Scipy库-卡方分布统计量计算
  15. 文献笔记(5)(2017ISSCC 14.1)
  16. C语言将循环小数/有限小数转换为分数
  17. 通过漫画学习MySQL索引及优化
  18. 【呕心总结!】Ubuntu安装Basilisk流体仿真软件
  19. [wp7软件]相机 画图 截屏 photo 集合 软件(一)
  20. linux usb网卡驱动 ko,qf9700 USB网卡在x86 linux和arm linux上的驱动安装以及配置

热门文章

  1. 霍邱一中2021高考成绩查询入口,2021六安高考成绩查询系统
  2. 河北对口计算机计算机网络,河北对口计算机试题及答案.doc
  3. css margin padding 0,CSS 彻底理解margin与padding
  4. java cookie p3p_利用P3P实现单点登录和COOKIE的跨域读写
  5. linux 查找html文件,linux查找文件内容包含
  6. Redis sorted set(有序集合)
  7. linux下的文档处理及tar命令
  8. [NOIP2011] 计算系数(二项式定理)
  9. linux shell脚本 检查IP地址格式
  10. Vmware 15 安装 win7 虚拟机 (初学者操作与详解教程)