参考课程:

参考课程

参考资料:

Probabilistic Machine Learning: Advanced Topics by Kevin P. Murphy

1. Introduction

主要的利用概率论的方法为:

  1. factorization
  2. averaging

PGM (Probabilistic graphical model): 通过定义一组变量的联合分布来利用概率来计算。其中节点往往代表变量,边会代表 CI(conditional independence)。有时候我们也会称之为依赖图。

2. Bayesian network

有向图DAG被称为贝叶斯网络,也有时候被称为信念网络 belief wetworks

考虑联合分布

首先我们的节点只依赖于父节点,而不依赖与后代节点和父节点以外的前驱节点:
image.png
因此对于联合分布我们可以拆成这样的形式:
image.png
注意可能x1 ~ xv中只有对应的父节点在等式右边得以保留,其中右边的每一项乘积被称为 CPD(conditional probability distribution)
回忆到如果有 k种状态的话,我们会有 [Book] Chap 4: 概率图模型 - 图3个参数,但是在现在优化之后,我们只需要[Book] Chap 4: 概率图模型 - 图4个。这是因为由于条件独立性假定,我们只考虑了父节点作为估计 联合分布的量。

例子: Markov model

对应的图示为:
image.png
这里我们利用 Markov assumption可以得到第一种情况:
image.png
以及第二种情况为:
image.png

例子 student network

上面的例子较为简单,我们实际遇到的大多数是 student network,例如下面的这张图:
image.png
我们该怎么处理呢?首先其对应的联合分布式应为:
image.png
但是考虑到条件独立性我们应该做出简化:
image.png
一些 causes之间的nagetive interaction被称为explaining away,或者说 Berkson's paradomstudent network的参数量也是非常少的,仅仅只有[Book] Chap 4: 概率图模型 - 图11

例子:Caussion Bayes nets

这个地方我们主要是给指向每个节点的边都赋予了权重,并且概率的计算只最后落在高斯分布上面的:
image.png
这个也可以重写为:
image.png
此外Cov还可以写成正交分解的形式:
image.png
image.png

例子:Sigmoid belief net

这里我们考虑很像神经网络的概率图的模型:
首先是隐变量分层,且层间的节点互相之间没有决定关系的情况:
image.png
此时的联合分布应该计算为:
image.png
其中 x代表最后一层,z1 ,z2 分别代表前两层节点。具体而言,当我们使用 sogmoid激活函数时,我们有:
image.png
此外,我们还有 deep autoregressive network
image.png

条件独立的性质

这里我们希望知道,什么时候具有如下的条件独立性:[Book] Chap 4: 概率图模型 - 图20,因此引出 d-seperation的概念:
image.png
CA``B的隔断集的时候,上述的条件独立公式就成立。
这个也可以被称为是 global Markov property,我们常使用 Bayes ball algorithm来检验这个效应。具体而言,这个算法就是讲d-seperate set中的节点涂黑,然后看是否有路径(注意是无向的)会从A到B。这个路径不能撞到黑色的点,如果撞到则返回。
此外,我们还有一个常用结论:
(从三个结构的情况都可以推出来)
image.png

Explaining away

Explaining away效应可以解释为:在上述的 v-structure中,对v结构底部的孩子节点做 conditioning会导致父节点都独立。这个也叫Berkson's paradox

local Markov property

image.png
这里和全局马尔可夫性不同的是,nd(t)指的是除了后继节点以外的所有节点。

Markov blanket

这里我们关注,对于某个节点 t,我们是否能condition掉最少的节点,来让 t独立于其他节点。Markov blanket里面的节点可以看作 t的父节点,因此也称作 co-parent.
因此我们引出 tfull-conditiional
image.png

I-maps

我们定义:
statement: 形如[Book] Chap 4: 概率图模型 - 图25的条件独立式子
I(G): 这些条件独立式子的集合
对于分布 p而言,可以表示他的条件独立式集合有很多,对应的G也有很多,只有保证满足分布 p需要的条件即可。

