机器学习(西瓜书)第 14 章 概率图模型

在这里插入图片描述

14.1 隐马尔可夫模型

机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将学习任务归结于计算变量的概率分布。在概率模型中,利用已知变量推测位置变量的分布称为“推断”(inference),其核心是如何基于可观测变量推测出未知变量的条件分布。具体来说,假定所关心的变量集合为Y,可观测变量集合为O,其他变量集合为R,

  • “生成式”(generative)模型考虑联合分布P(Y,R,O);
  • “判别式”(discriminative)模型考虑条件分布P(Y,R|O);

给定一组观测变量值,推断就是由P(Y,R,O)或P(Y,R|O)得到条件分布P(Y|O)。
直接利用概率和规则消去变量R显然不可行。为了便于研究高效的推断和学习算法,需要有一套能简洁紧凑地表达变量间关系的工具。

概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型.它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即 “变量关系图”.根据边的性质不同,概率图模型可大致分为两类:

  • 第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网(Bayesian network);
  • 第二类是使用无向图表示变量间的相关关系,称为无向图模型或马尔可夫网(Markov network).

隐马尔可夫模型(Hidden Markov Model,简称HMM)是结构最简单的动态贝叶斯网(dynamic Bayesian network),这是一种著名的有向图模型,主要用于时序数据建模,在语音识别、自然语言处理等领域有广泛应用。
隐马尔可夫模型中的变量可分为两组。第一组是状态变量{y1,y2,…,yn},其中,yi∈Y表示第i时刻的系统状态。通常假定状态变量是隐藏的、不可被观测的,因此状态变量亦称隐变量(hidden variable)。第二组是观测变量{x1,x2,…,xn},其中,xi∈X表示第i时刻的观测值。在隐马尔可夫模型中,系统通常在多个状态{s1,s2,…,sN}之间转换。如下图所示,
在这里插入图片描述
在任一时刻,观测变量的取值仅依赖于状态变量,即xt由yt确定,与其他状态变量及观测变量的取值无关。同时,t时刻的状态yt仅依赖于
t-1时刻的状态yt-1
,与其余n-2个状态无关。这就是所谓的“马尔可夫链”(Markov chain),即:系统下一时刻的状态仅由当前状态决定,不依赖于以往的任何状态
在实际应用中,人们常常关注隐马尔可夫模型的三个基本问题:

  • 如何评价模型与观察序列之间的匹配程度
    例如许多任务需根据以往的观察序列{x1,x2,…,xn-1}来推测当前时刻最可能的观测值xn;
  • 如何根据观测序列推断出隐藏的模型状态
    例如在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列(即对应的文字);
  • 如何训练模型使其能最好的描述观测数据
    例如在大多数现实应用中,人工指定模型参数已变得越来越不可行,如何根据训练样本学得最优的模型参数;

14.2 马尔可夫随机场

马尔可夫随机场(markov Random Field,简称MRF)是典型的马尔可夫网,这是一种著名的无向图模型。图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。马尔可夫随机场有一组势函数(potential function),亦称“因子”(factor),这是定义在变量子集上的非负函数,主要用于定义概率分布模型。

14.3 条件随机场

条件随机场(Conditional Random Field,简称CRF)是一种判别式无向图模型。生成式模型是直接对联合分布进行建模,而判别式模型则是对条件分布进行建模。前面介绍的隐马尔可夫模型和马尔可夫随机场都是生成式模型,而条件随机场是判别式模型。

14.4 学习与推断

基于概率图模型定义的联合概率分布,我们能对目标变量的边际分布(marginal distribution)或以某些可观测变量为条件的条件分布进行推断。
对概率图模型,还需确定具体分布的参数,这称为参数估计或参数学习问题。
概率图模型的推断方法大致可分为两类:

  • 第一类是精确推断方法
    希望能计算出目标变量的边际分布或条件分布的精确值。遗憾的是,一般情形下,此类算法的计算复杂度随着极大团规模的增长呈指数增长,适用范围有限。
  • 第二类是近似推断方法
    希望在较低时间复杂度下获得原问题的近似解。此类方法在现实任务中更常用。

精确推断具有代表性的方法有,

