机器学习知识点总结:什么是EM(最大期望值算法)

news2024/11/19 3:18:22

什么是EM(最大期望值算法)

在现实生活中,苹果百分百是苹果,梨百分白是梨。

请添加图片描述

生活中还有很多事物是概率分布,比如有多少人结了婚,又有多少人有工作,

请添加图片描述

如果我们想要调查人群中吸大麻者的比例呢?敏感问题很难得到真实回答,这时就可以利用概率让调查匿名化,在“你吸大麻吗?”这个问题之外,再提出一个问题,“你的手机尾号是偶数吗?”,然后邀请参与者投掷硬币,正面回答问题1,反面则回答问题2。

请添加图片描述

调查以电话进行,手机尾号是偶数的比例已经确定,只要调查样本足够多,抛硬币能让回答问题1和问题2的人接近相等,在不知道回答的是哪个问题的情况下,我们依然轻松推测出了人群中吸大麻者的比例,这就是概率的魔法。

请添加图片描述

现在让我们将问题2稍做变更,将“手机尾号是偶数”替换成“你吸烟吗”这样的未知概率事件,我们还能推断出吸大麻者的概率吗?

请添加图片描述

答案依然是能,只不过这次我们改变了调查方法,向每五个人发放同一个问题邀请他们回答,不记录问题是什么,只记录他们的答案,在保证匿名性的同时,我们得到了一些不知归属的成答案。

请添加图片描述

接下来就轮到EM算法

请添加图片描述

EM算法的步骤

  1. 随机化,不知道答案属于拿一个问题,就无法推测吸烟和吸大麻者的比例,不知道这两个比例,就无法推测答案属于哪一个问题,既然如此,我们就随机为吸烟者和吸大麻者赋予一个数值
  2. 接下来用这些数值反过来去推测这些成组的答案属于两个问题的可能性,这一步是在估算未知变量也就是问题归属的期望,因此被称为E步
在这里插入图片描述
  1. 然后我们用这个可能性,反过来估算吸烟者和吸大麻者的概率,由于这个概率是可能性最大的,因此被称为M步。
请添加图片描述
  1. 接下来重复第二步,用新的概率推算答案属于两个问题的可能性,再用可能性反过来推测概率,循环往复,直到估算出较为稳定的数值就停止
请添加图片描述

就这样,我们推算出了人群中吸烟者和吸大麻者大致的概率,这个过程是不是有点熟悉,K-means的步骤同样是:1.随机赋值、2.反复对照、3.不断逼近。事实上K-means就是EM算法的一个特例,K-means的目标是获得两个中心坐标,从而将梨和苹果作为两种事物进行区分。EM算法则能找到样本的分布规律,在聚类的同时,帮我们找到更多的梨和苹果。

请添加图片描述

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

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

相关文章

实战项目:基于主从Reactor模型实现高并发服务器

项目完整代码仿mudou库one thread one loop式并发服务器实现: 仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器:通过模拟实现的⾼并发服务器组件,可以简洁快速的完成⼀个⾼性能的服务器搭建。并且,通过组件内提供的不同应⽤层…

更新arm的linux编译工具链