inference

干预的含义为:在一系列的 query nodesQ上面,我们有观察到的变量(节点)V,以及其余节点 R,然后我们根据先验和似然来计算后验。通常我们计算的都是posterior marginal
例子:
V = x 是和我们接收到的语音信号,R = r 可以被看作是一系列与信号有关、与语义没有直接关系的信息,Q = z 是我们希望知道的语音包含的语义信息。我们希望通过先验信息+接收到的V = x 中的似然信息来计算后验:
image.png
干预可以被视为得到信息、更新后验的一个过程。

learning

现在我们希望学习图中的参数,即后验分布:[Book] Chap 4: 概率图模型 - 图27
我们的核心思想是把参数[Book] Chap 4: 概率图模型 - 图28当作是另一个隐藏变量

完整数据下的典型学习策略

已有:N个局部变量,这个我们是可以观察到的;2 个全局变量 x y,我们观察不到,只能表示出他们,全局变量是被所有数据共享的,和参数有关;
条件:局部变量在训练数据中被观察到
因此我们可以下面的联合分布的表示:
image.png
其中这里还设定 Dx``Dy可以估计出 xy
image.png
从这张图我们可以知道先验是什么样的,当然先验并没有告诉我们[Book] Chap 4: 概率图模型 - 图31是多少,因此我们需要通过已知的图的结构来进行decompose 或者说 factorize,实际上我们有:
image.png
最后我们希望的是,通过似然来求一个优化:
image.png

例1

我们用以下的例子来解释如何为 CPD计算 MLE
image.png
其中[Book] Chap 4: 概率图模型 - 图35的意义为:
image.png
即是说,i代表第 i 个节点,j代表这个父节点(可以是向量)值为 j ,k代表这个节点值为 k。然后我们可以再设充分统计量 [Book] Chap 4: 概率图模型 - 图37,代表节点 i在状态 k且父节点在状态j时的次数。(这里值可以理解为状态)
image.png
充分统计量原理
因此我们的 MLE可以估计为:
image.png
计算例子:
图:
image.png
观察数据与估计:
image.png
理解:

  1. 首先这里我们用图中节点单词的首字母作为简称,其中的数值表示一个状态,例如 G = 2可以理解为该课程的分数得了一个 CI = 1代表聪明。
  2. 以第一行为例,I D为父节点,G为子节点,N有三个维度是因为 G有三个取值,[1,1,1]代表给定I``DG为0,1,2的时候的个数。此时N中的,i为节点Gk为0,1,2,时N的三个维度,jID的取值
  3. 为了解决 zero-count的问题,我们需要给存在0的行,每个k对应的位置都加一个1(在真实的数据中加入),而[Book] Chap 4: 概率图模型 - 图42是分子考虑了,但是分母没考虑(这是因为这里是采样估计量,而不是用真实的来算的)。因此除了[I,D] = [0,0]那组以外,每组都加了一个[1,1,1],然后我们就可以进一步计算后面两列的结果了。当然[1,1,1]只是一种比较特殊的情况,迪利克雷[Book] Chap 4: 概率图模型 - 图43,是给所有的 k都加1,也可以采用其他的分布。

    不完备数据下的学习策略

    motivation:
    曾经的方法需要知道所有节点的信息,但是我们的数据却是不完全的:
    image.png
    因此我们考虑使用 EM SGD来解决这一问题。
    **EM**
    我们的基本思想是推断潜在的变量和估计已有的参数:

  4. E阶段,我们返回的是expected sufficient statistics

由于在完全数据情况下我们得到的是:
image.png
因此我们希望估计到这个,因此我们返回如下的估计量:
image.png
其中:
image.png
在这个式子中我们的p被称为 family marginal,我们可以用 GM inference algorithm计算得到;N被称为ESS,我们在E阶段得到。

  1. 那么在M阶段,我们可以用下面的估计方法得到估计量:

