深度学习(一):概率图模型引入

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深度学习(⼀):概率图模型引⼊
⼀、简介
概率图模型(Probabilistic Graphical Model ,PGM )是⽤图来表⽰变量概率依赖关系的理论,结合概率论与图论的知识,利⽤图来表⽰与模型有关的变量的联合概率分布。

图的每个节点(node )都表⽰⼀个随机变量,⽽图的边(edge )则被⽤于编码这些随机变量之间的关系,通常是条件概率。

对于⼀个K 维随机变量X =X 1,X 2,...,X K ,T ,它的联合概率分布是⾼维空间的分布,⼀般很难直接建模,特别是在我们不知道它们之间的依赖关系的时候。

如果我们有三个⼆值随机变量,分别是X 1, X 2,X 3,我们可以建⽴⼀个⼆维概率表来记录每⼀种取值的概率,因为有3个变量,每个变量有2种可能的取值,即我们有23=8种情况下的联合概率值,不过当我们知道前7个概率后,第8个概率直接⽤1-就可以计算出来,所以对于三个⼆值随机变量的联合概率分布,我们需要知道7个参数来表达它的联合概率分布。

随着随机变量的个数增加,所需参数数量会指数型增加,上⼀个例⼦是2的3次⽅,如果是10个随机变量就需要2的10次⽅-1个参数来说明这个联合随机概率分布。

有⼀种想法就是,如果我们能够知道其中⼏个随机变量之间的依赖关系,可以⼤⼤减少所需参数个数,⼤致可以这么想:如果我们知道当X 1=1时,X 2只能取0,那么我们所需要的参数数量将会直接少⼀半。

所以依赖于这种想法,有⼈提出了独⽴性假设,可以有效减少参数量,把K 维随机变量的联合概率分布分解为K 个条件概率的乘积:
p (x )=P (X =x )=p x 1p x 2∣x 1p x K ∣x 1,...,x K −1=∏K k =1p x k ∣x 1,...,x k −1 当概率模型中的变量数量⽐较多的时候,其条件依赖关系也很复杂,有的随机变量可能会依赖1个或多个变量,可能有两个随机变量都依赖于同⼀个随机变量,为了表⽰这种复杂的关系,就引⼊了图结构,可以直观的描述随机变量之间的条件独⽴性性质,把⼀个复杂的联合概率模型分解成⼀些简单的条件概率模型的组合,对于⼀个⾮联通图,都存在多个条件独⽴性假设,可以根据条件独⽴性来将联合概率分解。

⽐如下图就表⽰了,当已知X1时,X2和X3条件独⽴,且已知X2和X3时,X1和X4条件独⽴,且已知X4时,X2和X3不独⽴: 图模型有三个基本问题:
1.表⽰问题,就是给定⼀组随机变量的条件概率表⽰形式,怎么样画出图结构来描述变量之间的依赖关系。

简称:给了式⼦怎么画图,解决办法就是,如果是有向图,⽗节点表⽰条件,⼦节点表⽰当前的随机变量即可。

2.推断问题,就是在已知部分变量时,计算其他变量的后验概率分布。

通常是已知可观测变量,求隐变量的后验概率分布的时候⽤到,其中还会有精确推断,近似推断,近似推断中⼜会涉及到⼀系列的采样⽅法的介绍。

3.学习问题,包括有图结构的学习和参数的学习,这⾥主要关注在给定图结构时的参数学习,即参数估计问题。

很多机器学习模型都可以归结为概率模型,⽐如建模输⼊和输出之间的条件概率分布。

⼆、有向图模型
有向图模型⼜叫贝叶斯⽹络或信念⽹络,是指⽤有向图来表⽰概率分布的图模型。

贝叶斯⽹络定义:如果X 的联合概率分布可以分解为每个随机变量的局部概率的连乘形式,则图结构就可以叫贝叶斯⽹络:p (x )=∏K k =1p x k ∣x /k 其中x /k 是x k 的所有⽗节点随机变量的集合。

我们知道,条件独⽴性是指有第三⽅的时候,双⽅独⽴。

所以在图结构中,直接相连的两个节点不会构成条件独⽴,明显直接相连的⼆者不会因为任何其他⼈的出现⽽断开与彼此的联系,我们可以认为它们俩的感情很好,谁都不能拆散;
但是如果有两个节点,经过了第三个节点⽽产⽣了⼀条有联系的路径,它们之间有可能达到条件独⽴,也就是说,第三者⼲点什么事,就可能让本来有联系的双⽅⽼死不相往来了,没办法,谁让它们俩之间的联系是通过第三⽅呢?
以下简单讨论常⽤情况,详细的另开⽂章:
贝叶斯⽹络有局部马尔可夫性质:每个随机变量在给定其⽗节点的情况下,与它的⾮后代节点条件独⽴,也就是说,只要给定了⼀个节点的所有⽗节点,那么这个节点就和其他的既不是它的⽗节点也不是⼦节点的其他节点独⽴。

