机器学习 第14章 概率图模型

news2024/9/20 18:49:58

目录

  • 隐马尔可夫模型(HMM)
  • 马尔可夫随机场(MRF)
  • 条件随机场(CRF)
  • 学习与推断
    • 变量消去
    • 信念传播
  • 近似推断
    • MCMC采样
    • 变分推断
  • 话题模型

隐马尔可夫模型(HMM)

隐马尔可夫模型 (Hidden Markov Model, HMM) 是一种统计模型,主要用于处理序列数据,特别是在存在未观测的或隐藏的状态的情况下。HMM 通过观察到的数据来推断这些隐藏状态的序列。它的核心思想是,虽然真实的系统状态(或“状态”)不可直接观察到,但我们可以通过观察到的数据(“观测值”)来间接地估计或推测这些状态。

HMM 的主要组成部分
(1)状态集:系统可能处于的一组状态,通常记作 S = { s 1 , s 2 . . . s N } S=\left \{ s_{1},s_{2}...s_{N} \right \} S={s1,s2...sN}
(2)观测集:对应于每种状态的可能观测值集合,记作 O = { o 1 , o 2 . . . o M } O=\left \{ o_{1},o_{2}...o_{M} \right \} O={o1,o2...oM}
(3)初始状态概率: 系统开始时处于每个状态的概率,通常表示为一个概率向量 π \pi π,其中 π i = P ( q 1 = s i ) \pi _{i}=P\left ( q_{1}=s_{i} \right ) πi=P(q1=si)
(4)状态转移概率: 描述系统从一个状态转移到另一个状态的概率,通常表示为一个矩阵 A,其中 a i j = P ( s t = s j ∣ s t − 1 = s i ) a_{ij}=P\left ( s_{t}=s_{j}\mid s_{t-1}=s_{i} \right ) aij=P(st=sjst1=si)
(5)发射概率: 给定一个状态,观察到某个特定输出的概率,通常表示为一个矩阵B,其中 b i ​ ( o k ​ ) = P ( o t ​ = o k ​ ∣ s t ​ = s i ​ ) b i​ (o k​ )=P(o t​ =o k​ ∣s t​ =s i​ ) bi(ok)=P(ot=okst=si)

示例
假设我们有一个天气系统,天气可能是晴天、雨天或阴天。我们不能直接观察到天气,但我们有一个喜欢散步的朋友,他的行为(在家、外出散步、购物)会受到天气的影响。我们可以通过观察朋友的行为来推断最近几天的天气状况。

马尔可夫随机场(MRF)

马尔可夫随机场 (Markov Random Field, MRF) 是一种无向图模型,其中每个节点代表一个随机变量,而边表示这些变量之间的依赖关系。MRF 中的关键特性是局部马尔可夫性,这意味着任意一个节点的条件概率只依赖于其直接相邻的节点(邻居),而不依赖于图中的其他节点。这种条件独立性使得MRF 成为一个有用的工具,尤其是在处理那些可以自然地表示为网络或网格结构的问题时。

MRF 的基本概念
无向图模型: 不同于贝叶斯网络中的有向无环图(DAG),MRF 使用无向边来表示变量之间的关系,这允许图中存在环路。
局部马尔可夫性: 在MRF中,任意节点的条件概率只取决于其邻居节点的状态。这意味着一旦知道了邻居的状态,那么该节点与其他非邻居节点是条件独立的。
全局马尔可夫性: 这是指在给定了节点的邻居集后,任何两个非邻接节点都是条件独立的。

应用
在计算机视觉中,MRF 通常用于处理图像分割或去噪问题。例如,当对一幅图像进行分割时,每个像素都可以被视为一个节点,而每个节点的状态代表该像素属于哪个分割区域。通过建立一个MRF,可以捕捉像素之间的空间相互关系,进而提高分割的准确性。

下面是一个简单的马尔可夫随机场,如图所示在这里插入图片描述
MRF 的能量函数
在MRF中,通常定义一个能量函数来衡量一个配置的好坏。能量函数通常是所有节点和边势函数的和。势函数描述了节点间相互作用的强度,通常设计为非负的,以保证能量函数的全局最小值对应于最可能的配置。通过最小化这个能量函数,可以得到最合适的配置。

MRF 与条件随机场 (CRF)
条件随机场 (CRF) 是MRF的一种特殊情况,专门用于处理有监督的学习问题,即给定一些观测数据,预测一个或多个目标变量的值。CRF 在序列标注和结构化预测任务中特别有用,如自然语言处理中的词性标注或命名实体识别。

