【深度学习】概率图模型(一)概率图模型理论简介

文章目录

  • 一、概率图模型
    • 1. 联合概率表
    • 2. 条件独立性假设
    • 3. 三个基本问题
  • 二、模型表示
    • 1. 有向图模型(贝叶斯网络)
    • 2. 无向图模型(马尔可夫网络)
  • 三、学习
  • 四、推断

在这里插入图片描述

  概率图模型(Probabilistic Graphical Model,PGM)是一种用图结构来表示和推断多元随机变量之间条件独立性的概率模型。图模型提供了一种直观且有效的方式来描述高维空间中的概率分布,通过图结构表示随机变量之间的关系,使得模型的参数量得以减少。

一、概率图模型

  • 在概率图模型中
    • 随机变量通常用斜体的大写字母表示,取值用斜体的小写字母表示。
    • 随机向量用粗斜体的大写字母表示,其取值用粗斜体的小写字母表示。

  考虑一个由 K K K 个离散随机变量 X 1 , X 2 , … , X K X_1, X_2, \ldots, X_K X1,X2,,XK 组成的随机向量 X = [ X 1 , X 2 , … , X K ] T \mathbf{X} = [X_1, X_2, \ldots, X_K]^T X=[X1,X2,,XK]T,其中每个变量都有 M M M 个可能的取值,其联合概率在高维空间中的分布很难直接建模。在没有任何独立性假设的情况下,我们需要为每一种组合分配一个概率值。每个变量有 M M M 个可能的取值,因此有 M K M^K MK 种可能的组合。由于概率的总和必须等于1,所以最后一个概率值可以通过对其他概率值进行补充得到,因此,我们需要 M K − 1 M^K - 1 MK1 个参数。
  当𝑀 = 2且𝐾 = 100时,参数量(约为 1 0 30 10^{30} 1030)将远远超出目前计算机的存储能力。为了有效减少参数量,可以使用独立性假设。一个𝐾维随机向量𝑿的联合概率可以分解为𝐾个条件概率的乘积。如果某些变量之间存在条件独立性,参数量就可以显著减少。
  对于一个 K K K 维随机向量 X \mathbf{X} X,其联合概率可以根据条件独立性假设分解为条件概率的乘积:
p ( x ) ≜ P ( X = x ) = ∏ k = 1 K p ( x k ∣ x 1 , … , x k − 1 ) p(\mathbf{x}) \triangleq P(\mathbf{X} = \mathbf{x}) = \prod_{k=1}^{K} p(x_k | \mathbf{x}_1, \ldots, x_{k-1}) p(x)P(X=x)=k=1Kp(xkx1,,xk1)其中, x = [ x 1 , x 2 , … , x K ] \mathbf{x} = [x_1, x_2, \ldots, x_K] x=[x1,x2,,xK] 表示变量 X \mathbf{X} X 的取值。通过这种分解,我们可以将原本需要 M K M^K MK 个参数的问题,降低到对每个变量的条件概率的参数的数量之和。如果某些变量之间存在条件独立关系,那么相应的条件概率的参数量就可以大幅减少。
  概率图模型中,贝叶斯网络和马尔可夫网络都利用了这种条件独立性的结构,以更紧凑的方式表示联合概率分布,从而提高了模型的可解释性和计算效率。

1. 联合概率表

  假设有四个二值变量 X 1 , X 2 , X 3 , X 4 X_1, X_2, X_3 , X_4 X1,X2,X3,X4

  • 在不知道这几个变量依赖关系的情况下,可以用一个联合概率表来记录每一种取值的概率,需要 M K − 1 = 2 4 − 1 = 15 M^K − 1 = 2^4 − 1 = 15 MK1=241=15个参数。
    • 联合概率表包含了每个可能的组合及其对应的概率。在这个情况下,由于每个二值变量有两个可能的取值,总共有 2 4 = 16 2^4 = 16 24=16种可能的组合。下面是一个简化的例子,其中假设概率分布是均匀的,即 p ( x ) = 1 16 p(\mathbf{x}) = \frac{1}{16} p(x)=161

