chapter 8:Graphical Models(图模型)

来源:互联网 发布:淘宝卖品牌要授权吗 编辑:程序博客网 时间:2024/05/17 01:21

一:Introduction

1:图由结点(node)和边(edge)组成,在概率图模型(probabilistic graphical model)中,每个结点表示一个随机变量或者一组随机变量,边表示这些变量之间的概率关系。The graph captures the way in which the joint distribution over all of the random variables can be decomposed into a product of factors each depending only on a subset of the variables。

2:概率图可以分好几种,一种是有向图模型(directed graphical model),也称作Bayesian networks,连接结点的边有箭头表示特别的方向,一般用来表示随机变量之间的因果关系;还有一种是无向图模型(undirected graphical model),也叫作Markov random fields,边没有箭头不表示任何的方向,一般用来表示随机变量之间的soft constraints;对于解决推理(inference)问题,也就是求后验分布,一般是把有向图和无向图转换成因子图(factor graph)。

二:Bayesian Netowrks(directed graphical models):

1:利用有向图,我们可以把所有变量的联合分布表示成一系列条件分布的积。假设有K个结点,每个结点表示一个变量,则这K个变量的联合分布表示如下:

p(x⃗ )=k=1Kp(xk|pak)

pak表示结点xk的父节点,并且x⃗ ={x1,...,xK}

2:我们说的概率有向图是有向无环图(directed acyclic graphs, DAGs);也就是沿着边跟随着箭头的方向移动不会回到原来出发的地方

3:在图模型中,结点表示的变量分成两类,一类是observed variables,一类是latent variables(或者是hidden variables)。Observed variables顾名思义表示该变量的值能够被观察到,能够在训练集中直接体现出来,而latent variables的值不能被观察到,不能再训练集中体现出来,比如我们在回归模型中提到的概率分布p(tn|w⃗ )tn为observed variable,它的值已经存在于训练集中了,而参数w⃗ 就称之为latent variables,毕竟它的值不能被直接观察到;

4:Generative models:

(1):ancestral smapling:假设有一个K个变量的联合分布,其能够被有向图刻画,表达形式为p(x⃗ )=Kk=1p(xk|pak)。并且我们还对K个变量排序,使得任何结点的序列号要高于它们的父结点。为了从概率分布p(x⃗ )中提取一个样品,我们首先从分布p(x1)中提取样品x1,然后按序列号顺序提取每个结点,以至于我们依据条件分布p(xn|pan)提取样品xn,这时候一些列结点pan的值已经被设置为它们的样品值了,直到获得结点xK的样品值。

为了获得部分结点的样品值,我们先按上述方法获得K个变量的样品值,然后保留所需要结点的样品值以及抛弃剩余结点的样品值。比如我们想要从分布p(x2,x4)中提取变量x2,x4的样品值,我们先从全联合分布中获得所有变量的样品值,然后获得样品值xˆ2xˆ4以及摒弃剩余的值xˆj2,4

(2):在我们实际使用图表达概率模型时,高序列号的变量代表observed variables,低序列号的变量代表latent variables,我们可以理解如此的图表示了observed variables值的产生过程,这种刻画了生成observed variables值因果过程的模型被认为是generative model,因此应用于generative model的ancestral sampling的方法就模拟了observed variables值产生的过程。

(3):latent variables没必要有着明确的物理解释,它们的引入或许仅仅只是为了使复杂的联合分布能够被简单的概率分布构造。

5:Linear-Gaussian models:

(1):在有向图中,如果结点i代表了满足高斯分布的一个连续变量xi,表达形式为p(xi|pai)=N(xi|jpaiwijxj+bi,vi),其均值为其父节点的线性组合,那么可以证明所有变量x⃗ 的联合分布为高斯分布;

(2):上面结果为高斯分布的联合分布p(x⃗ )=p(x1,...,xD)的均值为E[x⃗ ]=(E[x1],...,E[xD])T,方差为cov[xi,xj]=kpajwjkcov[xi,xk]+Iijvj

