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

文章目录

  • 一、概率图模型
    • 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.rhkb.cn/news/206980.html

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

相关文章

EUREKA: HUMAN-LEVEL REWARD DESIGN VIACODING LARGE LANGUAGE MODELS

目录 一、论文速读 1.1 摘要 1.2 论文概要总结 相关工作 主要贡献 论文主要方法 实验数据 未来研究方向 二、论文精度 2.1 论文试图解决什么问题? 2.2 论文中提到的解决方案之关键是什么? 2.3 用于定量评估的数据集是什么?代码有…

【raect.js + hooks】useRef 搭配 Houdini 创造 useRipple

水波纹点击特效 really cool,实现水波纹的方案也有很多,笔者经常使用 material 组件,非常喜欢 mui 中的 ripple,他家的 ripple 特效就是通过 css Houdini 实现的。 今天,我们将复刻一个 ripple,并封装成 ho…

论文阅读——DINOv

首先是关于给了提示然后做分割的一些方法的总结: 左边一列是prompt类型,右边一列是使用各个类型的prompt的模型。这些模型有分为两大类:Generic和Refer,通用分割和参考分割。Generic seg 是分割和提示语义概念一样的所有的物体&am…

UI 自动化测试框架:PO模式+数据驱动

1. PO 设计模式简介 什么是 PO 模式? PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离。 PO 模式的设计思想与…

Java多线程-第20章

Java多线程-第20章 1.创建线程 Java是一种支持多线程编程的编程语言。多线程是指在同一程序中同时执行多个独立任务的能力。在Java中,线程是一种轻量级的子进程,它是程序中的最小执行单元。Java的多线程编程可以通过两种方式实现:继承Threa…

玩转大数据:3-Hadoop家族的力量与挑战

引言 Hadoop作为一个强大的大数据处理框架,以其分布式计算和存储能力在业界备受关注。然而,Hadoop在应用场景、适用范围、社区支持以及后续持续发展等方面也面临着一些挑战。本文将围绕Hadoop的生态应用,以及来自其他生态的挑战,…

传统算法: Pygame 实现快速排序

使用 Pygame 模块实现了快速排序的动画演示。首先,它生成一个包含随机整数的数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过快速排序算法对数组进行排序,动画效果可视化每一步的排序过程。在排序的过程中,程序选择一个基准元素(pivot),将数组分成两部分,…

【Spring MVC】Filter 过滤器异常处理 HandlerExceptionResolver 分析

文章目录 前言版本说明测试 Demo1、自定义过滤器 DemoFilter2、自定义业务异常 ServiceException3、自定义异常处理类 DemoExceptionHandler4、DemoController5、请求测试 问题分析1、日志打印记录2、Debug 方法 解决方案1、修改自定义过滤器2、请求测试 解决方案分析1、日志打…

springmvc(基础学习整合)

SpringMVC是Spring框架提供的构建Web应用程序的全功能MVC模块。 在SpringMVC的各个组件中,处理器映射器、处理器适配器、视图解析器称为SpringMVC的三大组件。 springMVC基本介绍: http://t.csdnimg.cn/TOzw9 MVC是一种设计思想,将一个应…

键盘打字盲打练习系列之刻意练习——1

一.欢迎来到我的酒馆 盲打,刻意练习! 目录 一.欢迎来到我的酒馆二.选择一款工具三.刻意练习第一步:基准键位练习第二步:字母键位练习第三步:数字符号键位练习 四.矫正坐姿 二.选择一款工具 工欲善其事必先利其器。在开始之前&…

【开源】基于Vue.js的医院门诊预约挂号系统的设计和实现

项目编号: S 033 ,文末获取源码。 \color{red}{项目编号:S033,文末获取源码。} 项目编号:S033,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 功能性需求2.1.1 数据中心模块2.1.2…

java-Swing界面简析

一、简析: 调用java提供的 java.swing包下的各种类可以实现界面中的各种组件(比如输入框、密码框按钮、单选框、复选框等) 二、java.swing包的关键类: 顶层容器:Jframe(窗口) 中间容器:Jpanel(面板) 基本控件: I…

asla四大开源组件应用示例(alsa-lib、alsa-utils、alsa-tools、alsa-plugins)

文章目录 alsa设备文件/dev/snd//sys/class/sound/proc/asoundalsa-lib示例1alsa-utilsalsa-toolsalsa-plugins参考alsa设备文件 /dev/snd/ alsa设备文件目录位于,/dev/snd,如下所示 root@xboard:~#ls /dev/snd -l total 0 drwxr-xr-x 2 root root 60 Nov 6 2023 …

《合成孔径雷达成像算法与实现》_使用CS算法对RADARSAT-1数据进行成像

CSA 简介:Chirp Scaling 算法 (简称 CS 算法,即 CSA) 避免了 RCMC 中的插值操作。该算法基于 Scaling 原理,通过对 chirp 信号进行频率调制,实现了对信号的尺度变换或平移。基于这种原理,可以通过相位相乘代替时域插值…

redis相关题

1 什么是Redis Redis(Remote Dictionary Server) 是⼀个使⽤ C 语⾔编写的,开源的(BSD许可)⾼性能⾮关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,…

代理模式 1、静态代理 2、动态代理 jdk自带动态代理 3、Cglib代理

文章目录 代理模式1、静态代理2、动态代理jdk自带动态代理 3、Cglib代理 来和大家聊聊代理模式 代理模式 代理模式:即通过代理对象访问目标对象,实现目标对象的方法。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操…

探索接口测试:SOAP、RestFul规则、JMeter及市面上的接口测试工具

引言 在当今软件开发领域,接口测试扮演着至关重要的角色。随着系统变得日益复杂和互联,对于内部和外部接口的测试变得愈发关键。接口测试不仅仅是验证接口的正确性,更是确保系统的稳定性、安全性和性能优越性的关键一环。 本篇博客将带您深入…

【Linux】进程间通信——system V共享内存、共享内存的概念、共享内存函数、system V消息队列、信号量

文章目录 进程间通信1.system V共享内存1.1共享内存原理1.2共享内存数据结构1.3共享内存函数 2.system V消息队列2.1消息队列原理 3.system V信号量3.1信号量原理3.2进程互斥 4.共享内存的使用示例 进程间通信 1.system V共享内存 1.1共享内存原理 共享内存区是最快的IPC形式…

【多传感器融合】BEVFusion: 激光雷达和视觉融合框架 NeurIPS 2022

前言 BEVFusion其实有两篇, 【1】BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework. NeurIPS 2022 | 北大&阿里提出 【2】BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation 2022 | MIT提出 本文先分…

Flutter桌面应用开发之毛玻璃效果

目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同…