[]
()()()()
()
1.sigmoid信念⽹络
引⼊条件独⽴性假设,把⾼维随机变量之间的复杂关系降低,减少了参数量,但是替代其的是很多的条件概率,我们很贪⼼,希望进⼀步的更简单的去计算这些条件概率,于是我们可以⽤simoid函数来建模图模型中的条件概率。

(看到这⾥的时候我在想,不是说⾼斯概率可以很好的模拟任意分布嘛,为什么要⽤sigmoid⽽不⽤⾼斯?),所以,建模如下:
p x k=1∣x/k;θ=σθ0+∑θi x i
其中,θi是我们要学习的参数,假设变量x k的⽗节点有M个,如果使⽤我们最开始说的表格记录法来记录这个条件概率的话,需要2的M 次⽅个参数,使⽤信念⽹络则只需要M+1个参数,且即使⽗节点增加了,复杂度也不会是指数型的增长。

如果对不同变量的条件概率都⽤同⼀个参数化模型来模拟,那么参数量就更加少了。

2.朴素贝叶斯
条件概率,独⽴。

就会想到机器学习中最简单的朴素贝叶斯分类器,它的朴素之名就来源于在给定Y的情况下X的各个特征之间是条件独⽴的,⽽且Y和X都是随机变量。

所以朴素贝叶斯是个⽣成模型⽽不是判别模型,判别模型中的条件只是个变量,⽽不是随机变量,没有随机性。

3.隐马尔可夫模型
把蓝⾊隐含状态视为y1,y2,y3..,红⾊可见状态视为x1,x2...,然后隐马尔可夫的联合概率按照上⾯讲的⽅法可以写成:
p(x,y;θ)=∏T t=1p y t∣y t−1,θs p x t∣y t,θt
有向图中不管是看图写公式还是看公式画图都算⽐较简单的。

学了概率图模型后,再理解隐马尔可夫就⽐较容易了。

三、⽆向图模型
⽆向图模型⼜叫马尔可夫随机场或马尔可夫⽹络,是⽤⽆向图来描述具有局部马尔可夫性质的随机向量X的联合概率分布的模型。

前⾯说有向图的贝叶斯⽹络的时候,也说到过贝叶斯⽹络有局部马尔可夫性质,但是贝叶斯⽹络是有向图,其中描述给定的条件节点是某个随机变量的⽗节点,然⽽在马尔可夫随机场中是⽆向图,没有⽗⼦节点之说,只有邻居节点。

所以我们把这⾥的局部马尔科夫性质换⼀种表述:⼀个随机变量在给定它的邻居的情况下独⽴于其他所有变量,⽤式⼦表达如下:
p x k∣x/k=∏K k=1p x k∣x N(k)
x N(k)就是x k的邻居节点,⽽x/k是除了x k以外的所有节点。

也就是说x/k包括x k的邻居节点x N(k)。

我们可以看到左式和右式相等,右式的条件部分⽐左式减少的部分就是⾮邻居节点被抛去了,也就是说这个式⼦表达的含义就是在给定邻居节点的时候,⾮邻居节点和原节点x k相互独⽴。

这就是⽆向图的马尔可夫性质。

因为⽆向图没有⽅向,我们很难像有向图⼀样,找到⽗节点就是找到了条件,所以不能⽤有向图的⽅法来构造图和数学式⼦之间的关系。

这种看图写公式的我们可以叫做概率分解,因为整个图模型表达的就是⼀个联合概率分布,不管是有向图还是⽆向图,它画出来的⽬的或存在的意义都是让多个随机变量之间的条件关系更加清楚,也就是把联合概率分布分解成⼀个个的条件概率相乘的形式。

现在的⽆向图的难点在于,没有⽗节点这种说法,我们怎么找条件。

好在⽆向图起码也有⼀个局部马尔可夫性,由这个性质出发思考,⼀个随机变量在给定它的邻居的情况下独⽴于其他所有变量,⾸先这个邻居肯定是和随机变量不是独⽴的,毕竟都直接相连了,然后这个随机变量X和其他所有变量就条件独⽴了,这个其他所有变量是什么,既然和X不直接相连,但是⼜确实和X在同⼀个图内,⽽且⼜不是X的邻居节点,那么就是X的邻居的邻居节点。

