机器学习之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,一经查实,立即删除!

相关文章

jQuery中的on 和事件委派

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件</title><style>p{width:100px;height:100px;border: 1px solid gray;}</style><script src"https://code.jquery.com/…

python pip处理

查看pip 版本号 pip --version 升级方法 on linux or os X: pip install -U pip on windows: python -m pip install -U pip 转载于:https://www.cnblogs.com/yangwithtao/p/6397114.html

js中innerHTML和innerText jQuery中html()和text()的区别

js中innerHTML和innerText的区别innerHTML innerHTML 会将标签和标签中的内容否获取回来 innerHTML .innerHTML ‘<p></p>’; 只会将文本内容解析出来&#xff0c;不会显示标签innerText innerText 只会将标签中的内容获取回来&#xff0c;不会获取标签 innerT…

ECMAScript 6 -- let和const命令

ES6新增了let命令&#xff0c;用来声明变量。它的用法类似于var&#xff0c;但是所声明的变量&#xff0c;只在let命令所在的代码块内有效。 for (let i 0; i < 10; i) {console.log(i);} 可以执行 for (let i 0; i < 10; i) {}console.log(i); 就会报错 ncaught Refer…

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

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

mysql之外键

外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦 …

Android onLoadFinished与onLoaderReset

onLoadFinished 这个方法是在前面已创建的加载器已经完成其加载过程后被调用&#xff0c;这个方法保证会在应用到加载器上的数据被释放之前被调用。在此方法中&#xff0c;你必须删除所有对旧数据的使用(因为它将很快会被删除)&#xff0c;但是不要自己去释放它们&#xff0c;因…

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

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

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

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

CRISPR基因编辑

2007年&#xff0c;一家酸奶公司发现一种细菌拥有抵御病毒的特殊防御机制。2012年&#xff0c;细菌的这种机制就被科学家阐述清楚&#xff0c;2013年这一领域快速增长。它被视为分子生物学的一个奇迹&#xff0c;事实上&#xff0c;它并非仅对生物学家产生革命的影响&#xff0…

酒店之王

酒店之王 题目描述 XX酒店的老板想成为酒店之王&#xff0c;本着这种希望&#xff0c;第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等&#xff0c;也有自己所爱的菜&#xff0c;但是该酒店只有p间房间&#xff0c;一天只有固定的q道不同的菜。 有…

使用IntelliJ IDEA碰到的问题总结

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

为什么shell脚本第一行要#!/bin/sh

告诉操作系统, 此脚本的解释器为 /bin/sh 这个可执行文件 类似地, 如果你的脚本用 bash, ksh, 解释, 第一行就应该是#!/bin/bash #!/bin/ksh 之类的 或者, 你自己定义一种脚本语言, 再自己写个解释器去执行它, 比如说叫 xshell, 放在 /usr/local/bin 下, 你的脚本第一行就应该是…

linux文本处理常用指令总结

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

CSS——基础选择器

CSS的基础选择器1 CSS指的是层叠样式表2 CSS规则由两个主要的部分构成选择器&#xff0c;以及一条或多条声明3 选择器通常是你需要改变样式的 HTML 元素如h14 每条声明由一个属性和一个值组成&#xff0c;每个属性有一个值&#xff0c;属性和值被冒号分开5 属性大于 …

Linux中chown和chmod的区别和用法

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

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

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

JAVA的SSH框架登录注册

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

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

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

MySQL中(delete、truncate、drop) 的区别

delete、truncate、drop的用法 MySQL 数据表中delete删除数据的通用语法&#xff1a; ###删除 students_tbl 表中 student_id 为3 的记录&#xff1a; delete from students_tbl where student_id3; MySQL 数据表中truncate删除数据的通用语法&#xff1a; ###删除 students_…