【EM算法】算法及注解

news/2024/5/2 11:29:15

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。

算法背景

如果概率模型的变量都是观测变量,那么可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就需要考虑EM算法,EM算法是含有隐变量的概率模型参数的极大似然估计法。

EM算法

输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z | \theta ),条件分布P( Z| Y,\theta )

输出:模型参数\theta

1.选择参数的初值$\theta^{(0)}$,开始迭代;

EM算法对初值敏感

2.E步:记$\theta^{(i)}$为第$i$ 次迭代参数$\theta$的估计值,在第$i+1$次迭代的E步,计算

Q(\theta,\theta^{(i)})=E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}]
=\sum_{Z}\log P(Y,Z|\theta)P(Z|Y,\theta^{(i)})

$P(Z|Y,\theta^{(i)})$ 是在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布

$Q(\theta,\theta^{(i)})$是完全数据的对数似然函数P(Y,Z | \theta )关于在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布$P(Z|Y,\theta^{(i)})$的期望。

其中,$Q(\theta,\theta^{(i)})$第一个变元\theta是要极大化的参数,第二个变元$\theta^{(i)}$是参数的当前估计。

3.M步:求使$Q(\theta,\theta^{(i)})$极大化的$\theta$,确定第$i+1$ 次迭代的参数的估计值 $\theta^{(i+1)}$


\theta^{(i+1)}=\arg\max_\theta Q(\theta,\theta^{(i)})

每次迭代$\theta^{(i)}\to\theta^{(i+1)}$使似然函数增大或达到局部极值

4.重复第2步和第3步,直到收敛。

收敛条件通常为:\|\theta^{(i+1)}-\theta^{(i)}\|<\varepsilon_1\quad\quad\|Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})\|<\varepsilon_2


http://www.mrgr.cn/p/10634584

相关文章

【VMware ESXi】新版VMware Host Client独立客户端Beta版发布。

VMware by Broadcom 推出了新的VMware Host Client 独立版客户端,用于代替VMware Host Client(Html5)来管理ESXi。VMware by Broadcom 推出了新的VMware Host Client 独立版客户端(Beta),用于代替VMware Host Client(Html5)来管理ESXi。同时,当前VMware Host Client不…

第二代长安X5 PLUS 2024款车机绕开限制安装第三方APP

测试车型:第二代长安X5 PLUS 2024款智尊型 系统版本:OnStyle 5.2.0 安卓版本:9.0 Pie 文章内容仅供参考,不同车型不同版本可能操作不同 一、拨号页 ##888 ,输入密码进入工厂模式 二、工厂模式动态密码规则:4位,和当前时间有关,24小时制,1、2位位当前分钟整十数,3、4位…

【机器学习】《ChatGPT速通手册》笔记

文章目录 第0章 前言第1章 ChatGPT的由来&#xff08;一&#xff09;自然语言处理任务&#xff08;二&#xff09;ChatGPT所用数据数据大小&#xff08;三&#xff09;ChatGPT的神经网络模型有175亿个参数&#xff08;四&#xff09;模型压缩 方案 第2章 ChatGPT页面功能介绍&a…

Day3 权限管理

Day3 权限管理 这里会总结构建项目过程中遇到的问题&#xff0c;以及一些个人思考&#xff01;&#xff01; 学习方法&#xff1a; 1 github源码 文档 官网 2 内容复现 &#xff0c;实际操作 项目源码同步更新到github 欢迎大家star~ 后期会更新并上传前端项目 创建管理员…

栈1: 栈的顺序存储

栈: 顺序存储栈是一种先进后出(First In Last Out,FILO)的数据结构 如果你将两个元素压入栈,先加入的元素将在后加入的元素之后出栈栈顶元素值为null(未满时)定义栈的数据结构 #define MAX_SIZE 1024 //利用数组模拟栈的顺序存储 typedef struct sqStack{void *data[MAX_SIZE]…

C#医学实验室/检验信息管理系统(LIS系统)源码

目录 检验系统的总体目标 LIS主要包括以下功能&#xff1a; LIS是集&#xff1a;申请、采样、核收、计费、检验、审核、发布、质控、耗材控制等检验科工作为一体的信息管理系统。LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&#xff0c;系统保存检验信息的工具&a…

云原生之在kubernetes集群下部署mysql应用

一、Mysql介绍数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。MySQL是一种开源的关系型数据库管理系统,可将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内,从而加快了访问速度并提高了灵活性。MySQL 使用了标准的 SQL 语言形式。支持大型的数据…

Trino418版本动态加载catalog不需要重启集群修改思路及实现2

原来没事的时候改了一个这样的功能,当时也没有仔细研究,后来也没继续弄。详细可以参考 https://www.cnblogs.com/liuzx8888/p/17635913.html 当时有1个问题:新增数据源需要每一个节点都去调取API注册,这样非常麻烦,最近闲下来又研究了一下,在原先的基础上做了一些改造。 …