1.变量消去
精确推断的实质是一类动态规划算法,它利用图模型所描述的条件独立性来消减计算目标概率值所需的计算量。变量消去是最直观的精确推断算法,也是构建其他精确推断算法的基础。
变量消去法有一个明显的缺陷:若需计算多个边际分布,重复使用变量消去法将对造成大量的冗余计算。

2.信念传播
信念传播(Belief Propagation)算法将变量消去法中的求和操作看作一个消息传递过程,较好的解决了求解多个边际分布时重复计算问题。

14.5 近似推断

精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类:

  • 第一类是采样(sampling)
    通过使用随机化方法完成近似;
  • 第二类是使用确定性近似完成近似推断
    典型代表为变分推断(variational inference);

1.MCMC采样
概率图模型中最常用的采用技术是马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,简称MCMC)方法。

2.变分推断
变分推断通过使用已知简单分布来逼近所需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

14.6 话题模型

话题模型(topic model)是一族生成式有向图模型,主要用于处理离散型的数据(如文本集合),在信息检索、自然语言处理等领域有广泛应用。隐狄利克雷分配模型(Latent Dirichlet Allocation,简称LDA)是话题模型的典型代表。
话题模型中有几个重要概念:词(word)、文档(document)和话题(topic)。


  • “词”是待处理数据的基本离散单元,例如在文本处理任务中,一个词就是一个英文单词或有独立意义的中文词。
  • 文档
    “文档”是待处理的数据对象,它由一组词组成,这次词在文档中是不计顺序的,例如一篇论文、一个网页都可看做一个文档;这种表示方式称为“词袋”(bag-of-words)。数据对象只要能用词袋描述,就可使用话题模型。
  • 话题
    “话题”表示一个概念,具体表示为一系列相关的词,以及它们在该概念下出现的概率。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态线程池(四)

动态线程池 dtp生命周期管理 生命周期相关类图 DtpExecutor EagerEtpExecutor OrderedDtpExecutor TaskWrapper任务包装器 MdcRunnable TaskWrappers NotifyEnum NoticeManager通知管理器 InvokerChain调用链

【CPP】类与继承

14 类与继承 在前面我们提到过继承的一些概念,现在我们来回顾一下 打个比方:在CS2中我们把玩家定义为一个类 class 玩家: 血量:100阵营(未分配)服饰(未分配)位置(未分配)武器(未分配)是否允许携带C4(未分配)是否拥有C4(未分配) 当对局创建时,会新生成两个类,这两个类继承自&qu…

JS实现树形结构数据中特定节点及其子节点显示属性设置的技巧(可用于树形节点过滤筛选)

大家好,今天我要分享的是如何在树形结构的数据中,根据特定条件设置节点及其所有子节点的显示属性。在实际项目中,这种需求非常常见,特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。 需求分析…

有关C# .NET Core 过滤器的使用

想用一个过滤器实现特定接口的审核日志记录,结果报了错,看了看感觉有些基础要补,所以想记录下来 错误: 在属性过滤器中使用了依赖注入,结果在应用在控制层接口时报了传参的错 //过滤器 public class AuditRecordFil…

tcpdump使用方法

一、centos上可以采用下面的命令进行安装。 yum install tcpdump 二、实例: 1、监视指定网络接口的数据包 即监听指定网卡的数据包,若不指定网卡,默认tcpdump只会监视第一个网络接口。如监听 eth0网卡,如下: tcpd…

Double-Fetch漏洞检测工具的部署、使用与原理分析

文章目录 前言1、概述1.1、简介1.2、工作原理1.2.1、内核空间与用户空间的信息传递1.2.2、Double-Fetch漏洞产生的原因1.2.3、产生Double-Fetch漏洞的情况1.2.4、一个Double-Fetch漏洞示例1.2.5、Double-Fetch漏洞检测工具原理 1.3、模式匹配原理分析1.3.1、Coccinelle介绍1.3.…

大厂程序员的健身之路

大厂程序员的健身之路 基本信息饮食正餐营养补剂 睡眠训练计划 基本信息 健身时间:2023.03 -> 2024.09体重变化:52kg -> 67kg 饮食 正餐 早餐:不吃午餐:两碗米饭 鱼/鸡肉 蔬菜 酸奶晚餐:两碗米饭 鱼/鸡肉…

java之杨辉三角问题

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 如何实现呢? 思路:首先,我们可以将杨辉三角视作i行j列的二维数组。除了第一行和第二行之外&am…