那如果X没有邻居的邻居呢,也就是这是⼀个全连通图,那就没什么可说的了,不存在谁和谁条件独⽴了,⼤家都是两两相连的,都是⼀家⼈,关起门来好商量,⼀家⼈的联合概率就由⼀家⼈独⾃解决,具体怎么办呢,那就看团⾥的⼈怎么商量了;与团相对,还有最⼤团的概念,意思就是说,⽐如三个节点两两相连,相亲相爱,这时候其中的⼀个节点A说,我要带⼀个新节点D来⼀起玩,A很喜欢D,但其余两个节点BC都不喜欢D,当A不在的时候,D和B或C相处得都不愉快,不能成⼀家⼈,没办法关门商量,只好把D赶⾛才⾏。

有⼀个定理叫Hammersley-Clifford,意思就是如果⼀个联合概率分布满⾜局部马尔可夫性质,那么联合概率就可以拆解成最⼤团上⾮负函数的乘积形式,这个⾮负函数通常是定义在最⼤团上的势能函数,势能函数就是⼀个衡量能量E与势能phi的函数,物理⾥,能量越⾼,势能越低。

如果吧能量理解为以前⾼中学的动能,⼩球从⾼处速度为0的时候开始落下,重⼒势能减⼩,动能增⼤,因为势能转化为动能了。

这个势能函数应该就想表达,⼩球速度越快(动能越⼤),重⼒势能就越⼩。

具体公式如下:
p(x)=1
Z∏
c∈Cϕx c
()()
()() ()()
()
()(())
ϕx c =exp −E c x c 其中的Z 就是⽤来概率归⼀化的,称为配分函数,它的计算复杂度是指数级的,所以推断和参数学习的时候是个坎。

上⾯这个公式也叫吉布斯分布,根据Hammersley-Clifford ,⽆向图模型和吉布斯分布等价。

因为吉布斯分布⼀定满⾜马尔可夫随机场的性质,且马尔科夫随机场的概率分布⼀定可以表⽰成吉布斯分布。

如果⽤吉布斯分布+势能函数公式来表达⽆向图模型的话,这种分布还可以叫玻尔兹曼分布,⽽任何⼀个⽆向图模型表⽰的联合概率分布都可以表⽰成玻尔兹曼分布的形式。

常见的⽆向图模型有:
1.对数线性模型/最⼤熵模型
对数线性模型其实就是把线性模型放在指数位置上,再加上⼀个归⼀化系数就好。

之所以叫对数线性模型是因为把指数去掉之后,概率部分多了⼀个log ;同时也叫最⼤熵模型,因为这种模型学习的原则就是让熵最⼤。

因为加上归⼀化系数后,整体式⼦看着就很像把线性模型套进softmax 函数⾥,所以⼜叫softmax 回归模型,但本质上是做分类的。

⽽且如果⽤对数线性模型来直接建模条件概率的话,其中的y 只代表取值,⽽不是随机变量。

这⾥只放公式,详细笔记放在机器学习分类⾥:
p (y ∣x ;θ)=1
Z (x ;θ))exp (θT f (x ,y ))
2.条件随机场
条件随机场是直接建模条件概率的⽆向图模型,与上⼀个对数线性模型中y 代表取值不同,这⾥的y 是随机变量,所以不能直接套⽤线性模型放在指数部分,⽽是要进⾏因⼦分解,也就是把许多的y 拆解成最⼤团,⽤势能函数来替代线性模型放在指数部分。

就像前⾯讲到的吉布斯分布⼀样。

其条件概率分布为:
p (y ∣x ;θ)=1
Z (x ;θ))exp (∑c ∈C θT c f c (x ,y c ))
常⽤的条件随机场是链式结构,称为线性链条件随机场(CRF ):
其条件概率为:
p (y ∣x ;θ)=1
Z (x ;θ))exp (∑T t =1θT 1f 1(x ,y t )+∑T t =1θT 2f 2(x ,y t ,y t +1))
其中f1表⽰的是状态特征,也就是x 和某个位置上的y 构成的最⼤团的势能函数,主要和这个y 的位置t 有关;f2表⽰的是转移特征,主要和两个y 他们的相对关系有关。

这⾥不再把f 称为势能函数,⽽是称为特征,含义是“满⾜某种条件时表现出来的特征”,在⾼维空间中,两个随机变量之间的关系很难简单的⽤条件刻画,更⼴泛的理解,可以称为两个随机变量有关系,它们有关系的时候会表现出某种特征被我们捕捉到。

在后⾯讲玻尔兹曼机的时候会提到类似的思想。

四、有向图⽆向图转换
主要关注将有向图转化为⽆向图,转化的原则就是如果有⼏个向量都相关,那么就要把它们全部归属到⼀个团中,即加上连边即可。

但是这样会丢失⼀些独⽴性,本⾝独⽴的两个随机变量会因为增加了连边⽽变得不再独⽴。

()(())
Processing math: 100%。

相关文档
最新文档