独立(Independence)

统计独立(Statistical Independence)

两个随机变量X,Y统计独立的条件是当且仅当其联合概率分布等于边际概率分布之积:

\[
X \perp Y \leftrightarrow P(X,Y)=P(Y) P(Y)
\]

思考:假设 \(X \perp Y\),\(Y \perp Z\),那么 \(X\) 和 \(Y\) 有没有独立关系呢?
举例:爸吃饭,奥巴马吃饭,妈吃饭

条件独立(Conditional Independence)

两个随机变量X,Y在Z的条件下独立的条件是当且仅当其条件联合概率分布等于条件边际概率分布之积:

\[
X \perp Y | Z \leftrightarrow P(X, Y|Z)=P(X|Z)P(Y|Z)
\]

仅知道 Z 就能够决定 X ,此时 Y 与 X (条件)独立

概率图模型(Probabilistic Graphical Models)

预备知识

对于 D 个 K 项随机变量:\(X_1, ..., X_D \quad X_i \in \left \{ 1, ..., K \right \}\)
边际(Marginal):
\[
P(X_{1:i-1,\ i+1:D})=\sum_{X_i}P(X_{1:D})
\]
链式法则(Chain Rule)求联合分布
\[
P(X_{1:D})=P(X_1)\prod_{d=2}^{D}P(X_{d}|X_{1:d-1})
\]

计算联合分布时浮现的问题

计算该分布共需要 \(O(K^D)\) 个参数(即概率)!

  • 推断:推断时计算量太大
  • 学习:学习这么多参数需要大量数据

想法:使用条件独立化简模型

有向图与无向图模型(Directed Graph and Undirected Graph Model)

图模型(Graphical Model)是一种能够通过条件独立假设来表达联合分布的方式

  • 更高效的参数化(Parameterization)
  • 更高效的推断(Inference)

\[
P(X_{1:D})=P(X_1) \prod_{d=2}^D P(X_{d}|X_{d-1})
\]

直观解释:要预测某个随机变量的值,只需要那些与之相关的变量。

有向图模型(Directed Graphical Model)

  • DAG -- 有向无环图(Directed Acyclic Graph)
  • 用局部条件分布的乘积来表示联合分布
  • 条件已经规范化
  • 也叫贝叶斯置信网络(Bayesian Belief Network)

关键性质

顺序马尔可夫性质(Ordered Markov Property):节点仅取决于直接父节点,即
\[
X_i \perp X_{pred(i)\setminus parent(i)} | X_{parent(i)}
\]

无向图模型(Undirected Graphical Model)

...

图模型的主要任务(Main Tasks in Graphical Models)

有向图模型的条件独立(Conditional Independence in Directed Graph Model)

条件独立和 D-separation

D-separated Path 是指由一系列包含 Evidence 的节点集合 E 组成的路径 P 满足以下至少一个条件:

  • P 构成一条链结构:\(s \rightarrow m \rightarrow t\) 或 \(s \leftarrow m \leftarrow t\),其中 \(m \in E\)
  • P 构成一个峰结构:\(_s \swarrow ^m \searrow _t\),其中 \(m \in E\)
  • P 构成一个谷结构:\(^s \searrow _m \swarrow ^t\),其中 \(m\cup descendant(m) \notin E\)

此时,我们用 E 将节点集合 A,B 分隔开了。
同时,A 和 B 在 E 的条件下独立:\(A \perp B\ |\ E\)
因此,我们找到了在 DAG 中对应于条件独立的性质 -- D-separation

贝叶斯球算法(Bayesian Ball Algorithm)

Bayesian Ball Algorithm 是一种判断 A B 在 E 下是否条件独立的简单算法。

步骤如下:

  1. 标记所有 E 中的节点表示其为观察值(Evidence);
  2. 在 A 中的每个节点放“球”,让它们以一定规则“弹射”(无视图中边的方向);
  3. 检查“球”是否进入了 B 中的节点。

“弹射”规则:

  1. 碰到链结构峰结构中会被“弹回”;
  2. 碰到谷结构会被“弹回”(注意:谷结构的“谷底”节点不是 Evidence)。
    直观解释:谷结构中,两个父节点在共同子节点的条件下,两父节点相关(不独立)。这种现象被称为“explaining away”。例如,抛两枚硬币的先验是相互独立的。而当我们观察到正面硬币的个数时,概率被耦合起来了(正面朝上的硬币个数是1,有1枚硬币正面朝上,则另外1枚硬币必然反面朝上)。

变量消除与精确推断(Exact Inference via Variable Elimination)

  • 运用统计独立拆分联合分布
  • Push sum into products(Key idea of Variable Elimination)
  • Elimination Order:优先清除连接边数最少的节点

联合树算法(Junction Tree Algorithm)

Moralization

将有向图模型(DGM)转化为无向图模型(UGM)时需要的一种方法,任何 share 同一子节点的父节点们必须加一条边接通(教化:未婚先孕必须马上结婚?)
目的:保证 DGM 和 UGM 在条件独立上的对应性

Triangulation

先介绍一个重要概念:弦图(Chordal Graph)

若某图(graph)中所有拥有4个及以上节点的环(Cycle)都有弦(chord),则称该图为弦图
其中,弦不是环的一部分,但连接环中任意两个节点。

步骤

(实质上就是 variable elimination 算法)

  1. 根据 elimination order 确定要消除的节点 N;
  2. 添加 fill-in edges:节点 N 的所有 neighbor 要互相连接,以确保相关性信息不会被同时清除;
    同时,保存节点 N 及其 neighbor 构成的 clique;
    注意:如果给的图模型已经是弦图,可以证明步骤2能够被跳过。
  3. 删除该节点 N。