BuripSuiteProfessional 抓取HTTPS配置

1.电脑拿开代理 谷歌为例 点击三点-设置 -输入代理--点击代理设置 打开手动代理---IP ,端口如图-点击保存 2.下载CA证书 打开代理后,谷歌浏览器打开,输入/burp--如下图-点击CA证书下载证书 选择下载目录--桌面 3.安装CA证书 谷歌浏览器中点开设置-输入证书-点击安全 点击…

传知代码-多示例AI模型实现病理图像分类

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 本文将基于多示例深度学习EPLA模型实现对乳腺癌数据集BreaKHis_v1的分类。EPLA模型是处理组织病理学图像的经典之作。EPLA模型是基于多示例学习来进行了,那么多示例学习模型对处理病理学图像具有…

优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序

遗传算法(Genetic Algorithm, GA)是一种启发式搜索算法,用于寻找复杂优化问题的近似解。它模拟了自然选择和遗传学中的进化过程,主要用于解决那些传统算法难以处理的问题。 遗传算法的基本步骤: 初始化种群&#xff0…

GNN-RAG:用于大模型推理的图神经检索

GNN-RAG:用于大模型推理的图神经检索 秒懂大纲提出背景解法拆解全流程优化创意总结 论文:GNN-RAG: Graph Neural Retrieval for Large Language Model Reasoning 代码:https://github.com/cmavro/GNN-RAG 秒懂大纲 ├── GNN-RAG【主题】…

美国站群服务器优化技巧解析

美国站群服务器,作为专为管理多个网站而设计的托管解决方案,其优化对于提升网站性能和用户体验至关重要。以下是一些关键的优化技巧: 首先,硬件配置是基础。选择高性能的CPU、大容量的内存以及高速的硬盘(如SSD)是提升服务器运算速…

Java 集合详解

目录 一. 概述 二. Collection接口实现类 三. Map接口实现类 四. 线程安全集合 五. List接口下集合实现原理 1. ArrayList实现原理 1.1. 基于动态数组 1.2. 随机访问 1.3. 添加元素 1.4. 删除元素 1.5. 迭代器 1.6. 克隆和序列化 1.7. ArrayList简单使用 2. Link…

Linux环境变量进程地址空间

目录 一、初步认识环境变量 1.1常见的环境变量 1.2环境变量的基本概念 二、命令行参数 2.1通过命令行参数获取环境变量 2.2本地变量和内建命令 2.3环境变量的获取 三、进程地址空间 3.1进程(虚拟)地址空间的引入 3.2进程地址空间的布局和理解 …

11年计算机考研408-数据结构

设执行了k次。 解析: d要第一个出,那么abc先入栈,d入栈然后再出栈,这前面是一个固定的流程,后面就很灵活了,可以ecba,ceba,cbea,cbae。 答案是4个序列。 解析&#xff1a…

【论文阅读】PERCEIVER-ACTOR: A Multi-Task Transformer for Robotic Manipulation

Abstract transformers凭借其对大型数据集的扩展能力,彻底改变了视觉和自然语言处理。但在机器人操作中,数据既有限又昂贵。通过正确的问题表述,操纵仍然可以从变形金刚中受益吗?我们使用peract来研究这个问题,peract…

Spring Boot利用dag加速Spring beans初始化

1.什么是Dag? 有向无环图(Directed Acyclic Graph),简称DAG,是一种有向图,其中没有从节点出发经过若干条边后再回到该节点的路径。换句话说,DAG中不存在环路。这种数据结构常用于表示并解决具有依赖关系的问题。 DAG的…

elasticsearch同步mysql方案

文章目录 1、1. 使用数据库触发器2. 使用定时任务3. 监听MySQL二进制日志(binlog)4. 使用数据管道5. 使用第三方工具或服务6. 编写自定义脚本注意事项 2、1. 使用Logstash步骤:示例配置: 2. 使用Debezium步骤: 3. 自定…

【Redis入门到精通三】Redis核心数据类型(List,Set)详解

目录 Redis数据类型 ​编辑 1.List类型 (1)常见命令 (2)内部编码 2.Set类型 (1)常见命令 (2)内部编码 Redis数据类型 查阅Redis官方文档可知,Redis提供给用户的核…