MRF 的推断和学习
在MRF中,推断通常指的是计算给定观测下的边际概率或其他概率分布的任务。学习则是指从数据中估计模型参数的过程。这两项任务通常都很复杂,尤其是对于大型的图模型,因为它们往往需要复杂的算法来近似解决,例如信念传播或变分方法。

条件随机场(CRF)

CRF 是一类用于建模序列数据的随机场模型,特别适用于标注或分类问题。CRF与HMM的不同之处在于,CRF直接对条件概率分布建模,而不是联合概率分布。
在自然语言处理中的命名实体识别(NER)任务中,CRF可以用于预测句子中每个单词的标签。
下面是伪代码示意

class CRF:
    def __init__(self, features, transitions):
        self.features = features
        self.transitions = transitions

    def forward_algorithm(self, obs_seq):
        # 前向算法用于计算观测序列的概率
        pass

    def viterbi(self, obs_seq):
        # Viterbi算法用于解码最优路径
        pass

学习与推断

学习通常涉及从数据中估计模型参数,而推断则涉及使用已知的数据来估计未知变量的分布。

变量消去

变量消去 (Variable Elimination, VE) 是一种用于求解因子图或贝叶斯网络中的边缘概率分布的方法。这种方法的核心思想是通过一系列的求和操作来消除不感兴趣的变量,从而得到感兴趣的变量的边缘分布。VE 算法通过按一定的顺序消除非目标变量来计算目标变量的边缘分布,这个顺序的选择会影响算法的效率。

VE 的步骤包括:
(1)选择消元顺序:VE 的性能很大程度上依赖于消元变量的顺序,一个合理的消元顺序可以显著减少计算量。
(2)消元过程:在这个过程中,通过固定某些变量的值,逐步消除其他变量,直到只剩下目标变量。
(3)消息传递:在某些情况下,VE 可以看作是一种特殊的消息传递算法,其中消息是通过消元过程传递的。

信念传播

信念传播 (Belief Propagation, BP) 也被称为消息传递算法,是在图模型上执行推理的一种方法,主要用于计算节点的后验概率。BP 算法尤其适合于稀疏图模型,在这些模型中,每个节点只与其少数邻居直接相连。BP 算法通过在网络中传递消息来更新每个节点的信念(即后验概率),直到整个网络收敛于一致的信念状态。

BP 算法的特点包括:
(1)消息传递:每个节点通过接收来自邻居的消息来更新自己的信念,并向邻居发送新的消息。
(2)收敛性:在没有循环的图中,BP 算法能够精确地收敛到真实的边缘后验概率。然而,在存在循环的图中,BP 算法并不保证总是能够收敛到正确的解,但它仍然可以提供有用的近似。
(3)应用范围广泛:BP 可应用于多种类型的图模型,包括贝叶斯网络和马尔可夫随机场。

变量消去 vs 信念传播
虽然 VE 和 BP 都是用于概率图模型上的推理方法,但它们之间存在一些关键差异。VE 更侧重于通过消元来计算边缘分布,而 BP 则更倾向于通过消息传递来更新节点的信念。BP 通常比 VE 更高效,特别是在处理大的稀疏图时。然而,BP 在有环图上的应用需要特别注意,因为它不总是能够提供精确的结果。

近似推断

近似推断(Approximate Inference)是针对那些在计算上难以处理的确切推断问题而发展起来的技术。在许多情况下,尤其是当模型变得非常复杂或数据维度非常高时,直接计算后验概率分布是不现实的。因此,研究者们开发了各种近似推断技术来解决这些问题。

MCMC采样

MCMC采样是一种从复杂的概率分布中获取样本的技术,这种方法特别适用于高维空间中的分布。MCMC方法通过构建一个马尔可夫链,使得该链的平稳分布为目标分布。这种方法不需要知道目标分布的归一化常数,只需要能够计算未归一化分布的比例即可。MCMC的一个关键优点是它能够处理高维分布,并且可以在不需要显式计算归一化常数的情况下从这些分布中采样。

MCMC算法的例子包括Metropolis-Hastings算法和Gibbs采样。Metropolis-Hastings算法允许我们在没有直接访问归一化常数的情况下从任意分布中采样。Gibbs采样则是MCMC的一种特殊情况,它通过逐个地更新变量来构造一个新的样本,这种方式在处理条件分布较为简单的模型时非常有效。
下面是Metropolis-Hastings算法的具体描述在这里插入图片描述

变分推断