(3):如果有向图中结点i代表了一组满足多变量高斯分布的变量x⃗ i,形式为p(x⃗ i|pai)=N(x⃗ i|jpaiWijx⃗ j+b⃗ i,i),那么依然所有变量的联合分布为高斯分布。

因此,Multivariate Gaussian can be expressed as a directed graph corresponding to a linear-Gaussian model over the component variables。

三:Conditional Independence of directed graph

1:若p(a|b,c)=p(a|c),则我们说a is conditionally independent of b given c,这也可以表达成p(a,b|c)=p(a|c)p(b|c)

2:如果联合分布由一些列条件分布的积组成,那么原则上我们可以用概率的求和求积规则获得该联合分布的条件独立性质,但这是非常浪费时间的。有了有向图,我们可以依据d-separation标准,直接从有向图中读取条件独立性质。

3:d-separation标准:

假设有一个有向图,并且有三个不相交的结点集A,B和C,我们希望判断在给定集合C的条件下,集合A是否条件独立B。为了做这个,我们考虑从集合A中结点到集合B中结点的所有路径,任何一条路径据说是被堵住了(blocked)如果它包含了满足下面两个条件之一的一个结点:

(1):这个结点是head-to-tail或者是tail-to-tail结点,并且在集合C中;

(2):这个结点是head-to-head结点,但它以及它的后代都不在集合C中;

如果从集合A结点到集合B结点的所有路径都被堵住了,我们就说A is d-separated from B by C,并且在给定集合C下,集合A条件独立B。

4:naive Bayes:

naive Bayes模型是用来处理分类问题的,它的关键假设是:在条件类Ck下,输入变量x1,...,xD是条件独立的,也就是p(x1,...,xD|Ck)=p(x1|Ck)p(x2|Ck)...p(xD|Ck)

5:d-separation theorem:

如果一个联合分布能够写成一系列条件分布的积,并且这一系列条件分布的积可以由有向图刻画。则d-separation theorem告诉我们:应用d-separation标准从有向图中获得的条件独立性质与应用概率求和求积规则从该一些列条件分布积中推出来的条件独立性质是一模一样的

6:Markov blanket(Markov boundary):

假设有一个由有D个结点的有向图表达的联合分布p(x⃗ 1,...,x⃗ D),每个结点k表示矢量x⃗ k。则概率分布p(x⃗ i|x⃗ ji)的表达式如下:

p(x⃗ i|x⃗ ji)=p(x⃗ 1,...,x⃗ D)p(x⃗ 1,...,x⃗ D)dx⃗ i  =kp(x⃗ k|pak)kp(x⃗ k|pak)dx⃗ i

我们注意到不依赖于x⃗ ip(x⃗ k|pak)能够被相互抵消,最后剩余下来的项是p(x⃗ i|pai)以及结点x⃗ i在条件集pakp(xk|pak)p(x⃗ i|pai)依赖于结点x⃗ i的父节点,p(x⃗ k|pak)依赖于结点xi的孩子结点以及co-parent,也就是结点xk除了xi的其它父结点。The set of nodes comprising the parents, the childern and the co-parents is called the Markov blanket.

四:Markov Random Fields

1:上面介绍了表示概率模型的有向图(directed graph),现在下面将要介绍表示概率模型的无向图(undirected graph),也就是连接结点的边没有箭头,无向图也称作Markov random field或者是Markov network;注意到我们要求有向图必须要是无环的,但是无向图可以是有环的。

2:Conditional independence of directed graph

假设有一个无向图,并且有三个不相交的结点集A,B和C,我们希望判断在给定集合C的条件下,集合A是否条件独立B。为了做这个,我们考虑从集合A中结点到集合B中结点的所有路径,如果所有的这些路径通过了集合C中的一个或多个结点,则我们说在给定集合C的条件下,集合A条件独立集合B。如果有一条路径或者更多路径其不经过集合C中的结点,则该条件独立性质不满足。

3:Factorization properties

(1):在无向图中,联合分布p(x⃗ )能够被表达成一些列函数积的形式,表达形式如下:

