深度学习中的结构化概率模型 - 从图模型中采样篇

序言

在深度学习的广阔领域里,结构化概率模型占据了举足轻重的地位,它们为处理复杂数据结构和高维数据空间提供了强大的工具。这些模型不仅能够捕捉数据之间的依赖关系,还能生成符合数据分布的新样本,为机器学习应用注入了无限的创意与可能。其中,从图模型中采样是理解和利用结构化概率模型的核心技术之一。图模型,如贝叶斯网络、马尔可夫随机场等,通过节点表示变量,边表示变量间的依赖关系,构建了一个直观且强大的框架来描述复杂数据的统计特性。从图模型中采样,意味着我们能够基于这个框架生成符合其定义的概率分布的随机样本,这些样本在训练数据不足或需要进行创造性扩展时尤为宝贵。

从图模型中采样

  • 图模型同样简化了从模型中采样的过程。
  • 有向图模型的一个优点是,可以通过一个简单高效的被称作是原始采样 ( Ancestral Sampling \text{Ancestral Sampling} Ancestral Sampling) 的过程从由模型表示的联合分布中抽取样本。
  • 其基本思想是将图中的变量 x i \text{x}_i xi 使用拓扑排序,使得对于所有 i i i j j j,如果 x i \text{x}_i xi x j \text{x}_j xj 的一个父亲结点,则 j j j 大于 i i i
    • 然后可以按此顺序对变量进行采样。
    • 换句话说,我们可以首先采 x 1 ∼ P ( x 1 ) \text{x}_1 \sim P(\text{x}_1) x1P(x1),然后采 x 2 ∼ P ( x 2 ∣ P a G ( x 2 ) ) \text{x}_2 \sim P(\text{x}_2 \mid P_{a\mathcal{G}}(\text{x}_2)) x2P(x2PaG(x2)),以此类推,直到最后我们从 P ( x n ∣ P a G ( x n ) ) P(\text{x}_n \mid P_{a\mathcal{G}}(\text{x}_n)) P(xnPaG(xn)) 中采样。
    • 只要从每个条件分布 x i ∼ P ( x i ∣ P a G ( x i ) ) x_i \sim P(\text{x}_i \mid P_{a\mathcal{G}}(\text{x}_i)) xiP(xiPaG(xi)) 中采样都是很容易的,那么很容易从整个模型中抽样。
    • 拓扑排序操作保证我们可以按照深度学习中的结构化概率模型 - 使用图来描述模型结构篇 - 公式1中条件分布的顺序依次采样。
    • 如果没有拓扑排序,我们可能会尝试在其父节点可用之前对该变量进行抽样。
  • 对于一些图,可能有多个拓扑排序。原始采样可以使用这些拓扑排序中的任何一个。
  • 原始采样通常非常快(假设从每个条件分布中采样都是很容易的)并且方便。
    • 原始采样的一个缺点是其仅适用于有向图模型。
    • 另一个缺点是它并不是每次采样都是条件采样操作。
    • 当我们希望从有向图模型中变量的子集中抽样时,给定一些其他变量,我们经常要求所有给定的条件变量在图中比要抽样的变量的顺序要早。
    • 在这种情况下,我们可以从模型分布指定的局部条件概率分布进行抽样。
    • 否则,我们需要采样的条件分布是给定观测变量的后验分布。
    • 这些后验分布在模型中通常没有明确指定和参数化。
    • 推断这些后验分布的代价可能是昂贵的。在这种情况下的模型中,原始采样不再有效。
  • 不幸的是,原始采样仅适用于有向模型。
    • 我们可以通过将无向模型转换为有向模型来实现从无向模型中抽样,但是这通常需要解决棘手的推断问题(以确定新有向图的根节点上的边缘分布),或者需要引入许多边从而会使得到的有向模型变得难以处理。
    • 从无向模型抽样,而不首先将其转换为有向模型的做法似乎需要解决循环依赖的问题。
    • 每个变量与每个其他变量相互作用,因此对于抽样过程没有明确的起点。
    • 不幸的是,从无向模型中抽取样本是一个昂贵的多次迭代的过程。
    • 理论上最简单的方法是Gibbs采样 ( Gibbs Sampling \text{Gibbs Sampling} Gibbs Sampling)。
    • 假设我们在一个 n n n 维向量的随机变量 x \textbf{x} x 上有一个图模型。
    • 我们迭代地访问每个变量 x i x_i xi,在给定其他变量的条件下从 p ( x i ∣ x − i ) p(\text{x}_i \mid \text{x}_{−i}) p(xixi)中抽样。
    • 由于图模型的分离性质,抽取 x i x_i xi 的时候我们可以等价地仅对 x i \text{x}_i xi 的邻居条件化。
    • 不幸的是,在我们遍历图模型一次并采样所有 n n n 个变量之后,我们仍然无法得到一个来自 p ( x ) p(\textbf{x}) p(x) 的客观样本。
    • 相反,我们必须重复该过程并使用它们邻居的更新值对所有 n n n 个变量重新取样。
    • 在多次重复之后,该过程渐近地收敛到正确的目标分布。
    • 很难确定样本何时达到所期望分布的足够精确的近似。

