【PGM】概率图模型基础

 一、PGM

图来自:http://blog.sina.com.cn/s/blog_5980285201011z75.html

 

二、基于概率图模型的推理,例子:

举一个简单的例子,假如通过某个有噪音的信道发送一串信息,这一串信息由0和1组成,由于噪音的存在,每个比特有20%的概率出错,同时由于发送的 信号的特性,1之后紧跟一个1、和0之后紧跟一个0的概率都是0.9。如果接收到一个比特串“1101”,那么正确的信息最大可能是什么呢?

这个例子的概率依赖关系可以表示为下面的图形:

其中空心圆点s1,s2,s3,...表示发送的比特;r1,r2,r3,...表示接收到的比特,它们是已经观测到具体取值的量,因此用实心圆点表示。这是一个有向图,一个有向图对应的联合概率分布是:

p(x1, x2, ...) = ∏p(xi | xi的所有父节点表示的变量)

比如,上图对应的联合概率分布为:

p(s1,s2,s3...,r1,r2,r3...) = p(s1)p(s2|s1)p(s3|s2)...p(r1|s1)p(r2|s2)p(r3|s3)...

同时已经知道:

p(r1=1|s1=1) = p(r2=1|s2=1) = ...= 0.8,p(r1=0|s1=0) = p(r2=0|s2=0) = ... = 0.8,

并且,p(s2=1|s1=1) = p(s3=1|s2=1) = ... = 0.9,p(s2=0|s1=0) = p(s3=0|s2=0) = ... = 0.9。

为了使推理和计算更加简单,将上图进一步转化为因子图(factor graph)。因子图是一个无向二部图,一部分节点表示变量,一部分节点表示因子,因子节点将可能具有概率依赖关系的节点连接起来,从而能够更直观地表示 概率条件独立关系。比如将上图表示为因子图如下(假设只考虑接收到的前4个比特):

整个因子图表达了一个概率联合分布P(s1,...,s4,r1,...,r4)=∏fi(Xi),Xi是因子节点fi连接的变量节点集合。

其中f1(s1,r1) = P(s1)P(r1|s1);f3(s2,r2) = P(r2|s2), f5, f7与此类似;f2(s1,s2) = P(s2|s1),f4, f6与此类似。

由于这个图是一个树结构,为了求得联合概率分布的最大值,可以将问题分解为求子树结构的概率最大值,再集合起来。先任意选取一个变量节点s3作为根节点,然后运用max-product算法,从叶节点到根节点以消息传递的形式进行计算:

叶变量节点向因子节点传递的消息设为1,Ur1->f1(r1)=1;

因子节点将所有输入消息,和自身所表达的因子相乘,并求最大值:

Uf1->s1(s1) = max{ f1(s1,r1) * Ur1->f1(r1)} = max { P(s1)*P(r1=1|s1) } = 0.5*P(r1=1|s1),其中,设 P(s1=0)=P(s1=1) = 0.5。

变量节点将收到的消息相乘发给因子节点:Us1->f2(s1) = 0.5 * P(r1=1|s1)。

与上述类似:

Uf2->s2(s2) = 0.5 * maxs1{ P(s2|s1) * P(r1=1|s1) },

Ur2->f3(r2) = 1,

Uf3->s2(s2) = max { f3(s2,r2)} = P(r2=1|s2),

Us2->f4(s2) = Uf2->s2(s2) * Uf3->s2(s2) = 0.5 * maxs1{ P(s2|s1) * P(r1=1|s1) } * P(r2=1|s2),

Uf4->s3(s3) = maxs1,s2{ P(s3|s2) * 0.5 * maxs1{ P(s2|s1) * P(r1=1|s1) } * P(r2=1|s2)} },

这个式子在s1=1,s2=1时取得最大值,即Uf4->s3(s3) = 0.288 * P(s3|s2=1),

Ur4->f7(r4) = 1,

Uf7->s4(s4) =P(r4=1|s4),

Us4->f6(s4) = P(r4=1|s4),

Uf6->s3(s3) = maxs4{ P(s4|s3) * P(r4=1|s4) },

Ur3->f5(r3) = 1, Uf5->s3(s3) = P(r3=0|s3),

因此,Pmax = max { Uf4->s3(s3) * Uf6->s3(s3) * Uf5->s3(s3) }

 = max{ 0.288 * P(s3|s2=1) *  maxs4{ P(s4|s3) * P(r4=1|s4) } * P(r3=0|s3) },

这个式子在s3=1,s4=1时取得最大值,最大值为Pmax = 0.0373248。

综 上,联合概率分布在s1=s2=s3=s4=1时取得最大值,即当接收到的比特串为1101时,最可能的发送串为1111。可以看到,当概率图为比较简单 的结构,如树、链时,可以通过图结构来简化计算,当概率图为较为复杂的图结构,直接计算将非常困难,这时可以通过将问题简化为近似的的树或链式结构来解 决。

参考:http://hi.baidu.com/linecong/item/b3e3e8f17d2b72d642c36a8e

 

 三、factor

wiki解释:http://en.wikipedia.org/wiki/Factor_analysis