p(x⃗ )=1ZCψC(x⃗ C)

其中,ψC(x⃗ C)被称为potential functions;C表示图中的maximal clique,在这个maximal clique中的一系列变量为x⃗ C;Z称之为partition function,是一个归一化因子;

(2):在clique中,所有的结点对都相互连接,maximal clique表明在这个clique中所有结点对相互连接,但加进来另外一个结点就不满足所有结点对相互连接这一性质;

(3):为了使联合概率p(x⃗ )大于0,potential function ψC(x⃗ C)应该要满足大于等于0这一性质;Potential function可以采取指数形式ψC(x⃗ C)=exp{E(x⃗ C)},在这里E(x⃗ C)被称之为energy function;同时不同于有向图中表达联合分布的一些列因子积中因子(factor)有着概率的解释,在无向图中,potential function没有具体的概率解释。

4:Relation to directed graphs

1):converting a directed graph to an undirected graph:

(1):先给图中所有结点的所有父节点对增加无向边,然后把原先图中所有的有向边变成无向边;

(2):在把有向图转为无向图的过程中,一些条件独立性质会被抛弃,因此在转换过程中我们应该要尽可能少地抛弃条件独立性质。

(3):我们一般不会把无向图转为有向图,因为potential function不具有概率解释,要想把它转换成具有概率解释的因子(factor),这存在着很大的困难。

2):conditional independence properties expressed by directed graph and undirected graph:

(1):D map:如果一个概率分布满足的所有条件独立性质都能够在图中反映出来,那么这个图就称为该概率分布的D map;

(2):I map:如果一个图表明的所有条件独立性质都能够某一个概率分布满足,那么就该图为该概率分布的I map;

(3):Perfect map:如果一个图表明的所有条件独立性质都能够被某一个概率分布满足,同时该概率分布所表明的条件独立性质也能够被该图满足,那么就认为该图是该分布的perfect map,因此perfect map既是I map也是D map;

(4):现在有一个集合D的概率分布,在该集合中每一个概率分布分别对应一个perfect directed map;同时存在着另外一个集合U的概率分布,在该集合中每一个概率分布都对应一个perfect undirected map,在这种情况下,集合D会相交于集合U,但两个集合不相等,这表明对应一个directed perfect graph的概率分布不一定有一个undirected perfect graph,反之亦然。同时集合D与集合U的并集并不表示所有的概率分布,也有一些概率分布既没有对应的perfect directed map也没有对应的perfect undirected map。

五:Inference in graphical models

1:Trees:

对于无向图(undireced graph)来说,如果其所有结点对之间只有一条路径可以相互抵达,则我们认为该无向图是树(tree),这样的无向图因此没有环(loop);对于有向图来说,如果它只有一个根结点(root,没有父结点),其它所有结点只有一个父结点,则该有向图被认为是树(tree);如果在一个有向图中,存在着有多个父结点的结点,但是在任何两个结点之间只存在一条路径(忽略箭头),则该有向图称为polytree。

2:Factor graphs:

1):假设联合分布能够写成因子积的形式p(x⃗ )=sfs(x⃗ s)x⃗ s表示变量集合,fs代表因子(factor),是变量集合x⃗ s的函数;

2):在因子图(factor graph)中,有两类结点,一类是用圆圈表示的代表变量的结点,一类是用方块表示的代表因子(factor)的结点,用无向边连接因子结点与该因子依赖的每一个变量结点。因此因子图(factor graph)据说是bipartite,因为其有两类不同的结点组成,并且也只是在因子结点与变量结点之间存在着无向边,因子结点与因子结点之间以及变量结点与变量结点不存在任何的边连接

3):converting undirected graph or directed graph to factor graph

(1):为了把无向图转换成因子图,首先我们在因子图中创建对应于无向图的变量结点,然后创建一些列对应于无向图maximal clique x⃗ s的因子结点fs,用无向边连接该因子结点fs和其对应的maximal clique中的变量结点,设置fs(x⃗ s)等于该maximal clique的potential function;