X 1 X 2 X 3 X 4 p ( x ) 0 0 0 0 1 16 0 0 0 1 1 16 0 0 1 0 1 16 0 0 1 1 1 16 0 1 0 0 1 16 0 1 0 1 1 16 0 1 1 0 1 16 0 1 1 1 1 16 1 0 0 0 1 16 1 0 0 1 1 16 1 0 1 0 1 16 1 0 1 1 1 16 1 1 0 0 1 16 1 1 0 1 1 16 1 1 1 0 1 16 1 1 1 1 1 16 \begin{array}{cccc|c} X_1 & X_2 & X_3 & X_4 & p(\mathbf{x}) \\ \hline 0 & 0 & 0 & 0 & \frac{1}{16} \\ 0 & 0 & 0 & 1 & \frac{1}{16} \\ 0 & 0 & 1 & 0 & \frac{1}{16} \\ 0 & 0 & 1 & 1 & \frac{1}{16} \\ 0 & 1 & 0 & 0 & \frac{1}{16} \\ 0 & 1 & 0 & 1 & \frac{1}{16} \\ 0 & 1 & 1 & 0 & \frac{1}{16} \\ 0 & 1 & 1 & 1 & \frac{1}{16} \\ 1 & 0 & 0 & 0 & \frac{1}{16} \\ 1 & 0 & 0 & 1 & \frac{1}{16} \\ 1 & 0 & 1 & 0 & \frac{1}{16} \\ 1 & 0 & 1 & 1 & \frac{1}{16} \\ 1 & 1 & 0 & 0 & \frac{1}{16} \\ 1 & 1 & 0 & 1 & \frac{1}{16} \\ 1 & 1 & 1 & 0 & \frac{1}{16} \\ 1 & 1 & 1 & 1 & \frac{1}{16} \\ \end{array} X10000000011111111X20000111100001111X30011001100110011X40101010101010101p(x)161161161161161161161161161161161161161161161161

2. 条件独立性假设

  • 联合概率分布:
    p ( x 1 , x 2 , x 3 , x 4 ) = p ( x 1 ) ⋅ p ( x 2 ∣ x 1 ) ⋅ p ( x 3 ∣ x 1 , x 2 ) ⋅ p ( x 4 ∣ x 1 , x 2 , x 3 ) p(x_1, x_2, x_3, x_4) = p(x_1) \cdot p(x_2 | x_1) \cdot p(x_3 | x_1, x_2) \cdot p(x_4 | x_1, x_2, x_3) p(x1,x2,x3,x4)=p(x1)p(x2x1)p(x3x1,x2)p(x4x1,x2,x3)

  • 通过引入条件独立性假设,可以减少参数量:

    • 例如,在已知 X 1 X_1 X1时, X 2 X_2 X2 X 3 X_3 X3独立,即有: p ( x 2 ∣ x 1 , x 3 ) = p ( x 2 ∣ x 1 ) p(x_2|x_1, x_3) = p(x_2|x_1) p(x2x1,x3)=p(x2x1) p ( x 3 ∣ x 1 , x 2 ) = p ( x 3 ∣ x 1 ) p(x_3|x_1, x_2) = p(x_3|x_1) p(x3x1,x2)=p(x3x1)
    • 在已知 X 2 X_2 X2 X 3 X_3 X3时, X 4 X_4 X4也和 X 1 X_1 X1独立,即有: p ( x 4 ∣ x 1 , x 2 , x 3 ) = p ( x 4 ∣ x 2 , x 3 ) p(x_4|x_1, x_2, x_3) = p(x_4|x_2, x_3) p(x4x1,x2,x3)=p(x4x2,x3)
    • 这样可以将联合概率分解为四个局部条件概率的乘积,从而减少参数量。 p ( x ) = p ( x 1 ) ⋅ p ( x 2 ∣ x 1 ) ⋅ p ( x 3 ∣ x 1 ) ⋅ p ( x 4 ∣ x 2 , x 3 ) p(\mathbf{x}) = p(x_1) \cdot p(x_2 | x_1) \cdot p(x_3 | x_1) \cdot p(x_4 | x_2, x_3) p(x)=p(x1)p(x2x1)p(x3x1)p(x4x2,x3)
      • p ( x 1 ) p(x_1) p(x1) 的参数数量为 1
        • M K − 1 = 2 1 − 1 = 1 M^K − 1 = 2^1 − 1 = 1 MK1=211=1
      • p ( x 2 ∣ x 1 ) p(x_2 | x_1) p(x2x1) 的参数数量为 2(在给定 X 1 X_1 X1 的条件下)
        • x 1 x_1 x1有两种情况
        • 2 ∗ ( M K − 1 ) = 2 ∗ ( 2 1 − 1 ) = 1 2*(M^K − 1) = 2*(2^1 − 1)= 1 2(MK1)=2(211)=1
      • p ( x 3 ∣ x 1 ) p(x_3 | x_1) p(x3x1) 的参数数量为 2(在给定 X 1 X_1 X1 的条件下)
      • p ( x 4 ∣ x 2 , x 3 ) p(x_4 | x_2, x_3) p(x4x2,x3) 的参数数量为 4(在给定 X 2 X_2 X2 X 3 X_3 X3 的条件下)
        • x 2 , x 3 x_2, x_3 x2,x3取值有4种情况
    • 总的独立参数数量为 1 + 2 + 2 + 4 = 9 1 + 2 + 2 + 4 = 9 1+2+2+4=9

