概率图模型基础(3)——贝叶斯网络的独立性

2023-10-22 01:40

本文主要是介绍概率图模型基础(3)——贝叶斯网络的独立性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

贝叶斯网络的独立性

  • 1. 贝叶斯网的基本独立性
  • 2. 图与分布
    • 2.1 I-Maps(independency map)
      • 2.1.1 I-Maps是啥?
        • 2.1.1.1 定义
        • 2.1.1.2 理解
      • 2.1.2 等价I-Maps
        • 2.1.2.1 定义
        • 2.1.2.2 例子
      • 2.1.3 I-Maps怎么变身分布的表达
      • 2.1.4 最小I-Map
    • 2.2 $d-sep_G(X,Y|Z)$
      • 2.3.1 定义
      • 2.2.2 寻找所有d-sep
    • 2.3 P-Map
  • 3. 参考文献

1. 贝叶斯网的基本独立性

学生成绩
在学生成绩示例图中,用边表示其直接依赖关系。

根据上一节概率图模型基础(2)——贝叶斯网络中的因果关系,在节点的独立性方面,可以得出什么结论呢?

局部独立性定义

在学生成绩的例子中:在给定父节点Grade的情况下,Letter与图中其他节点都独立。有 P ( L ⊥ I , D , S ∣ G ) P(L \perp I,D,S|G) P(LI,D,SG)成立。


2. 图与分布

这一节概念有点抽象?(至少我是这么觉得,所以后面后回来重新修改了。)

首先我自己先瞎BB几句:
当我们在实际应用中面对一系列的数据的时候,一般来说会从下面两个方面理解:

  • 观察数据(其实就是观察数据的分布),从一堆变量中找出相互独立的变量(I、G)以及在某些条件下独立的变量(类似G、I、S),根据观察结果绘制图。这一些列的动作,就是由条件概率分布作注释的图,这个图通过链式法则为贝叶斯网定义了一个联合分布。
  • 贝叶斯图其实就是好几堆独立性变量组合在一起的可视化结果。

这就是分布之间的关系,认清这个关系对后文的理解非常重要。

2.1 I-Maps(independency map)

2.1.1 I-Maps是啥?

2.1.1.1 定义

P P P χ \chi χ上的分布, I ( P ) I(P) I(P)定义为 P P P中满足独立性的集合。

2.1.1.2 理解

I-map:记贝叶斯网络为 G G G,概率分布为 P P P,若 G G G中表现出的独立性的集合是 P P P中表现出的独立性的集合的子集。则 G G G P P P的一个I-map。比如
概率图模型-原理与技术.png

先看Graph:

  • 对于 G ∅ G_\varnothing G来说, X X X, Y Y Y未连接,故而 X X X, Y Y Y独立。
  • 对于 G X → Y G_{X \rightarrow Y} GXY来说, X X X影响 Y Y Y,故而 X X X, Y Y Y不独立,表现出的独立性为 ∅ \varnothing
  • 对于 G Y → X G_{Y \rightarrow X} GYX来说, Y Y Y影响 X X X,故而 X X X, Y Y Y不独立,表现出的独立性为 ∅ \varnothing

再看分布P:

  • 对于左表来说, P ( X , Y ) = P ( X ) P ( Y ) P(X,Y)=P(X)P(Y) P(X,Y)=P(X)P(Y),所以 X X X, Y Y Y独立。
    • G ∅ G_\varnothing G表现出 X X X, Y Y Y独立,满足条件;
    • G X → Y G_{X \rightarrow Y} GXY G Y → X G_{Y \rightarrow X} GYX独立性为 ∅ \varnothing ,可归为任何分布P的I-map。

所以三个图都是P的I-map。

  • 对于右表来说, P ( X , Y ) ≠ P ( X ) P ( Y ) P(X,Y) \neq P(X)P(Y) P(X,Y)=P(X)P(Y),所以 X X X, Y Y Y不独立。
    • G ∅ G_\varnothing G表现出 X X X, Y Y Y独立,不满足条件。
    • G X → Y G_{X \rightarrow Y} GXY G Y → X G_{Y \rightarrow X} GYX独立性为 ∅ \varnothing ,可归为任何分布P的I-map

所以只有 G X → Y , G Y → X G_{X\rightarrow Y},G_{Y \rightarrow X} GXY,GYX是P的I-map。

