EM(Expectation-Maximum)算法

news2024/11/27 0:15:47

EM算法

简介

EM算法的核心分为两步

  1. E步(Expection-Step)
  2. M步(Maximization-Step)

因为在最大化过程中存在两个参量 r , θ r,\theta r,θ,其中若知道 r r r,则知道 θ \theta θ;若知道 θ \theta θ,则知道 r r r。且两个量未存在明显的关系,但又互相依存可以采用EM算法

其中主要思想为:

  1. 首先随机初始化参数 r r r
  2. 然后求的在参数 r r r下按照极大似然估计求得参数 θ \theta θ
  3. 然后根据参数 θ \theta θ按照极大似然估计求得参数 r r r
  4. 循环至收敛

算法示例

如下图所示存在A,B两种硬币,其中抛出正反面的概率未知,其中H表示正面,F表示反面

image-20231218003257513

根据统计可得

image-20231218003323615

可得
P ( H ∣ X = A ) = 24 24 + 6 = 0.8 P ( H ∣ X = B ) = 9 9 + 11 = 0.45 P(H|X=A)=\frac{24}{24+6}=0.8\\ P(H|X=B)=\frac{9}{9+11}=0.45 P(HX=A)=24+624=0.8P(HX=B)=9+119=0.45
若更改条件,不知道此时抛出是哪一枚硬币,只知道抛出的结果,即

image-20231218003706672

首先初始化,设
P ( H ∣ X = A ) = 0.6 P ( H ∣ X = B ) = 0.5 P(H|X=A)=0.6\\ P(H|X=B)=0.5 P(HX=A)=0.6P(HX=B)=0.5
若当抛出的第一枚硬币为A时

此时的出现该情况的概率为 P 1 ( A ) = 0. 6 5 ∗ ( 1 − 0.6 ) 5 = 0.0007962624 P_1(A)=0.6^5*(1-0.6)^5=0.0007962624 P1(A)=0.65(10.6)5=0.0007962624

若当抛出的第一枚硬币为B时

此时的出现该情况的概率为 P 1 ( B ) = 0. 5 5 ∗ ( 1 − 0.5 ) 5 = 0.0009765625 P_1(B)=0.5^5*(1-0.5)^5=0.0009765625 P1(B)=0.55(10.5)5=0.0009765625

其中
P 1 ( A ) = P 1 ( A ) P 1 ( A ) + P 1 ( B ) ≈ 0.45 P 1 ( B ) = P 1 ( B ) P 1 ( A ) + P 1 ( B ) ≈ 0.55 P^1(A)=\frac{P_1(A)}{P_1(A)+P_1(B)}\approx0.45\\ P^1(B)=\frac{P_1(B)}{P_1(A)+P_1(B)}\approx0.55 P1(A)=P1(A)+P1(B)P1(A)0.45P1(B)=P1(A)+P1(B)P1(B)0.55
同理可得
P 2 ( A ) ≈ 0.80 , P 2 ( B ) ≈ 0.20 P 3 ( A ) ≈ 0.73 , P 3 ( B ) ≈ 0.27 P 4 ( A ) ≈ 0.35 , P 4 ( B ) ≈ 0.65 P 5 ( A ) ≈ 0.65 , P 5 ( B ) ≈ 0.35 P^2(A)\approx0.80,P^2(B)\approx0.20\\ P^3(A)\approx0.73,P^3(B)\approx0.27\\ P^4(A)\approx0.35,P^4(B)\approx0.65\\ P^5(A)\approx0.65,P^5(B)\approx0.35 P2(A)0.80,P2(B)0.20P3(A)0.73,P3(B)0.27P4(A)0.35,P4(B)0.65P5(A)0.65,P5(B)0.35
设第2,3,5轮抛出的为硬币A,第1,4轮抛出的为硬币B,可得
P ( H ∣ X = A ) = 9 + 8 + 7 30 = 24 30 = 0.8 P ( H ∣ X = B ) = 5 + 4 20 = 9 20 = 0.45 P(H|X=A)=\frac{9+8+7}{30}=\frac{24}{30}=0.8\\ P(H|X=B)=\frac{5+4}{20}=\frac{9}{20}=0.45 P(HX=A)=309+8+7=3024=0.8P(HX=B)=205+4=209=0.45
由此循环直至收敛

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

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

相关文章

04_Web框架之Django一

Web框架之Django一 学习目标和内容 1、能够描述Django的作用 2、能够使用Django创建应用 3、能够使用GET和POST请求方式进行传参 4、能够使用Django的函数式方法定义视图 5、能够进行Django的配置文件修改 6、能够基本使用Django的路由定义 一、Django相关介绍 1、什么是Djan…

运维实践|采集MySQL数据出现many connection errors

文章目录 问题出现问题分析当前环境问题分析 解决方案1 检查调度事件任务是否开启2 开启调度事件任务3 创建一张日志表4 创建函数存储过程5 创建事件定时器6 开启事件调度任务7 检查核实是否创建 总结 问题出现 最近在做OGG结构化数据采集工作,在数据采集过程中&am…

SIEM 解决方案的不同部署方式,如何选择SIEM 解决方案

安全信息和事件管理(SIEM)作为一种网络安全解决方案,是多种技术的融合,这些技术结合了包括安全信息管理和安全事件管理在内的流程。简单来说,SIEM 解决方案是一种重要的安全工具,它收集、存储和分析来自整个…