虑到目前arm的gcc 5.5的工具链对C17语法支持不足,需要升级下工具链。 以下是详细步骤。使用官方提供的工具链 ARM官方的工具链网站: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads bare-metal这个版本就是没有操作系统(裸机环…

如何利用Simulation模拟零件受到的冲击力

线性静力载荷作用过程是恒定的,不随时间变化;单冲击力载荷作用的时间很短,高速高能量;今天给大家分享的是Simulation怎么模拟零件受到冲击力。 DEMO案例介绍:板材规格250X120X10,在板材的中心Φ5的区域受冲…

时序预测 | MATLAB实现基于CNN-LSTM卷积长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-LSTM卷积长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-LSTM卷积长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 MATLAB实现基…

【T3】畅捷通T3凭证预览/打印摘要和凭证中看到的摘要不一样。

【问题描述】 畅捷通T3软件中, 凭证打印预览以及打印出来的效果和直接在凭证界面看到的该凭证摘要不一致。 【解决方法】 执行下述清除凭证摘要特殊字符和空格的语句后,重新预览打印。 update GL_accvouch set cdigestREPLACE(cdigest,CHAR(9),) whe…

找pr剪辑素材就上这6个网站,免费可商用。

视频剪辑没素材,就上这几个网站找,免费、付费、商用素材全都有,最重要的是高清、4K无水印,赶紧马住了。 潮点视频 https://shipin520.com/?from_code2510 潮点视频是一个提供优质高清、无水印的视频素材网站,站内有大…

javaScript:数组方法(增删/提取类/截取/操作方法等)

目录 一.数组的增删方法 1.push()数组末尾添加元素 解释 代码 运行截图 2.unshift()向数组的头部添加数组 解释 代码 运行截图 3.pop()数组的尾部删除一个元素 解释 代码 运行截图 4.shift()数组的头部删除一个元素 解释 代码 运行截图 5. splice()任意位…

2003-2022年高铁站开通时间

2003-2022年高铁站开通时间 1、时间区间:2003-2022年 2、指标如下:高铁站名称、开通时间、所在省份、所在城市、所属线路名称、以及相关备注 指标说明:Hsrwsnm[高铁站名称]-高铁站名称 Optm[开通时间]-高铁站开通的时间 Prvn[所在省份]-高…

《Go 语言第一课》课程学习笔记(一)

配好环境:选择一种最适合你的 Go 安装方法 选择 Go 版本 一般情况下,建议采用最新版本。因为 Go 团队发布的 Go 语言稳定版本的平均质量一直是很高的,少有影响使用的重大 bug。可以根据不同实际项目需要或开源社区的情况使用不同的版本。 有…

【Web 表单】与用户数据打交道-2(mdn笔记)

8. UI 伪类 8.1 都有什么样的伪类? 我们可以使用的(截至 CSS 2.1)与表单相关的原始伪类是: :hover:只在鼠标指针悬停在一个元素上时选择该元素。:focus:只在元素被聚焦时选择该元素(也就是说&am…

绘制 PCA 双标图和碎石图

1、双标图 import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler from sklearn import datasets# data np.random.random((1000,10)) # y np.random.randint(0,6,1000)iris datase…

C# WPF 无焦点自动获取USB 二维码扫码枪内容,包含中文

C# WPF 无焦点自动获取USB 二维码扫码枪内容,包含中文 前言项目背景 需要预知的知识实现方案第一步 安装键盘钩子第二步 获取输入的值第3 步 解决中文乱码问题分析解决思路工具函数 结束 前言 USB接口的扫码枪基本就相当于一个电脑外设,等同于一个快速输…

Jmeter数据驱动 —— csv高效用例

目录 1、设置测试用例,创建用例数据文件:testcase.csv 2、新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号 3、添加逻辑控制器-循环控制器。循环控制器的作用可以控制…

IDEA中导出Javadoc遇到的GBK编码错误的解决思路和应用

IDEA中导出Javadoc遇到的GBK编码错误的解决思路和应用 ​ 当我们在导出自己写的项目的api文档的时候呢,有的时候会出现以下问题:也就是GBK编码错误不可导出 错误描述:编码GBK的不可映射字符无法导出,可以看出这是我们自己写的中文…

移动app软件安全性测试内容有哪些?专业移动app测试报告获取

移动app软件安全性测试报告是评估和验证移动应用程序在设计和开发过程中是否具有足够的安全性措施。在当今移动应用程序的高度发展和普及中,保护用户的个人数据和信息安全至关重要。 一、移动app软件安全性测试包括的内容 1、权限访问测试:测试app获取…

【BIOS】Bios设置通电即自动开机。

【问题需求】 设置电脑/服务器接通电源后,自动开机。 【解决方案】 不同主板的bios设置不一样,但方向都差不多。 在此整理一些不同准版bios的设置方法。 【通用主板Bios】 开机后连续按del键,进入Bios。 切换到【Advanced】菜单下&#xff…

【STM32学习】搭建一个简单的 keil5 工程

一、安装 pack 支持包 pack是支持包文件,当你的板子连接到电脑时,keil5 怎么知道你的板子是哪个型号的,这就需要用到 pack 文件了。Keil 官方下载pack文件的地址:download | device pack 我这里使用的是 STM324 系列 随后直接一…

Nginx运行Vue项目:基本运行

需求 在Nginx服务器中,运行Vue项目。 说明 Vue项目打包生成的生产文件,是无法直接在浏览器打开的。需要放到Nginx服务器中,才能够访问。 本文章只介绍最基本的情况:Nginx中运行一个Vue项目。 实际生产环境,一个Ng…

Qt开发实现字幕滚动效果

1、效果展示 我们经常能够在外面看到那种滚动字幕,那么就拿qt来做一个吧。 2、实现思路 实现一个窗口部件,这个窗口部件显示了一串文本标语,它会每t毫秒向左移动一个像素。如果窗口部件比文本宽,那么文本将会被多次重复,直到能够填满整个窗口部件的宽度…

设计模式之原型模式Prototype的C++实现

1、原型模式提出 在软件功能设计中,经常面临着“某些结构复杂的对象”的创建工作,且创建的对象想拥有其他对象在某一刻的状态,则可以使用原型模型。原型模型是通过拷贝构造函数来创建对象,并且该对象拥有其他对象在某一刻的状态。…