Factor analysis is a statistical method used to describe variability among observed, correlated variables in terms of a potentially lower number of unobserved variables called factors.

好像概率图里面的factor跟图论里面的factor没什么关系

http://en.wikipedia.org/wiki/Factor_%28graph_theory%29

 

四、概率图总结

概率图分为有向图(bayesian network)与无向图(markov random filed)。直觉上说,有向图突出causality(因果关系,其实只是correlation),无向图突出correlation(关联性)。为 什么用图模型,我觉得主要原因还是为了更好的捕获随机变量间的关系。像SVM、Decision Tree、Regression等模型通常假设分类结果只依赖于既有的特征,并没有直接捕获(观察到的与观察不到的)随机变量之间的复杂关系,虽然在特征 充足的情况下效果还是不错,但这在某些问题中会变得非常局限(比如判断A的分类不仅跟A的特征有关,跟B的分类也有关的时候)。在概率图上可以建立生成模 型或判别模型。有向图多为生成模型(如LDA、HMM),无向图多为判别模型(如CRF)。过去的报告认为判别模型在分类问题上比生成表现更加好(比如 Logistic Regression与Naive Bayesian的比较,再比如HMM与Linear Chain CRF的比较)。当然,生成模型的图模型也有一些难以代替的地方,比如更容易结合无标注数据做semi-or-un-supervised learning。

用概率图模型去解决问题,第一步是把模型建立起来,有哪些随机变量,他们之间是什么关系,如何互相作用,用有向图还是无向图,生成模型还是判别模型,等 等。这个过程是第一步,但又不只是第一步,有些数据间的关系不是那么直觉的,用拍脑袋想出来的模型往往是需要验证与修改的。因为叫做概率图模型,所以几乎 肯定是带参数,所以设计好模型后,要做的就是parameter estimation。这些参数一般要学出来,有很多种学的方法,比较常用的是ML(maximum likelihood),也就是先写一个似然函数,然后最大化似然函数来求参数,最大化的方式可以是梯度下降、牛顿法、各种拟牛顿法、SGD(随机梯度下 降)等。得到参数后,就可以用model去做classification啊、prediction啊什么的,通通需要inference, 就是求posterior marginal probability,最大化总体的posterior marginal probability。inference的方法也有很多种,比较常用的,用来求marginal probability的:Sum Product(也叫Belief Passing、Message Passing)、MCMC、Varational等,用来求最大化 marginal probability的:Max Sum等等。因为有向图与无向图其实都可以化作一种统一的形式:Factor Graph(因子图),并且在这种图上做parameter estimation和inference都比较方便(上面说的BP等也是针对这种图的),所以很多时候,模型都直接用FG来表示

概率图模型"博大精深",由于其对随机变量间关系的出色的model能力,不错的learning与inference效果,以及日渐增多的问题都会遇到 图状随机变量集,它应该会有越来越应用广泛。概率图模型比起SVM等可能还是要相对处于年幼期,虽然已经被用了很久,但是还有很多问题可以改进(比如在 inference中approximation的收敛性和准确度)。想起上次龙星计划,好多人问概率图模型最近这么热但比起传统的模型究竟有多大前进? 我觉得还是在处理不太一样的问题吧,直接的比较并不是特别合适(如果要比,一般要忽略变量间关系,然后用SVM等方法去做,效果往往会更差;相反,在一些 非常特殊的问题上,如果有办法把这种关系融合到一些特征中去,使得随机变量能够相对独立,用BP等方法的GM也可能由于approximation而比不 过SVM)。但是,在SVM专攻的方向上,也有图模型或者说网模型介入挑战了,那就是deep learning,deep learning跟graphical model有很多相似之处,虽然解决的问题与具体方法不太一样,但是网状结构的模型还是很类似的。这是不是在说明,explicitly去 model(observable and unobservable)变量之间的关系与结构或许是未来的一个重要方向呢?

 

Statistical learning refers to a set of tools for modeling and understanding complex datasets. It is a recently developed area in statistics and blends with parallel developments in computer science and, in particular, machine learning. The field encompasses many methods such as the lasso and sparse regression, classification and regression trees, and boosting and support vector machines. With the explosion of “Big Data” problems, statistical learning has be- come a very hot field in many scientific areas as well as marketing, finance, and other business disciplines. People with statistical learning skills are in high demand. One of the first books in this area—The Elements of Statistical Learning (ESL) (Hastie, Tibshirani, and Friedman)—was published in 2001, with a second edition in 2009. ESL has become a popular text not only in statis- tics but also in related fields. One of the reasons for ESL’s popularity is its relatively accessible style. But ESL is intended for individuals with ad- vanced training in the mathematical sciences. An Introduction to Statistical Learning (ISL) arose from the perceived need for a broader and less tech- nical treatment of these topics. In this new book, we cover many of the same topics as ESL, but we concentrate more on the applications of the methods and less on the mathematical details. We have created labs illus- trating how to implement each of the statistical learning methods using the popular statistical software package R . These labs provide the reader with valuable hands-on experience.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值