变分推断是另一种近似推断方法,它通过构造一个参数化的近似分布来逼近真实的后验分布。变分推断的目标是找到一个近似分布,使得这个分布与真实的后验分布之间的KL散度达到最小。这通常被转化为一个优化问题,其中的目标是最小化KL散度或最大化证据下界(ELBO)。变分推断的一个重要优点是它可以被形式化为一个优化问题,这使得它能够在大规模数据集上高效运行,并且容易与现代优化工具相结合。

变分推断的具体过程通常包括选择一个变分族(即一个参数化的分布族),然后优化这个族内的分布以使其尽可能接近真实的后验。常见的变分族包括高斯分布、指数族分布等。此外,为了简化计算,有时会假设变分分布是各个变量相互独立的(平均场近似),尽管这可能不是最准确的近似方式。

话题模型

话题模型的目标是在大量的文档中自动发现隐含的主题结构信息。一个主题可以被理解为一组经常一起出现的词语,它们共同构成了一个概念或者一个方面的表述。话题模型大多基于数学方法进行计算,通过概率的方法来计算与主题词越相关的词,其概率值越大。

最常见的模型 - Latent Dirichlet Allocation (LDA)
LDA模型认为,每篇文档都是由多个主题构成的,而每个主题又对应着一组特定的词语。在LDA模型中,文档被视为主题的混合体,而每个主题则被视为词语的混合体。
LDA模型是一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓的生成模型,是指一篇文档中的每个词都是通过“文档以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”的过程得到。LDA模型的训练过程通常是利用诸如Gibbs采样这样的MCMC方法来进行的。

示例
给定一个文档集合,LDA可以帮助找出这些文档中潜在的话题分布。例如,一个包含新闻报道的文档集可能会揭示出关于经济、政治、科技等多个主题的分布情况。LDA模型不仅可以帮助我们理解每个文档的主题分布,而且还可以帮助我们理解每个主题的词语分布,进而更好地理解和组织文档内容。

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

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

相关文章

SpringBoot景区分时预约系统---附源码77951

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2开发现状 1.3论文结构与章节安排 2 景区分时预约系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分…

Sirius:一种高效的上下文稀疏性校正方法,恢复稀疏模型在推理任务上的性能...

论文:Sirius: Contextual Sparsity with Correction for Efficient LLMs地址:https://www.arxiv.org/abs/2409.03856 研究背景 研究问题:这篇文章要解决的问题是大型语言模型(LLMs)在推理效率上的挑战。随着LLMs的广泛…

智能获客系统,是企业引爆营销潜力的新工具

企业为争取每一位潜在客户投入了大量资源和精力,然而即使拥有最先进的营销策略和庞大的营销预算,面对海量数据和复杂的用户行为模式,传统的获客方式依然效能有限。如果您的企业也有这方面的痛点,不让考虑使用智能获客系统&#xf…

影刀RPA实战:自动化同步商品库存至各大电商平台(二)

在当今的电商世界中,多平台运营已成为常态。商家需要在多个电商平台上维护商品库存的一致性,以确保顾客体验的流畅性和库存管理的高效性。运营人员每天面临的问题,就是把公司的商品库存数据,间断性的同步到电商平台上,…

Django+Vue基于OpenCV的人脸识别系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者&…

Apache OFBiz 远程代码执行漏洞复现(CVE-2024-45195)并拿到shell

FOFA&#xff1a;app"Apache_OFBiz" 复现&#xff1a; VPS上准备两个文件 rceschema.xml <data-files xsi:noNamespaceSchemaLocation"http://ofbiz.apache.org/dtds/datafiles.xsd" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"…

机器学习--K-Means

K均值聚类 算法过程 K − m e a n s K-means K−means 是 聚类 c l u s t e r i n g clustering clustering 算法的一种&#xff0c;就是给你一坨东西&#xff0c;让你给他们分类&#xff1a; 我们的 K − m e a n s K-means K−means 大概是这样一个流程&#xff1a; 第一…

大模型的实践应用29-大语言模型的RLHF(人类反馈强化学习)的具体应用与原理介绍

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用29-大语言模型的RLHF(人类反馈强化学习)的具体应用与原理介绍。在当今人工智能发展的浪潮中,大语言模型(Large Language Models, LLMs)凭借其强大的语言理解和生成能力,成为了研究与应用的热点。而在这股浪潮中,一…

python小脚本,实时监测服务器是否宕机状态,并发送到指定群组

一&#xff0c;前言 众所周知&#xff0c;市面上监控软件很多&#xff0c;有Zabbix&#xff0c;Prometheus等&#xff0c;但对于相对简单的功能&#xff0c;需要第一时间发现问题&#xff0c;如服务器宕机&#xff0c;zabbix和Prometheus都需要等几分钟才会报警。 想到最原始…