Triangulation 完成后,我们必定会得到一个弦图。

建立 Junction Tree

找出 Triangulation 步骤中保存的所有 cliques 中的 maximal cliques,则这些 maximal cliques 就可以被拿来构成junction tree(也称为 clique treecluster tree

Junction Tree 的树节点(即 clique,又叫 cluster)之间的边是不同树节点中的图节点的交集来标记的;
交集表示这些树可以通过这些图节点交换信息。

Running Intersection Property

如果某个图节点 \(N \in C_i\) 且 \(N \in C_j\)( \(C\) 表示 clique),则 \(N\) 一定包含在 \(C_i\)、\(C_j\)之间路径上的所有 cliques 里面。

Junction Tree 一定满足 RIP,因为 VE 算法中一个图节点存在于 clique 的时间是从出现到直到被消除。

可以证明,如果一棵树满足 RIP,对该树做BP,就会得到我们需要的结果。

Junction Tree 也可以被推广为 Cluster Graph;


Written with StackEdit.

Exact Inference in Graphical Models的更多相关文章

  1. 图模型的统计推断 inference in graphical models(马尔科夫链的推断)

    有关因子图(factor graphs)以及其在sum product 算法,max-algorithm中的应用,将在一下篇博客中分享. 谢谢您的关注,欢迎提出意见问题.

  2. 深度学习基础 Probabilistic Graphical Models | Statistical and Algorithmic Foundations of Deep Learning

    目录 Probabilistic Graphical Models Statistical and Algorithmic Foundations of Deep Learning 01 An ove ...

  3. Probabilistic Graphical Models

    http://innopac.lib.tsinghua.edu.cn/search~S1*chx?/YProbabilistic+Graphical+Models&searchscope=1& ...

  4. 贝叶斯网络基础(Probabilistic Graphical Models)

    本篇博客是Daphne Koller课程Probabilistic Graphical Models(PGM)的学习笔记. 概率图模型是一类用图形模式表达基于概率相关关系的模型的总称.概率图模型共分为 ...

  5. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  6. 使用 LaTeX 绘制 PGM(Probabilistic Graphical Models)中的贝叶斯网络(bayesian networks)

    Software for drawing bayesian networks (graphical models) 这里需要调用 latex 中的绘图库:TikZ and PGF. 注意,下述 tex ...

  7. PRML读书会第八章 Graphical Models(贝叶斯网络,马尔科夫随机场)

    主讲人 网神 (新浪微博: @豆角茄子麻酱凉面) 网神(66707180) 18:52:10 今天的内容主要是: 1.贝叶斯网络和马尔科夫随机场的概念,联合概率分解,条件独立表示:2.图的概率推断in ...

  8. [Machine Learning] Probabilistic Graphical Models:一、Introduction and Overview(1、Overview and Motivation)

    一.PGM用来做什么 1.  医学诊断:从各种病症分析病人得了什么病,该用什么手段治疗 2.  图像分割:从一张百万像素级的图片中分析每个像素点对应的是什么东西 两个共同点:(1)有非常多不同的输入变 ...

  9. [PGM] What is Probabalistic Graphical Models

    学术潜规则: 概率图模型提出的意义在于将过去看似零散的topic/model以一种统一的方式串联了起来,它便于从整体上看待这些问题,而非具体解决了某个细节. 举个例子:梯度下降,并非解决神经网络收敛问 ...

随机推荐

  1. Lua中的数据结构

    1 数组:(lua习惯数组从1开始) a={} , do a[i]= end 2 阵和多维数组 : mt={}//新建一个表,表元素为表 ,N do mt[i]={}//新建一个表,里面的表元素为值 ...

  2. Selenium基本用法以及元素定位

    一.Selenium 简介 Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,提供一套测试函数,用于支持Web自动化测试.函数非常灵活,能够完成界面元素定位.窗口跳 ...

  3. 微信小程序中的app文件介绍

    [app] 一.app.json 1.对当前小程序的全局配置 2.页面路径.界面表现.网络超时时间.底部 tab 等 { "pages":[ "pages/index/i ...

  4. 【模板】RMQ(计算区间最值)

    ①一维RMQ (1) dp[i,j] 表示从第i个数起连续2j个数中的(最大值min.最小值max.最大公约数gcd……),通过更改下列代码中的红色函数即可实现. (2) b数组放置所需查询的数列. ...

  5. Ubuntu 16.04LTS 更新清华源

    1 备份原来的更新源 cp /etc/apt/sources.list /etc/apt/sources.list.backup 如果提示权限不够就输入下面两行,先进入到超级用户,再备份 sudo - ...

  6. Django学习笔记1

    重点在注释# 1.views.py from django.shortcuts import render from django.http import * #from django.templat ...

  7. 针对jquery的ajax中的参数理解

    1. url 发送请求的地址.为空表示当前页. $.ajax({ type: "post", data: studentInfo, contentType: "appli ...

  8. Tornado用户指引(一)-----------异步和非阻塞I/O

    摘要:异步和非阻塞I/O实时WEB的特性是经常需要为每个用户端维持一个长时间存活但是大部分时候空闲的连接.在传统的同步式web服务器中,这主要通过为每个用户创建一个线程来实现,这样的代价是十分昂贵的. ...

  9. 颜色rgba、16进制、10进制互相装换

    rgba转16进制: function RGBToHex(rgb){ var regexp = /[0-9]{0,3}/g; var re = rgb.match(regexp);//利用正则表达式去 ...

  10. Canvas路径方向

    使用Canvas路径画图需要注意方向,画图方向是顺时针还是逆时针需要记住.下面让我们看看Canvas常见路径方向. arc 参数值 context.arc(x,y,r,sAngle,eAngle,co ...