3. 三个基本问题

  1. 表示问题:这个问题涉及如何选择和设计图结构,以有效地表示变量之间的依赖关系。在贝叶斯网络中,这通常涉及到选择合适的有向边,而在马尔可夫网络中,涉及到选择无向边。图结构的选择直接影响了概率模型的表达能力和推断效率。

  2. 学习问题:学习问题可以进一步分为两个部分:图结构的学习和参数的学习。在图结构的学习中,目标是从数据中推断出最合适的图结构,描述变量之间的依赖关系。在参数的学习中,已知图结构的情况下,目标是估计模型中的参数,使得模型与观测数据的拟合最好。

  3. 推断问题:推断问题涉及在给定部分变量的观测值时,计算其他变量的条件概率分布。这可以通过贝叶斯推断、变分推断等方法来解决。推断在概率图模型中是一个关键的任务,因为它允许我们根据观测到的证据来推断未观测到的变量的状态,从而进行概率推理。

二、模型表示

  概率图模型主要分为两类:有向图模型和无向图模型。

1. 有向图模型(贝叶斯网络)

  有向图模型使用有向非循环图(DAG)来描述变量之间的关系。在有向图中,节点表示随机变量,有向边表示因果关系。如果图中有一条从节点 (A) 到节点 (B) 的有向边,表示 (A) 是 (B) 的一个直接因果。在这种模型中,边的方向表示了变量之间的因果关系,而节点之间的有向路径可以表示条件独立性关系。例如,对于三个变量 X 1 , X 2 , X 3 X_1, X_2, X_3 X1,X2,X3,有向图可能是 X 1 → X 2 → X 3 X_1 \rightarrow X_2 \rightarrow X_3 X1X2X3,表示 X 1 X_1 X1 影响 X 2 X_2 X2 X 2 X_2 X2 影响 X 3 X_3 X3

2. 无向图模型(马尔可夫网络)

  无向图模型使用无向图来描述变量之间的关系。在无向图中,节点表示随机变量,无向边表示变量之间有概率依赖关系,但不指明因果关系。每一条无向边表示两个变量之间存在概率依赖关系。 例如,对于三个变量 X 1 , X 2 , X 3 X_1, X_2, X_3 X1,X2,X3,无向图可能是 X 1 ∼ X 2 ∼ X 3 X_1 \sim X_2 \sim X_3 X1X2X3,表示 X 1 X_1 X1 X 2 X_2 X2 之间、 X 2 X_2 X2 X 3 X_3 X3 之间都存在概率依赖。