总结

在图模型中进行采样,是深度学习及结构化概率模型研究中的一个关键步骤,它不仅深化了我们对数据内在结构和生成机制的理解,还为数据增强、模拟仿真、艺术创作等领域开辟了新途径。通过精心设计的采样算法,如 Gibbs \text{Gibbs} Gibbs(吉布斯采样)、 MCMC \text{MCMC} MCMC(马尔可夫链蒙特卡洛)等,我们能够高效地探索图模型定义的复杂概率空间,生成既多样又逼真的样本。随着计算能力的提升和算法的不断优化,从图模型中采样将变得更加高效和精确,进一步推动深度学习及相关领域的发展,为我们解决复杂现实问题提供更加有力的支持。

往期内容回顾

深度学习中的结构化概率模型 - 使用图来描述模型结构篇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

King3399 SDK(ubuntu文件系统)编译简明教程

该文章仅供参考,编写人不对任务实验设备、人员及测量结果负责!!! 0 引言 文章主要介绍King3399(瑞芯微rk3399开发板,荣品)官方SDK(Ubuntu文件系统)编译过程&#xff0c…

GaussDB关键技术原理:高弹性(六)

书接上文GaussDB关键技术原理:高弹性(五)从日志多流和事务相关方面对hashbucket扩容技术进行了解读,本篇将从扩容实践方面继续介绍GaussDB高弹性技术。 5 扩容实践 5.1 工具介绍 5.1.1 TPC-C TPC-C(全称Transaction Proces…

Leetcode 540. 有序数组中的单一元素

1.题目基本信息 1.1.题目描述 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 1.2.题目地址 https:…

[3.4]【机器人运动学MATLAB实战分析】PUMA560机器人逆运动学MATLAB计算

PUMA560是六自由度关节型机器人,其6个关节都是转动副,属于6R型操作臂。各连杆坐标系如图1,连杆参数如表1所示。 图1 PUMA560机器人的各连杆坐标系 表1 PUMA560机器人的连杆参数 用代数法对其进行运动学反解。具体步骤如下: 1、求θ1 PMUMA56

CSS 圆形边框与阴影

目录 1. 圆角边框 1.1 正圆 1.2 圆角矩形 1.3 任意圆角 1.4 某个圆角 2. 盒子阴影 3. 文字阴影 1. 圆角边框 1.1 正圆 1.2 圆角矩形 1.3 任意圆角 1.4 某个圆角 2. 盒子阴影 3. 文字阴影

Vue Mini基于 Vue 3 的小程序框架

新的小程序框架 https://vuemini.org/ Vue Mini 是一个基于 Vue 3 的小程序框架,它允许开发者利用 Vue 3 的强大功能来构建微信小程序。Vue Mini 的核心优势在于它的响应式系统和组合式 API,这些特性让开发者能够以一种更声明式、更高效的方式来编写和…

实景三维赋能城镇数字化规划

在数字化浪潮的推动下,城镇规划正经历着前所未有的变革。实景三维技术以其独特的优势,为城镇数字化规划提供了强大的技术支持。今天,我们将深入探讨实景三维技术如何赋能城镇数字化规划。 一、城镇规划面临的挑战 随着城镇化进程的加快&…

2024年研究生数学建模“华为杯”E题——肘部法则、k-means聚类、目标检测(python)、ARIMA、逻辑回归、混淆矩阵(附:目标检测代码)

文章目录 一、情况介绍二、思路情况二、代码展示三、感受 一、情况介绍 前几天也是参加了研究生数学建模竞赛(也就是华为杯),也是和本校的两个数学学院的朋友在网上组的队伍。昨天(9.25)通宵干完论文(一条…

计算机毕业设计 基于Python的热门微博数据可视化分析系统的设计与实现 Python+Django+Vue 可视化大屏 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

计算机毕业设计Hadoop+Spark知识图谱体育赛事推荐系统 体育赛事热度预测系统 体育赛事数据分析 体育赛事可视化 体育赛事大数据 大数据毕业设计

《HadoopSpark知识图谱体育赛事推荐系统》开题报告 一、研究背景与意义 随着互联网技术的迅猛发展和大数据时代的到来,体育赛事数据的数量呈爆炸式增长。用户面对海量的体育赛事信息,常常感到信息过载,难以快速找到感兴趣的赛事内容。传统的…

软件管理【1.10】

软件管理【1.10】 13、软件管理13.1.包管理工具rpm13.2.yum和dnf13.2.1.配置yum源13.2.2.只下载安装包,不安装13.2.3.配置本地光盘ISO文件安装13.2.4.配置阿里云epel源13.2.5.base-for-centos7.repo13.2.6.base-for-rocky8.repo13.3.搭建私有yum仓库13.3.1.Apache实现网战功能…

Kafka和RabbitMQ区别

RabbitMQ的消息延迟是微秒级,Kafka是毫秒级(1毫秒1000微秒) 延迟消息是指生产者发送消息发送消息后,不能立刻被消费者消费,需要等待指定的时间后才可以被消费。 Kafka的单机呑吐量是十万级,RabbitMQ是万级…

sql-labs靶场第二关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①Order by判断列数 ②判断回显地方 ③爆库,查看数据库名称 ④爆表,查看security库的所有表 ⑤爆列,查看users表的所有…

给出向量求叉乘(在垂直的时候可以简化)

1、可以用那个求行列式的方法求叉乘。 2、在两个向量垂直的时候,可以用简化方法,前面幅度相乘,然后ex叉乘ey是ez 注意叉乘结果无论原向量是不是垂直,叉乘结果都与两个向量垂直

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间,为确保活动期间的网络质量,现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中,发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…

【STM32单片机_(HAL库)】4-5-1【定时器TIM】【感应开关盖垃圾桶】SG90舵机模块实验

1.硬件 STM32单片机最小系统SG90舵机模块 2.软件 sg90驱动文件添加main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "sg90.h"int main(void) {HAL_Init(); /* 初始化HAL库 */…

【算法】链表:160.相交链表(easy)+双指针

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法(双指针) 返回结果 算法正确性 时间复杂度 4、代码 1、题目链接 160. 相交链表 - 力扣(LeetCode) 2、题目介绍 ​ 3、解法(…

Pikachu-xss防范措施 - href输出 js输出

总体原则: 输入做过滤,输出做转义 过滤:根据业务需要进行过滤,如:输入点要求输入手机号,则只允许输入手机号格式的数字; 转义:所有输出到前端的数据,都根据输出点进行转…

OpenCV计算机视觉库

计算机视觉和图像处理 Tensorflow入门深度神经网络图像分类目标检测图像分割OpenCVPytorchNLP自然语言处理 OpenCV 一、OpenCV简介1.1 简介1.2 OpenCV部署1.3 OpenCV模块 二、OpenCV基本操作2.1 图像的基本操作2.1.1 图像的IO操作2.1.2 绘制几何图像2.1.3 获取并修改图像的像素…

【算法篇】回溯算法类(2)(笔记)

目录 一、LeetCode 题目 1. 子集II 2. 递增子序列 3. 全排列 4. 全排列 II 5. 重新安排行程 6. N皇后 7. 解数独 二、题目思路整理 一、LeetCode 题目 1. 子集II https://leetcode.cn/problems/subsets-ii/description/https://leetcode.cn/problems/subsets-ii/des…