QT自带打包问题:无法定位程序输入点?metaobject@qsound

文章目录 无法定位程序输入点?metaobjectqsound……检查系统环境变量的配置:打包无须安装qt的文件 无法定位程序输入点?metaobjectqsound…… 在执行release打包程序后,相应的release文件夹下的exe文件,无法打开 如有错误欢迎指出 检查系…

Java架构师系统架构内部维度分析

目录 1 导语2.1 安全性维度概述2.2 流程安全性2.3 架构安全性2.4 安全维度总结3 伸缩性维度概述和场景思路3.1 无状态应用弹性伸缩3.2 阿里云Knative弹性伸缩3.3 有状态应用弹性伸缩3.4 伸缩性维度总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语

轻量封装WebGPU渲染系统示例<51>- 视差贴图(Parallax Map)(源码)

视差纹理是一种片段着色阶段增强材质表面凹凸细节的技术。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/ParallaxTexTest.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如…

Spring之容器:IOC(2)

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

Docker实战案例研究:深入行业应用与最佳实践

Docker作为一种轻量级、可移植、可扩展的容器化技术,在各行各业都得到了广泛应用。本文将通过深入实际案例,介绍Docker在不同行业的应用以及相应的最佳实践,提供更加丰富的示例代码,以帮助大家更全面地理解和运用Docker的强大功能…

C#浅拷贝和深拷贝数据

目录 一、浅拷贝 二、深拷贝 一、浅拷贝 就是把原来的数据,复制一份,但是2份数据是共享地址的,修改第一份数据或者修改第二份数据,都会一起改变,这可能不是我们程序中需要的场景。 下面我们演示一下,首…

使用Halcon实现模板匹配

图片: 代码: read_image (Image, C:/Users/14348/Desktop/mobanpipei.jpg) get_image_size (Image, Width, Height) dev_close_window() dev_open_window (0, 0, Width, Height, black, WindowHandle) dev_display (Image) draw_rectangle1 (WindowHandle, Row1, Column1, Ro…

TrustZone之其他设备及可信基础系统架构

一、其他设备 最后,我们将查看系统中的其他设备,如下图所示: 我们的示例TrustZone启用的系统包括一些尚未涵盖的设备,但我们需要这些设备来构建一个实际的系统。 • 一次性可编程存储器(OTP)或保险丝 这些是一旦写入就无法更改的存储器。与每个芯片上都包含相同…

CountDownLatch实战应用——实现异步多线程业务处理,异常情况回滚全部子线程

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: CountDownLatch实战应用——实现异步多线程业务处理,异常情…

单片机期末复习

前言 发现很多人都写了单片机原理及接口技术课后习题的答案,但是也就只写了答案而已,可能是他们觉得太简单的缘故吧,我这里对此进行一下我近段时间复习的总结,本篇博客只展示选择题、填空题和判断题的答案,仅供参考&a…

MFC 程序执行流程

目录 MFC 程序启动 MFC 入口函数 程序执行流程总结 在Win32课程中WinMain由程序员自己实现,那么流程是程序员安排,但到了MFC中,由于MFC库实现WinMain,也就意味着MFC负责安排程序的流程。 MFC 程序启动 程序的启动,…

【JAVA】CyclicBarrier源码解析以及示例

文章目录 前言CyclicBarrier源码解析以及示例主要成员变量核心方法 应用场景任务分解与合并应用示例 并行计算应用示例 游戏开发应用示例输出结果 数据加载应用示例 并发工具的协同应用示例 CyclicBarrier和CountDownLatch的区别循环性:计数器的变化:用途…

神经网络可以计算任何函数的可视化证明

神经网络可以计算任何函数的可视化证明 对于神经网络,一个显著的事实就是它可以计算任何函数。 如下:不管该函数如何,总有神经网络能够对任何可能的输入x,输出值f(x) 即使函数有很多输入和输出&#xff0…

【每日一题】【12.17】746.使用最小花费爬楼梯

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 1.题目链接 746. 使用最小花费爬楼梯https://leetcode.cn/problems/min-cost-climbing-stairs/ 2.题目详情 今天的每日一题又…

leetcode每日一题打卡

leetcode每日一题 746.使用最小花费爬楼梯162.寻找峰值 从2023年12月17日开始打卡~持续更新 746.使用最小花费爬楼梯 2023/12/17 代码 解法一 class Solution {public int minCostClimbingStairs(int[] cost) {int n cost.length;int[] dp new int[n1];dp[0] 0;dp[1] 0;…

RocketMQ系统性学习-SpringCloud Alibaba集成RocketMQ以及批量发送消息、消息过滤实战

文章目录 批量发送消息消息过滤 批量发送消息 批量发送消息可以减少网络的 IO 开销,让多个消息通过 1 次网络开销就可以发送,提升数据发送的吞吐量 虽然批量发送消息可以减少网络 IO 开销,但是一次也不能发送太多消息 批量消息直接将多个消…

结构型设计模式(二)装饰器模式 适配器模式

装饰器模式 Decorator 1、什么是装饰器模式 装饰器模式允许通过将对象放入特殊的包装对象中来为原始对象添加新的行为。这种模式是一种结构型模式,因为它通过改变结构来改变被装饰对象的行为。它涉及到一组装饰器类,这些类用来包装具体组件。 2、为什…