链路层和交换网_计算机网络

文章目录 链路层和交换网链路层多路访问链路和协议 ARPWeb 页面请求的历程 链路层和交换网 target&#xff1a; 分组是如何通过构成端到端通信路径的各段链路的&#xff1f;网络层的数据报是怎样被封装进链路层帧的呢&#xff1f;不同的通信链路能够采用不同的链路层协议吗&a…

【Linux】常见指令(2)

1.cp指令 cp指令用于复制文件或目录。 使用&#xff1a;cp [选项] [源文件或目录] [目标文件或路径] 常使用的选项是-r&#xff0c;即递归式复制。 接下来给两个使用示例来看&#xff1a; 当前有这些文件&#xff1a; 复制后&#xff1a; 2.mv指令 mv指令具有两个作用&am…

通义千问× DataV:AIGC “大时代”与可视化“小进步”

云布道师 阿里云数据可视化产品 DataV 借助“通义千问”大模型能力&#xff0c;推出“智能助手 DataV Copilot ”&#xff1b;通过代码自动生成、智能样式设计、“对话式”业务模版创建等功能&#xff0c;全面提速数据可视化应用开发效率。 一、DataV AI 探索之路&#xff1a…

闪存产品概述 NAND NOR FLASH

随着国内对集成电路&#xff0c;特别是存储芯片的重视&#xff0c;前来咨询我们关于NOR Flash&#xff0c;NAND Flash&#xff0c;SD NAND, eMMC, Raw NAND的客户越来越多了。这里我们专门写了这篇文章&#xff1a;1&#xff0c;把常用的存储产品做了分类; 2把一些产品的特点做…

Leetcode 188. 买卖股票的最佳时机 Ⅳ 状态机dp C++实现

Leetcode 188.买卖股票的最佳时机 Ⅳ 问题&#xff1a;给你一个整数数组 prices 和一个整数 k &#xff0c;其中 prices[i] 是某支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说&#xff0c;你最多可以买 k 次&…

Dubbo--高性能RPC框架

文章目录 Dubbo介绍Dubbo基本架构Dubbo是什么&#xff0c;它能做什么 Dubbo入门示例1.准备工作2.创建Maven项目3.添加依赖3.1提供者服务3.2消费者服务 4.创建服务接口5.实现服务接口6.配置服务提供者7.配置服务消费者8.启动 ZooKeeper9.运行服务提供者10.运行服务消费者 Dubbo介…

信号发生器在扫描模式下输出正弦波信号,示波器呈现的波形显示异常与不理想,这是为什么

如下图所示&#xff0c;在信号发生器扫描模式下输出正弦波信号&#xff0c;示波器呈现出的波形显示“异常”“不理想”情况&#xff0c;其原因可能与以下因素有关&#xff1a; 1、扫描速度与示波器刷新率不匹配 如果信号发生器的扫描速率&#xff08;频率变化速度&#xff09;…

Leetcode题解精讲之二叉树的基本理论(分类、四种遍历方式、存储方式)

目录 0 专栏介绍1 二叉树的基本概念2 二叉树的分类3 二叉树的遍历3.1 前序遍历3.1.1 递归实现3.1.2 迭代实现 3.2 中序遍历3.2.1 递归实现3.2.2 迭代实现 3.3 后序遍历3.3.1 递归实现3.3.2 迭代实现 3.4 层序遍历3.4.1 递归实现3.4.2 迭代实现 4 二叉树存储模式5 其他技巧 0 专…

直觉微调——简化语言模型对齐过程

人工智能咨询培训老师叶梓 转载标明出处 预训练语言模型在遵循指令和信任度方面仍有待提高。为了解决这一问题&#xff0c;研究者们提出了监督式微调&#xff08;Supervised Fine-Tuning, SFT&#xff09;和偏好优化&#xff08;Preference Optimization, PO&#xff09;两种方…

算法提高模板强连通分量tarjan算法

AC代码&#xff1a; #include<bits/stdc.h>using namespace std;typedef long long ll; const int MOD 998244353; const int N 2e5 10;//强联通分量模板 //tarjan算法 vector<int>e[N]; int n, m, cnt; int dfn[N], low[N], ins[N], idx; int bel[N];//记录每…

STL容器真的好用吗

大家都在用的c STL就一定是完美无缺的吗&#xff1f; 本文一针见血的指出常见STL顺序容器vector的致命bug。 在Scott Meyers的《Effective C》中&#xff0c;第一个条款明确指出&#xff0c;C是一个语言联邦。 这体现在&#xff1a; ● C&#xff1a;C继承了C语言的基础特性&a…