2.1.2 等价I-Maps

2.1.2.1 定义

2.1.2.2 例子


上图中的(a,b,c),虽然网络结构不同,但是都体现了相同的独立性假设: ( X ⊥ Y ∣ Z ) (X \perp Y|Z) (XYZ)

2.1.3 I-Maps怎么变身分布的表达

熟悉贝叶斯公式的人都清楚,不管啥网络结构(以学生成绩为例),
image.png
上图的联合分布必然能写成:
P ( I , D , G , L , S ) = P ( I ) P ( D ∣ I ) P ( G ∣ I , D ) P ( L ∣ I , D , G ) P ( S ∣ I , D , G , L ) (2.1) P(I,D,G,L,S)=P(I)P(D|I)P(G|I,D)P(L|I,D,G)P(S|I,D,G,L) \tag{2.1} P(I,D,G,L,S)=P(I)P(DI)P(GI,D)P(LI,D,G)P(SI,D,G,L)(2.1)
有了I-maps之后,就可以简化一些因子:

  • D,I独立,所以有 P ( D ∣ I ) = P ( D ) P(D|I)=P(D) P(DI)=P(D)
  • 在给定G的条件下,L和I,D独立,所以有 P ( L ∣ I , D , G ) = P ( L ∣ G ) P(L|I,D,G)=P(L|G) P(LI,D,G)=P(LG)

所以公式2.1可以简化为
P ( I , D , G , L , S ) = P ( I ) P ( D ) P ( G ∣ I , D ) P ( L ∣ G ) P ( S ∣ I ) (2.2) P(I,D,G,L,S)=P(I)P(D)P(G|I,D)P(L|G)P(S|I) \tag{2.2} P(I,D,G,L,S)=P(I)P(D)P(GI,D)P(LG)P(SI)(2.2)
公式2.2正好满足《概率图模型基础(2)——贝叶斯网络中的因果关系》中贝叶斯网络表达式的书写规律。

另外,多一句嘴,所谓分布的表达,其实就是因子分解

2.1.4 最小I-Map


image.png




最小I-map与给定的节点顺序有关。

2.2 d − s e p G ( X , Y ∣ Z ) d-sep_G(X,Y|Z) dsepG(X,YZ)

我又来瞎BB了:这个其实就是给定条件下的I-Maps

2.3.1 定义

d − s e p G ( X , Y ∣ Z ) d-sep_G(X,Y|Z) dsepG(X,YZ):在概率图中,在给定结点 Z Z Z的条件下,结点 X X X和结点 Y Y Y存在有效(只要是结点连着的,不管方向对不对就称为),若结点 X X X和结点 Y Y Y相互独立,则可以表示为 d − s e p G ( X , Y ∣ Z ) d-sep_G(X,Y|Z) dsepG(X,YZ)

示例:image.png
若G为不观测变量则S与D的关系可表示为:
d − s e p G ( S , D ∣ I ) d-sep_G(S,D|I) dsepG(S,DI)

具体如何判断 d-分离,请参考《概率图模型基础(2)——贝叶斯网络中的因果关系》文中第 3.2 结:贝叶斯网络中各节点如何相互影响?

扩展:
与d-separate 相对应的独立性的集合用 I ( G ) I(G) I(G)表示:
I ( G ) = { ( X ⊥ Y ∣ Z ) : d − s e p G ( X ; Y ∣ Z ) } I(G)=\left \{ (X \perp Y | Z): d-sep_G(X; Y | Z) \right \} I(G)={(XYZ):dsepG(X;YZ)}

2.2.2 寻找所有d-sep

思路
在寻找之前,确保有:观测变量 Z Z Z的集合;贝叶斯网络图结构。
1.从下到上,从叶子结点到根的遍历图结构,标记 Z Z Z及其后代的所有节点。
2. 使用广度优先遍历,遇到如下情况停止,说明不存在d-sep,否则,说明存在d-sep:
a. 节点在v-结构中间,但在第一步中未被标记。
b. 节点不在v-结构中间,但是在第一步中被标记了。

2.3 P-Map

P-Map 的一个直观解释:能够完全刻画分布 P P P的最小I-Map。


3. 参考文献

Coursera——Probabilistic Graphical Models

这篇关于概率图模型基础(3)——贝叶斯网络的独立性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/258295

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应