image.png
**SGD**
EM算法 adapt 到大的数据集上去的时候,我们会用到 SGD来优化。

Plate notation

对于iid中得到的变量,我们可以简化表达,例如:
例1:factor analysis
image.png
image.png
在给出上面的表达式的时候,以上两者是等价的。
例2:Naive Bayesian Classifier
image.png
image.png

3. Extensions of Bayes nets

probabilistic circuit

主要包含:
arithmetic circuits
sum-product networks
我们可以理解为一个有向树模型的图,我们可以用类似编译原理里面的知识来理解,terminal节点表示单变量的概率分布,非T节点则表示联合分布。这个结构主要是平衡了context-specific independence 的影响,从而减少了额外干预的复杂度。

Relational probability models

我们以下面的例子来说明:
image.png
image.png
第一步我们画出上面的关系图
第二步我们给出先验分布:
image.png
image.png
但是很多时候会有我们难以区选择哪个 book,所以我们需要更多的变量来标识。其实这也引出其他的问题,我们有时候需要条件独立性,那其实也是引入新的变量。这种变量我觉得可以都当作 latent 变量。不过挺遗憾的是,多数情况下,我们很难考虑完全所有的这样的变量。
image.png
备注:有点没太搞懂这些模型提出来有什么意思,也可能是我先了解的因果图,所以认为这种铺垫性工作是自然的。

Open-universe probability models

之前我们的研究是基于closed world assumption,在多数情况下是不现实的,我们总是难以考虑完全所有的变量,所有的对象。
这里的 OUPM模型主要在于他可以生成新的对象和新的指标。

Programs as probability models

知乎-PPL介绍

3. Structural causal model(SCM)

overview

内生:V
外生:U
关系函数:F
我们最直接的表达就是下面的SCM
image.png
当然上面的模型可以进一步转化为SEM
image.png
但是注意到,这里SEM是参数化、线性主导的,因此往往不是我们的深度学习里面需要的样子,这是计量经济学中所常用的。

Do operation

最简单的理解就是对 x做 do 操作后,x的值就被设定了,也因此我们需要剪去指向 x的边。
[Book] Chap 4: 概率图模型 - 图60也不等于 [Book] Chap 4: 概率图模型 - 图61,因为 do 操作是改变了因果图的结构的。这也是我们强调 do 是操作,而后者是观察,观察条件概率的原因。

Estimating

最直接的想法是,我们希望估计某个操作的平均影响是怎么样的,因此我们引入average treatment effect(ATE):
image.png
对于SCM我们往往不能代入方程这么简单地来解决,下面我们主要讨论 SEM的情况。

Direct effect

SEM角度出发的估计,我们可以直接代入方程然后来考虑:
image.png
区分 & 经典因果三层级
image.png

Indirect effect

考虑一条可能的中介路径:X->Z->Y,我们会有:
image.png

Conterfactual

反事实的情景下,我们希望考虑:image.png
具体而言,这是指现有的是对 y 执行了 do(a) 操作的样本,我们希望考虑如果执行 do(a’) 操作,会是什么结果。
image.png
最后我们还需要一个假设:SUTVA(stable unit treatment value assumption)
这需要我们考虑,对个体j进行操作是否会影响到个体i
另外,注意反事实是对个体而言的。
我们对反事实的估计步骤如下:

  1. 用给出的观察到的真实的信息计算后验:image.png
  2. 我们用干预的方法改变图 G 的因果机制,即是说我们将 do 操作中的a 更换为 a'
  3. 我们通过修改后的图 G'来计算反事实效应。

这样说比较抽象,继续看图4.52,我们可以通过”拷贝”其他的无关的变量和参数来得到一个孪生模型。就是说有的拷贝的子图的参数不完整,但是合理选取数据可以避免使用到这些参数,然后我们可以拼接一下。有点像X-learner的一个想法。