当前位置: 首页 > news >正文

近似推断 - 期望最大化(EM)篇

前言

近似推断是统计学和机器学习中一个至关重要的领域,尤其在处理复杂模型和不完全数据时显得尤为重要。期望最大化( Expectation Maximization \text{Expectation Maximization} Expectation Maximization,简称 EM \text{EM} EM)算法是近似推断中的一种重要方法,它专门用于解决含有隐变量的参数估计问题。在实际应用中,我们常常面临数据不完整或属性缺失的情况,这时传统的参数估计方法便显得力不从心。而 EM \text{EM} EM算法通过迭代的方式,巧妙地利用现有数据对隐变量进行估计,并据此优化模型参数,从而为我们提供了一种有效的解决方案。

序言

EM \text{EM} EM算法的核心思想在于其两个交替进行的步骤: E-step \text{E-step} E-step(期望步骤)和 M-step \text{M-step} M-step(最大化步骤)。在 E-step \text{E-step} E-step中,我们根据当前的参数估计值,计算出隐变量的期望值;而在 M-step \text{M-step} M-step中,我们则利用这些期望值来重新估计模型参数,以最大化似然函数。这两个步骤不断迭代,直至收敛至最优解。这种迭代优化的方式使得 EM \text{EM} EM算法在处理复杂模型和不完全数据时具有显著的优势。

期望最大化

  • 我们介绍的第一个最大化下界 L \mathcal{L} L 的算法是期望最大化 ( expectation maximization, EM \text{expectation maximization, EM} expectation maximization, EM) 算法。

    • 在潜变量模型中,这是一个非常热门的训练算法。
    • 在这里我们描述 Neal and Hinton (1999) \text{Neal and Hinton (1999)} Neal and Hinton (1999) 所提出的 EM \text{EM} EM算法。
    • 与大多数我们在本章中介绍的其他算法不同的是, EM \text{EM} EM并不是一个近似推断算法,但是是一种能够学到近似后验的算法。
  • EM \text{EM} EM算法包含了交替进行两步运算直到收敛的过程:

    • E \textbf{E} E ( expectation step \text{expectation step} expectation step):
      • θ ( 0 ) \boldsymbol{\theta}^{(0)} θ(0) 表示在这一步开始时的参数值。
      • 对任何我们想要训练的(对所有的或者 minibatch \text{minibatch} minibatch数据均成立)索引为 i i i 的训练样本 v ( i ) \boldsymbol{v}^{(i)} v(i) q ( h ( i ) ∣ v ) = p ( h ( i ) ∣ v ( i ) ; θ ( 0 ) ) q(\boldsymbol{h}^{(i)} \mid \boldsymbol{v}) = p(\boldsymbol{h}^{(i)} \mid \boldsymbol{v}^{(i)}; \boldsymbol{\theta}^{(0)}) q(h(i)v)=p(h(i)v(i);θ(0))
      • 通过这个定义,我们认为 q q q 在当前参数 θ ( 0 ) \boldsymbol{\theta}^{(0)} θ(0) 下定义。
      • 如果我们改变 θ \boldsymbol{\theta} θ,那么 p ( h ∣ v ; θ ) p(\boldsymbol{h} \mid \boldsymbol{v}; \boldsymbol{\theta}) p(hv;θ) 将会相应的变化,但是 q ( h ∣ v ) q(\boldsymbol{h} \mid \boldsymbol{v}) q(hv) 还是不变并且等于 p ( h ∣ v ; θ ( 0 ) ) p(\boldsymbol{h} \mid \boldsymbol{v}; \boldsymbol{\theta}^{(0)}) p(hv;θ(0))
    • M \textbf{M} M ( maximization step \text{maximization step} maximization step):
  • 这可以被看做通过坐标上升算法来最大化 L \mathcal{L} L。在第一步中,我们更新 q q q 来最大化 L \mathcal{L} L,而另一步中,我们更新 θ \boldsymbol{\theta} θ 来最大化 L \mathcal{L} L

  • 基于潜变量模型的随机梯度上升可以被看做是一个 EM \text{EM} EM算法的特例,其中 M \textbf{M} M步包括了单次梯度操作。

    • EM \text{EM} EM算法的其他变种可以实现多次梯度操作。
    • 对一些模型族来说, M \textbf{M} M步甚至可以通过推出解析解直接完成,不同于其他方法,在给定当前 q q q 的情况下直接求出最优解。
  • 即使 E \textbf{E} E 步采用的是精确推断,我们仍然可以将 EM \text{EM} EM算法视作是某种程度上的近似推断。

    • 具体地说, M \textbf{M} M步假设了一个 q q q 分布可以被所有的 θ \boldsymbol{\theta} θ 值分享。
    • M \textbf{M} M步越来越远离 E \textbf{E} E步中的 θ ( 0 ) \boldsymbol{\theta}^{(0)} θ(0) 时,这将会导致 L \mathcal{L} L 和真实的 log ⁡ p ( v ) \log p(\boldsymbol{v}) logp(v) 的差距。
    • 幸运的事,当下一个循环时, E \textbf{E} E 步把这种差距又降到了 0 0 0
  • EM \text{EM} EM算法包含了一些不同的解释。

    • 首先,学习过程的一个基本思路就是,我们通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。
    • 这种特定的性质并不仅仅适用于 EM \text{EM} EM算法。
    • 例如,使用梯度下降来最大化似然函数的对数这种方法也利用了相同的性质。
    • 计算对数似然函数的梯度需要对隐藏单元的后验分布来求期望。
    • EM \text{EM} EM算法另一个关键的性质是当我们移动到另一个 M \textbf{M} M 时候,我们仍然可以使用旧的 q q q
    • 在传统机器学习中,这种特有的性质在推导大 M \textbf{M} M步更新时候得到了广泛的应用。
    • 在深度学习中,大多数模型太过于复杂以致于在最优大 M \textbf{M} M步更新中很难得到一个简单的解。
    • 所以 EM \text{EM} EM算法的第二个特质,更多为其所独有,较少被使用。