小程序生态是更灵活构建超级App的方式

第三方中立应用市场作为一种新兴模式,打破了现有应用市场的垄断格局,为开发者和用户带来了新的选择和机遇。它拥有连接超级App流量及用户的独特优势,能够聚合流量、提升用户体验、创新模式、保障数据安全,并有望成为应用市场发展的新趋势。互联网从1.0发展至今,已经经历了…

游戏服务器DDOS克星-抗D盾(游戏盾)

随着网络游戏市场的不断扩大和发展&#xff0c;游戏服务器遭受DDOS攻击的频率也在逐年增加。DDOS攻击的主要目的是使游戏服务器瘫痪&#xff0c;使得游戏无法正常进行&#xff0c;导致游戏运营商巨额损失。鉴于此&#xff0c;针对游戏服务器的防DDOS攻击技术德迅云安全自主研发…

个人博客系统项目(SpringBoot+Linux部署上线)

在学完SpringBoot框架、MyBatis后&#xff0c;直接开始做第一个项目&#xff1a;博客系统 首先&#xff0c;该博客系统包含核心功能有&#xff1a; 一、登录、注册、退出登录功能。 二、没有登陆前可以查看博客首页以及博客展示的分页处理&#xff0c;以及点击查看博客可以…

代码安全有门道:研发团队的数据防护手册

在快速发展的科技行业&#xff0c;研发团队掌握着企业的心脏——代码。源代码不仅承载着创新思想&#xff0c;也代表了无数的研发投入和商业机会。然而&#xff0c;2018年GitLab的一次安全漏洞导致数千个私有代码仓库被删除&#xff0c;这起事件警示我们&#xff0c;没有严格的…

Java面试:MySQL面试题汇总

1.说一下 MySQL 执行一条查询语句的内部执行过程&#xff1f; 答&#xff1a;MySQL 执行一条查询的流程如下&#xff1a; 客户端先通过连接器连接到 MySQL 服务器&#xff1b;连接器权限验证通过之后&#xff0c;先查询是否有查询缓存&#xff0c;如果有缓存&#xff08;之前…

数据治理

数据治理对于企业来说至关重要。它可以帮助企业清晰地了解自己的数据资源、数据流和数据质量。通过有效的数据治理,企业能够更好地管理和控制数据,最大化数据的价值,并在决策过程中减少错误和风险。数据治理的步骤及原则数据收集和整合数据治理的第一步是收集和整合数据。这…

ubuntu如何截图? ubuntu中截屏的三种方法

文章目录 1.ubuntu主要用途2.ubuntu如何截图&#xff1f;2.1 方法一&#xff1a;键盘按键快捷键截屏 2.2 方法二&#xff1a;系统自带软件2.3 方法三&#xff1a;第三方软件 Reference 1.ubuntu主要用途 1、桌面操作系统&#xff1a;Ubuntu可用作个人电脑或笔记本电脑的操作系…

Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机

Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机 文章目录 Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机1.安装virtualbox2.下载Window.iso文件并载入3.问题解决3.1 Kernel driver not installed (rc-1908)3.2 VT-x is disabled in the BIOS for all CPU modes 4.安装Wi…

简述Linux磁盘IO

1、什么是磁盘在讲解磁盘IO前,先简单说下什么是磁盘。磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。 1.1 机械磁盘第一类,机械磁盘,也称为硬盘驱动器(Hard Disk Driver),通常缩写为 HDD。机械磁盘主要由盘片和读写磁头组…

互连芯片浪潮席卷AI服务器:突破瓶颈,再创辉煌

改变AI服务器&#xff1a;互连芯片技术创新和突破 AI服务器崛起&#xff0c;引领未来创新根据TrendForce数据&#xff0c;AI服务器出货量达130,000台&#xff0c;占服务器总出货量的1%。主要制造商推出生成式AI产品&#xff0c;推动订单激增。ChatGPT等应用的需求持续增长&…

【MySQL】20. 使用C语言链接

mysql connect mysql的基础&#xff0c;我们之前已经学过&#xff0c;后面我们只关心使用 要使用C语言连接mysql&#xff0c;需要使用mysql官网提供的库&#xff0c;大家可以去官网下载 我们使用C接口库来进行连接 要正确使用&#xff0c;我们需要做一些准备工作&#xff1a; …

【springCloud】版本学习

Spring Cloud介绍 官网地址&#xff1a;https://spring.io/projects/spring-cloud Spring Cloud 是一个基于 Spring Boot 的微服务架构解决方案&#xff0c;它提供了一系列工具和模式来帮助开发者构建分布式系统。Spring Cloud 的组件和模式包括配置管理、服务发现、断路器、…