(2):相似地,为了把有向图转换成因子图,首先我们创建对应于有向图的变量结点,然后创建对应于条件分布的因子结点,然后把因子结点与对应的变量结点用无向边连接起来;

(3):把无向树(undirected tree)以及有向树(directed tree)以及directed polytree转化成因子图(factor graph),获得的因子图还是树,也就是说获得的因子图没有环(loop)以及所有结点之间只有一条路径相通。

3:the sum-product algorithm

1):The sum-product algorithm是被应用于求解一个结点或者是几个结点的边际(marginal),比如说我们有一个D个变量的联合分布p(x1,...,xD),我们希望求出概率分布p(x1)

2):不过此sum-product algorithm只适合应用于有向树(directed tree),无向树(undirected tree)以及polytree,以便于对应的因子图也是树结构;为了求解边际概率分布,我们先把最初的图转换成因子图,然后再应用下面将要介绍的sum-product algorithm;

3):所有变量都是hidden variables的sum-product algorithm:

假设我们有一个联合分布p(x⃗ ),现在我们需要计算某个结点x的边际概率分布p(x),计算步骤如下:

(1):把结点x作为因子图的根节点,然后对因子图所有叶节点使用ux>f(x)(x)=1uf>x(x)=f(x)进行初始化;

(2):递归地使用ufs>xi(xi)=xi1...xiMfs(xi,xi1,...,xiM)mne(fs)xuxm>fs(xm)以及uxm>fs(xm)=lne(xm)fsufl>xm(xm)这两个公式沿着因子图所有边传递信息,直到根结点x从其附近所有的因子结点中接收到了信息;

(3):使用公式p(x)=sne(x)ufs>x(x)计算出边际概率分布p(x)。

如果我们希望计算出与因子fs相连的所有变量x⃗ s的联合分布p(x⃗ s),则p(x⃗ s)=fs(x⃗ s)ine(fs)uxi>fs(xi)

4):当有些变量是observed variables时的sum-product algorithm:

x⃗ 分成hidden variables h⃗ 以及observed variables v⃗ ,并且observed variables x⃗ 的观察值标记为v⃗ ˆ,然后我们用iI(vi,vˆi)乘以p(x⃗ ),这样这个积就对应于p(h⃗ ,v⃗ =v⃗ ˆ),并且因此是p(h⃗ |v⃗ =v⃗ ˆ),因此运用上面介绍的sum-product algorithm,我们能够计算出未归一化版本的后验分布p(hi|v⃗ =v⃗ ˆ),其归一化因子能够对该概率分布归一化得到。

4:the max-sum algorithm

1):The max-sum algorithm 是用来找到联合概率分布p(x1,...,xD)的最大值以及此时对应的变量值x1,...,xD。同样,下面介绍的max-sum algorithm也只适合于无向树,有向树以及polytree,也需要把图转换成对应的因子图(factor graph);

2):the max-sum algorithm的过程:

(1):随便选择一个结点作为因子图的根节点,假设为结点x,然后对因子图所有叶节点使用ux>f(x)(x)=0uf>x(x)=lnf(x)进行初始化;

(2):递归地使用ufs>xi(xi)=maxxi1,...,xiM{lnfs(xi,xi1,...,xiM)+mne(fs)xuxm>fs(xm)以及uxm>fs(xm)=lne(xm)fsufl>xm(xm)这两个公式沿着因子图所有边传递信息,直到根结点x从其附近所有的因子结点中接收到了信息,同时也要记录此时xi1,...,xiD对应的值ϕ1(xi),...,ϕD(xi)

(3):使用公式pmax=maxxsne(x)ufs>x(x)计算出最大值,不过要注意的是这个最大值对应的是联合概率最大值的对数,同时求出此时对应的x值xmax

(4):把步骤(3)获得的结点x变量值xmax依序地沿着刚才递归地逆方向带入各个结点对应地ϕ函数中直至叶节点,获得联合概率取最大值时对应地各个变量的值。

0 0
原创粉丝点击