机器学习之EM算法的原理推导及相关知识总结

文章目录

  • 1、知道先验概率和后验概率
  • 2、了解高斯混合模型GMM
  • 3、通过最大似然估计推导EM算法的过程的实例
  • 4、EM算法
  • 5、知道pLSA模型

1、知道先验概率和后验概率

先验概率(prior probability)是指根据以往经验和分析得到的概率(理解为自定义概率)。而后验概率是在考虑了一个事实之后的条件概率。

2、了解高斯混合模型GMM

EM是K-means的推广
以下的两个问题都是属于无监督学习(对于不知道样本数的问题,采用EM算法
EM算法场景
高斯混合模型GMM:随机变量x由k个高斯分布混合而成。
GMM参数估计的理解(相当于由变量x的一部分样本进而去估计对应的x发生的概率以及均值μ和方差
在这里插入图片描述
在这里插入图片描述

3、通过最大似然估计推导EM算法的过程的实例

在这里插入图片描述
在这里插入图片描述

首先知道最大似然估计:多个事件同事发生的概率。
由身高体重推测男女的例子(参考下图理解)
1、先对给定的一组数据Xi假设初始自定义的均值μ和方差σ,以及对应的分类概率(即使男性、女性的概率是多大)
2、代入对应的高斯密度函数得到对应的概率密度值
3、由对应的概率密度值以及对应的分类概率求的条件概率(即如1.88是男性的概率是多少)
4、重复以上步骤求其他组对应的条件概率的值。(高斯混合分布)
5、将所有组得到的数据做条件概率的值乘以数据的操作(如1.88乘以0.67)得到整个样本对应的均值μ和方差σ(注意计算均值时对应的除数N代表的是条件概率0.67等的加和)
6、将计算得到的均值和方差不断的迭代,直到稳定为止。

在这里插入图片描述
在这里插入图片描述
不断迭代最终直到μ和σ达到稳定值
在这里插入图片描述
下图中所说的概率的加和代表的是0.67+0.4+…即对应身高是男性的概率得到最终的N男
在这里插入图片描述
掌握每个组份的参数公式对应的含义
在这里插入图片描述

4、EM算法

x对应的是数据,z代表的是隐变量如类别(男、女性)。
在这里插入图片描述
θ代表未知变量如π、μ、σ
除了想估计x还想估计z(这个z代表的是隐随机变量,p代表估计1.88是男性的概率;x代表的是1.88,男性代表的z)
在这里插入图片描述
整个过程其实就由求f(θ)转化为求r函数(下界函数)的极值(减小了参数个数),直到r函数极值等于f函数的值。
当θ0处两个函数相等,这时候求r函数的极值处θ1,这时候若r函数小,则再固定z选取一条新的函数r1函数在θ1处等于p函数,接着再求r1函数的极值…以此类推。(固定θ找z,再固定z找θ依次类推直到找到稳定的值)
在这里插入图片描述
E步骤:Q对应于实例已知θ求1.88条件下是男性的条件概率的值。
M步骤:θ代表的加权后求得的均值μ和方差σ。

整个过程就相当于固定θ(初始给定的值)求Q(Q代表对应的1.88条件下是男性的概率),固定Q(知道这组数据对应的条件概率的值)求θ(求的对应的μ和σ2)…不断重复直到结果稳定(Q可以看做是对应的下界函数)
在这里插入图片描述

5、知道pLSA模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习之朴素贝叶斯算法的推理及相关知识总结

文章目录1、朴素贝叶斯公式1.1、贝叶斯公式的应用2、了解贝叶斯网络2.1、知道什么是贝叶斯网络2.2、贝叶斯网络的两种表示形式2.3、掌握全连接的贝叶斯网络的公式2.3、知道条件概率表参数个数分析的方法2.4、掌握变量联合分布概率的公式及含义2.5、知道马尔科夫模型3、了解D-se…

HA机制的大数据集群的搭建过程

文章目录集群规划1、 准备Linux环境1.1、修改Linux主机名1.3、修改主机名和IP的映射关系1.4、关闭防火墙1.5、ssh免登陆(主节点和从节点之间)2、 安装JDK2.1、上传2.2、解压jdk2.3、将java添加到环境变量中2.4、刷新配置2.5、验证3、安装zookeeper3.1、解…

Linux系统7个运行级别图文详解

Linux系统7个运行级别图文详解 当安装linux操作系统时将选择下列那一个操作 ______ A.选择 "图形登录方式" 设定系统开始运行级为4 B.选择 "文本登录方式" 设定系统开始运行级为3 C.选择 "文本登录方式" 设定系…

使用IntelliJ IDEA碰到的问题总结

文章目录问题一:无法创建Java Class文件问题一:无法创建Java Class文件 今天打开项目时,发现右击新建不了java.class文件,于是尝试了以下方法: (1)选择 File——>Project Structure——>…

linux文本处理常用指令总结

引子 作为一个偏爱windows的程序员,以前做文本处理的时候总是喜欢在windows下用notepad等图形化工具处理,比如有时需要把linux服务器上一个文件进行一次全局字符串替换这样简单的操作,还得把文件down到本地编辑好再传回去。这两天买了本《鸟哥…

Linux中chown和chmod的区别和用法

chmod修改第一列内容, chown修改第3、4列内容: chown用法: 用来更改某个目录或文件的用户名和用户组。 chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径) 例1:chown root:root /tmp/tmp1 就…

玩大数据期间碰到的一些问题总结

文章目录问题一:Zookeeper节点数量为什么建议是奇数个?问题二:HA机制的Hadoop集群中Journal Node 作用问题三:两个datanode节点互相排斥怎么解决(集群无法识别新加入的Datanode)?问题四&#xf…

JAVA的SSH框架登录注册

Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示。 Spring 的IOC和AOP可以使我们的项目在最大限度上解藕。 hibernate的就是实体对象的持久化了, 数据库的封装。 项目截图:(代码是按照项目截图上传的,直接对号入座即可…

Visual Studio Code 前端调试不完全指南

本文最初发布于我的个人博客:咀嚼之味Visual Studio Code (以下简称 vscode) 如今已经代替 Sublime,成为前端工程师们最喜爱的代码编辑器。它作为一个大型的开源项目,不断推陈出新;社区中涌现出大量优质的插件,以支持我…

机器学习之LDA主题模型算法

文章目录1、知道LDA的特点和应用方向1.1、特点1.2、应用方向2、知道Beta分布和Dirichlet分布数学含义3、了解共轭先验分布4、知道先验概率和后验概率5、知道参数α值的大小对应的含义6、掌握LDA主题模型的生成过程7、知道超参数α等值的参考值8、LDA总结1、知道LDA的特点和应用…

[Go] Template 使用简介

Golang 提供了两个标准库用来处理模板 text/template 和 html/template。我们使用 html/template 格式化 html 字符。 模板引擎 模板引擎很多,Python 的 jinja,nodejs 的 jade 等都很好。所谓模板引擎,则将模板和数据进行渲染的输出格式化后的…

内存泄露监测

2019独角兽企业重金招聘Python工程师标准>>> iOS 内存泄露监测 144 作者 谢谢生活 已关注 2017.05.19 17:38* 字数 4235 阅读 209评论 0喜欢 6 iOS可能存在的内存泄露:block 循环引用。当一个对象有一个block属性,而block属性又引用这个对象…

玩Azkaban跳过的坑

文章目录一号坑:启动Azkaban报错:User xml file conf/azkaban-users.xml doesnt exist.二号坑:报错:failed SslSocketConnector0.0.0.0:8443: java.io.FileNotFoundException: /home/hadoop/app/azkaban/azkaban-web-2.5.0/bin/ke…

删除节点removeChild()

http://www.imooc.com/code/1700 删除节点removeChild() removeChild() 方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回 NULL。 语法: nodeObject.removeChild(node) 参数: node :必需&…

机器学习自主解决安全威胁离我们还有多远?

曾经听见不止一次这样的问题: “机器学习会替代基于人工经验规则的安全解决方案么?”把这个问题放在去年来看,我们已经得到了非常多的讨论甚至是一些已经实际应用的解决方案,对于人工智能在安全以及其它各种对数据进行价值挖掘的场…

Vue:解决[Vue warn]: Failed to resolve directive: modle (found in Anonymous)

解决问题 [Vue warn]: Failed to resolve directive: modle (found in <ComponentA>) console.error(("[Vue warn]: " msg trace)); 原因是 我把model 写成了 modle 这类错误一般是单词写错了 (found in <Anonymous>) 解决思路

一行Python代码制作动态二维码

目录 1、普通二维码 2、艺术二维码 3、动态二维码 在GitHub上发现了一个比较有意思的项目&#xff0c;只需要一行Python代码就可以快捷方便生成普通二维码、艺术二维码(黑白/彩色)和动态GIF二维码。 GitHub网站参加&#xff1a;https://github.com/sylnsfar/qrcode 用法比…

Vue常用经典开源项目汇总参考-海量

Vue常用经典开源项目汇总参考-海量 Vue是什么&#xff1f; Vue.js&#xff08;读音 /vjuː/, 类似于 view&#xff09; 是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是&#xff0c;Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层&#xff0c;并且非常…

Pycharm常用高效技巧总结

文章目录1、PyCharm如何自动生成函数注释2、pycharm运行程序时在Python console窗口中运行3、Pycharm在创建py文件时,如何自动添加文件头注释4、Pycharm配置远程调试5、pycharm同一目录下无法import明明已经存在的.py文件1、PyCharm如何自动生成函数注释 一般在函数def()行下敲…

EntityFramework中常用的数据删除方式

最近在学EF&#xff0c;目前了解到删除操作有三种方式&#xff0c; 第一&#xff0c;官方推荐的先查询数据&#xff0c;再根据查询的对象&#xff0c;删除对象。 这是第一种&#xff0c;官方推荐 第二&#xff0c;自己创建一个对象&#xff0c;然后附加&#xff0c;然后删除。 …