三、学习

  图模型的学习可以分为两部分:一是网络结构学习,即寻找最优的网络结构;二是网络参数估计,即已知网络结构,估计每个条件概率分布的参数.网络结构学习比较困难,一般是由领域专家来构建.图模型的参数估计问题又分为不包含隐变量时的参数估计问题和包含隐变量时的参数估计问题.

持续更新ing……

四、推断

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

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

相关文章

ROS知识:卡尔曼滤波

https://en.wikipedia.org/wiki/Kalman_filter 一、提要 在卡尔曼滤波的相关技术文献中,其数学表达看起来都非常晦涩和不透明。这很糟糕,如果您以正确的方式看待卡尔曼滤波器,它实际上非常简单易懂。这里的叙述简单,先决条件也很简单;您所需要的只是对概率和矩阵的基本了解…

【C++】友元

1. 友元的概念 友元的目的就是让一个函数或者类 访问另一个类中私有成员。 友元的三种实现&#xff1a; 全局函数做友元类做友元成员函数做友元 2. 友元的实现方式 2.1 全局函数做友元 #include <iostream> using namespace std; class Building {// 告诉编译器 go…

【Android Gradle】之一小时 Gradle及 wrapper 入门

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

PC删除数据,并提示删除成功

<template<el-button size"mini" type"text">分配权限</el-button><el-button size"mini" type"text" click"btnEditRow(row)">编辑</el-button ><el-popconfirmtitle"这是一段内容确定…

计算机毕业设计springboot+vue高校田径运动会报名管理系统61s38

高校田径运动会管理采用java技术&#xff0c;基于springboot框架&#xff0c;mysql数据库进行开发&#xff0c;实现了首页、个人中心、运动员管理、裁判员管理、场地信息管理、项目类型管理、比赛项目管理、比赛报名管理、比赛成绩管理、通知公告管理、留言板管理、交流论坛、系…

微软发布了Orca 2,一对小型语言模型,它们的性能超越了体积更大的同类产品

尽管全球目睹了OpenAI的权力斗争和大规模辞职&#xff0c;但作为AI领域的长期支持者&#xff0c;微软并没有放慢自己的人工智能努力。今天&#xff0c;由萨提亚纳德拉领导的公司研究部门发布了Orca 2&#xff0c;这是一对小型语言模型&#xff0c;它们在零样本设置下对复杂推理…

数据结构---顺序表

文章目录 线性表线性表的定义线性表分类 顺序表顺次表的存储结构实现顺序表的主要接口函数初始化顺序表顺序表尾插顺序表尾删顺序表头插顺序表头删在指定位置插入数据在指定的位置删除数据头插&#xff0c;头删&#xff0c;尾插&#xff0c;尾删新写法打印顺序表销毁顺序表 线性…

基于halo框架采用docker-compose快速部署个人博客

halo快速部署个人博客 技术方案 dockerdocker-composenginxmysql halo简介 Halo是一款现代化的开源博客/CMS系统&#xff0c;所有代码开源在GitHub上且处于积极维护状态。它是基于 Java Spring Boot 构建的&#xff0c;易于部署&#xff0c;支持REST API、模板系统、附件系…

关于微服务的思考

目录 什么是微服务 定义 特点 利弊 引入时机 需要哪些治理环节 从单体架构到微服务架构的演进 单体架构 集群和垂直化 SOA 微服务架构 如何实现微服务架构 服务拆分 主流微服务解决方案 基础设施 下一代微服务架构Service Mesh 什么是Service Mesh&#xff1f…

python实现自动刷平台学时

背景 前一阵子有个朋友让我帮给小忙&#xff0c;因为他每学期都要看视频刷学时&#xff0c;一门平均需要刷500分钟&#xff0c;一学期有3-4门需要刷的。 如果是手动刷的话&#xff0c;比较麻烦&#xff0c;能否帮他做成自动化的。搞成功的话请我吃饭。为了这顿饭&#xff0c;咱…