总结

期望最大化算法作为近似推断中的一种重要工具,为我们提供了一种有效的处理不完全数据和隐变量问题的解决方案。通过迭代优化的方式, EM \text{EM} EM算法能够逐步逼近最优解,从而实现对模型参数的准确估计。无论是在科学研究、社会调查,还是在经济学、医学等领域的实际应用中, EM \text{EM} EM算法都展现出了其强大的实用性和灵活性。因此,深入理解和掌握EM算法的原理和应用,对于我们提高数据处理和模型优化的能力具有重要意义。

往期内容回顾

近似推断 - 引言篇

相关文章:

近似推断 - 期望最大化(EM)篇

前言 近似推断是统计学和机器学习中一个至关重要的领域,尤其在处理复杂模型和不完全数据时显得尤为重要。期望最大化( Expectation Maximization \text{Expectation Maximization} Expectation Maximization,简称 EM \text{EM} EM&#xff0…...

arp欺骗及其实验

ARP欺骗(ARP Spoofing)是一种网络攻击技术,攻击者通过伪造ARP(地址解析协议)消息,将其MAC地址与目标IP地址关联,从而实现对网络流量的截获、篡改或重定向。以下是ARP欺骗的详细信息:…...

HDU The Boss on Mars(容斥原理)

题目大意: ACM 有 n 名员工,现在是他们从老板那里拿薪水的时候了。所有员工都从 1 到 n 编号。原因不明,如果员工的工作编号是 k,他今年可以获得 k^4 Mars 美元。所以为 ACM 工作的员工非常富有。 因为员工人数太多,…...

nnUnet 大模型学习笔记(续):训练网络(3d_fullres)以及数据集标签的处理

目录 1. 数据集处理 1.1 实现脚本 1.2 json文件 2. 设置读取路径 2.1 设置路径 2.2 数据集转换 2.3 数据集预处理 2.4 训练(3d_fullres) 3. 训练结果展示 关于nnUnet 数据集的处理和环境搭建,参考上文:第四章:nnUnet大模…...

Java中的数据结构与集合源码

目录 一、数据结构 1.1 数据结构概念 1.2 研究对象 1.3 常见存储结构 1.3.1 数组 1.3.2 链表 1.单向链表 2.双向链表 1.3.3 二叉树 1.3.4 栈(FILO,先进后出) 1.3.5 队列(FIFO,先进先出) 二、集合…...

Java应用程序的测试覆盖率之设计与实现(三)-- jacoco cli 客户端

一、背景 上文已把覆盖率数据采集好了,并提供远程连接的tcp地址及端口。 jacoco cli文档jacoco cli jar包 jacococli.jar 我下载好了,放在github工程里。 本文主要是介绍如何使用jacoco cli 客户端读取并生成覆盖率报告。 二、使用 1、dump覆盖率统…...

Deepin V23 / 统信UOS 下安装与配置 tftp

几个月前,我将开发系统从 ubuntu 切换到 Deepin,当时写过一篇文章《使用国产操作系统作为开发系统》。几个月下来,没有感觉有什么不适应,Ubuntu 能做的事情,在 Deepin 上都能做。而且有 UOS 应用商店的加持&#xff0c…...

java基础学习:定时任务常见实现方式

一、Timer解析 TaskQueue:小顶堆,存放timeTask。 TimerThread:任务执行线程 死循环不断检查是否有任务需要开始执行,有就执行它。始终是一个线程在执行。 单线程执行任务,任务有可能相互阻塞: schedul…...

句柄是什么?有什么用?举例说明

在C#编程中,“句柄”(Handle)是一个与操作系统资源相关联的标识符。句柄是一个指针或者索引,用于在程序代码中引用系统资源,如窗口、文件、线程等。由于直接操作这些资源非常危险且复杂,操作系统提供句柄作…...

Jenkins学习笔记

Jenkins学习笔记 NumTitleComments1官网 官方网站 中文文档2基础Jenkins基础3groovy1.groovy语法 2.groovy 入门4pipelinepipeline基本语法介绍5Github actiongithub action6Shared library1 2...

AI 解读软考高级操作系统顺序存取、直接存取、随机存取、相联存取的区别

这几个术语描述了不同类型的存储方式,它们涉及数据存取的顺序和灵活性。为了更好地理解,我们可以先通过生活中的例子来感受这些概念。 生活化例子 1. 顺序存取: 想象你在看一盘录像带(比如老式的VHS录像带)。如果你想…...

STM32烧写准备

目录 一.安装stlink驱动二.烧写器固件升级三.安装烧写程序四.进行测试1.流水灯 五.出现的问题1.升级固件问题2.测试时连接问题 一.安装stlink驱动 amd64是用在64位的,x86用在32位;双击运行即可 出现以下情况表示安装完成当连接上STM32开发板时&#xff…...

为Windows Terminal 配置zsh + Oh-My-Zsh!

参考: 为Windows Terminal 配置zsh Oh-My-Zsh! [非WSL] https://zhuanlan.zhihu.com/p/625583037 Package: zsh - MSYS2 Packages 安装配置 1、安装 Windows Terminal(必须) Method 1: 打开 Microsoft Store,搜索 “Windows Terminal”。点击 “…...

RNN、LSTM 与 Bi-LSTM

一. RNN 循环神经网络(Recurrent Neural Network, RNN)是深度学习领域一类具有内部自连接的神经网络能够学习复杂的矢量到矢量的映射。 最大特点:前面的序列数据可以用作后面的结果预测中。 一个简单的循环神经网络结构,其结构包…...

第一性原理

第一性原理是指从最基本的真理出发,分析和推导复杂现象或问题,不依赖于传统的假设或经验,而是从根本的原则出发进行思考。 将复杂问题拆解为更小的部分,逐一分析。在理解了这些基本部分的基础上,再进行组合和构建&…...

DOM NamedNodeMap 接口详解

DOM NamedNodeMap 接口详解 引言 在文档对象模型(DOM)中,NamedNodeMap 接口提供了一种方式来操作元素的属性集合。它是一种特殊的 NodeList,其中的每个节点都有一个名称和值。本文将详细介绍 NamedNodeMap 接口,包括其属性、方法和使用场景。 NamedNodeMap 接口概述 N…...

EasyExcel自定义下拉注解的三种实现方式

文章目录 一、简介二、关键组件1、ExcelSelected注解2、ExcelDynamicSelect接口(仅用于方式二)3、ExcelSelectedResolve类4、SelectedSheetWriteHandler类 三、实际应用总结 一、简介 在使用EasyExcel设置下拉数据时,每次都要创建一个SheetWr…...

Burp Suite Professional 2024.9 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.9 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-mac/ 查看最新版。原创作品,转载请保留出处。 作者主页&#xff1…...

使用Mock库进行依赖注入的实用指南

使用Mock库进行依赖注入的实用指南 在现代软件开发中,测试是确保代码质量的重要环节。尤其是在进行单元测试时,依赖注入(Dependency Injection, DI)是一种常用的设计模式,它可以帮助我们更好地管理依赖关系,提高代码的可测试性。本文将深入探讨如何使用Python的unittest…...

nosql课本习题

nosql题目 1. 文档数据库相比其他 NoSQL 的突出优势和特点是什么? 答案: 文档数据库的突出优势在于它的灵活性和可扩展性。不同于传统的关系型数据库,文档数据库允许存储半结构化和非结构化数据,每个文档可以有不同的字段&#x…...

用51单片机+普中开发板DIY一个抢答器,从Proteus仿真到实物烧录全流程记录

从零打造51单片机抢答器:普中开发板实战全记录 第一次接触单片机项目时,我盯着闪烁的LED灯兴奋了整整半小时——那种"让机器听我指挥"的成就感,至今记忆犹新。这次要挑战的是更实用的抢答器制作,不仅涉及编程逻辑&#…...

雪女-斗罗大陆-造相Z-Turbo生成图像的后期处理流水线:从降噪到超分

雪女-斗罗大陆-造相Z-Turbo生成图像的后期处理流水线:从降噪到超分 最近用造相Z-Turbo这类模型生成动漫角色图,比如《斗罗大陆》里的雪女,效果确实挺惊艳的。但不知道你有没有发现,直接生成的图片有时候会有些小瑕疵,…...

Step3-VL-10B在STM32嵌入式开发中的应用:图像识别实战

Step3-VL-10B在STM32嵌入式开发中的应用:图像识别实战 如何在资源受限的嵌入式设备上实现高质量的图像识别?本文通过Step3-VL-10B模型在STM32上的实战应用,为你揭示轻量级视觉模型的部署奥秘。 1. 为什么选择Step3-VL-10B用于STM32开发 STM3…...

能耗优化指南:OpenClaw+GLM-4.7-Flash笔记本续航方案

能耗优化指南:OpenClawGLM-4.7-Flash笔记本续航方案 1. 为什么需要关注OpenClaw的能耗问题 去年夏天的一次出差经历让我深刻意识到这个问题的重要性。当时我正在高铁上用笔记本调试一个OpenClaw自动化流程,结果不到两小时就收到了电量不足的警告。这促…...

保姆级教程:用FLUX.2-Klein-9B在ComfyUI中快速编辑人像照片

保姆级教程:用FLUX.2-Klein-9B在ComfyUI中快速编辑人像照片 1. 准备工作与环境搭建 在开始使用FLUX.2-Klein-9B进行人像编辑前,我们需要先准备好运行环境。这个模型虽然功能强大,但部署过程其实非常简单,跟着步骤走就能快速上手…...

3个方法解决小说断更难题:Yuedu书源库让你实现阅读自由

3个方法解决小说断更难题:Yuedu书源库让你实现阅读自由 【免费下载链接】Yuedu 📚「阅读」APP 精品书源(网络小说) 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 你是否经历过这样的时刻:深夜追更的小说…...

Coze-Loop与Vue3前端性能优化:渲染速度提升方案

Coze-Loop与Vue3前端性能优化:渲染速度提升方案 1. 为什么Vue3项目需要Coze-Loop来诊断性能问题 在实际开发中,很多团队都遇到过这样的困惑:明明代码写得挺规范,但页面滚动卡顿、列表加载缓慢、交互响应迟滞。我们曾接手一个电商…...

vLLM-v0.17.1效果展示:vLLM在中文长文本摘要任务中的准确率实测

vLLM-v0.17.1效果展示:vLLM在中文长文本摘要任务中的准确率实测 1. vLLM框架简介 vLLM是一个专注于提升大语言模型推理效率的开源库,它的核心目标是让开发者能够更轻松地部署和使用各类大模型。这个项目最初由加州大学伯克利分校的研究团队发起&#x…...

MATLAB伪彩色增强实战:从灰度分层到频域处理的完整指南

1. 伪彩色增强技术入门指南 第一次接触伪彩色增强是在研究生课题中,当时需要分析一批医学X光片。盯着那些灰蒙蒙的片子看了三天后,我突然意识到:人眼对色彩差异的敏感度,确实远超对灰度变化的感知。这就是伪彩色技术的核心价值——…...

打造高性价比DIY回音壁:从零开始的多媒体音箱制作指南

1. 为什么选择DIY回音壁? 每次看到商场里标价上万元的回音壁音箱,我都会想:这东西真的值这个价吗?作为一个玩了十几年音响的发烧友,我决定用不到500元的预算,打造一套属于自己的高性价比回音壁。你可能不知…...