京东秒杀之商品展示

1 在gitee上添加.yml文件 1.1 添加good-server.yml文件 server:port: 8084 spring:datasource:url: jdbc:mysql://localhost:3306/shop_goods?serverTimezoneGMT%2B8driverClassName: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceusername: rootpa…

多功能音乐沙漏的设计与实现

【摘要】随着当今社会快节奏生活的发展&#xff0c;当代大学生越来忽视时间管理的重要性&#xff0c;在原本计划只看几个视频只玩几个游戏的碎片化娱乐中耗费了大量的时光&#xff0c;对于自己原本的学习生活产生了巨大的影响。为更加有效的反映时间的流逝&#xff0c;特设计该…

第十七章 解读PyTorch断点训练(工具)

主要有以下几方面的内容&#xff1a; 对于多步长训练需要保存lr_schedule初始化随机数种子保存每一代最好的结果 简单详细介绍 最近在尝试用CIFAR10训练分类问题的时候&#xff0c;由于数据集体量比较大&#xff0c;训练的过程中时间比较长&#xff0c;有时候想给停下来&…

Gitee上传代码教程

1. 本地安装git 官网下载太慢&#xff0c;我们也可以使用淘宝镜像下载&#xff1a;CNPM Binaries Mirror 安装成功以后电脑会有Git Bush标识&#xff0c;空白处右键也可查看。 2. 注册gitee账号&#xff08;略&#xff09; 3. 创建远程仓库 4. 上传代码 4.1 在项目文件目录…

go当中的channel 无缓冲channel和缓冲channel的适用场景、结合select的使用

Channel Go channel就像Go并发模型中的“胶水”&#xff0c;它将诸多并发执行单元连接起来&#xff0c;或者正是因为有channel的存在&#xff0c;Go并发模型才能迸发出强大的表达能力。 无缓冲channel 无缓冲channel兼具通信和同步特性&#xff0c;在并发程序中应用颇为广泛。…

坚鹏:贵州银行西南财经大学零售业务数字化转型与场景营销策略

中国银保监会2022年1月正式发布了中国银保监会发布《关于银行业保险业数字化转型的指导意见》&#xff0c;这标准着中国银行业从局部的数字化转型向全面的数字化转型转变&#xff0c;进一步加速了银行数字化转型高潮的到来。 《关于银行业保险业数字化转型的指导意见》提出明确…

【教学类-06-12】20231126 (二)三位数 如何让加减乘除题目从小到大排序(以0-110之间加法为例,做正序排列用)

结果展示 背景需求&#xff1a; 二位数&#xff1a;去0 三位数&#xff08;需要排除很多0&#xff09; 解决思路 一、把数字改成三位数 二、对数组内的题目&#xff0c;8种可能性进行去“0”处理 1、十位数&#xff08;去百位数0&#xff09;十位数&#xff08;去百位数0&am…

数据增强让模型更健壮

在做一些图像分类训练任务时,我们经常会遇到一个很尴尬的情况,那就是: 明明训练数据集中有很多可爱猫咪的照片,但是当我们给训练好的模型输入一张戴着头盔的猫咪进行测试时,模型就不认识了,或者说识别精度很低。 很明显,模型的泛化能力太差,难道戴着头盔的猫咪就不是猫…

线性分类器--数据处理

数据集划分 通常按照 70%&#xff0c;20% &#xff0c;10% 来分数据集 数据处理 斯坦福的线性分类器体验 http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

【解决视觉引导多个位置需要标定多个位置的问题】

** 以下只针对2D定位&#xff0c;就是只有X、Y、Rz三个自由度的情况。** 假设一种情况&#xff0c;当视觉给机器人做引导任务时&#xff0c;零件有多个&#xff0c;分布在料框里&#xff0c;视觉需要走多个位置去拍&#xff0c;那么只需要对第一个位置确定拍照位&#xff0c;确…