来源:NewBeeNLP 本文长度为2700字,建议阅读6分钟 本文为你分享一份概率图模型学习笔记,一起交流。 写在前面其实接触概率图模型也有一段时间了,从开始入坑NLP起,也陆陆续续看了很多关于图模型这方面的论文、博客和教程等,但是总是不能形成一个完整的体系,所以这次就下决心花点时间好好去整理复习一下。网上的资料很多,但是那都是别人的,最重要的还是要学会整理融合成自己的知识。 今天这篇主要就介绍一下图模型的基础知识,后面陆续会整理HMM, CRF等比较常见常用的概率图模型。
什么是概率图我们首先肯定都知道什么是图。图就是由结点和结点之间的链接组成的。那么概率图就是在图结构的基础上集成了“概率”的概念,也就是,概率图中的结点变成了随机变量,链接变成了这些随机变量之间的概率关系(依赖关系)。 在宗成庆老师的统计自然语言处理一书中,有关于图模型的整体框架,对后面理解各种类型的图模型有非常好的帮助: 可以看到,整个图模型的框架可以分成有向图(也叫做贝叶斯网络)和无向图(也叫做马尔科夫网络)两个部分。
有向图 VS 无向图有向图 有向图又可以称作贝叶斯网络、信念网络、有向无环图模型。 有向图的一般模型如下所示: 在有向图中,有个箭头从x1指向x2,说明是由于x1“导致”x2,表示两者的依赖关系。通过使用概率乘积规则,我们可以将这个有向图表示为数学公式: 下面我们通过一个栗子更好地了解有向图。 “草地是湿的(grass is wet)"的原因可能有两个:洒水器打开(S=true)或下雨(R=true)。它们之间的关系可以用一个条件概率表(conditional probability table, CPT) 来描述。比如说,我们可以看到 P(W=true|S=true,R=true)=0.99,即当洒水器打开同时下雨的条件下,“草地湿的”概率为0.99。而“洒水器”和“下雨”的状态又是由“天气”决定的。所以,整体的联合概率可以写成: 有向图的条件独立判断与d-划分 首先我们来看三种简单的条件独立情况。 1、tail-to-tail 节点C链接的是两个箭头的尾部, 如下图 根据上图可以写出三个随机变量的联合分布: 接着我们去判断a, b两个节点是否条件独立,有两种情况: “(1)没有变量是观测变量”此时我们可以对a,b,c的联合分布对c求积分,如果考虑c是离散的,可得: 可见a,b并不独立 “(2)变量C是观测变量” 此时我们有: 可知a,b是条件独立的 2、head-to-tail 同样我们分为两种情况讨论a,b的条件独立性(这里就不具体写出了) 3、head-to-head 也是同样方法去分析。 一个总结(d-划分) 对于 DAG 图 E,如果A,B,C是三个集合(可以是单独的节点或者是节点的集合),为了判断 A 和 B 是否是 C 条件独立的, 我们考虑 E 中所有 A 和 B 之间的“无向路径” 。对于其中的一条路径,如果满足以下两个条件中的任意一条,则称这条路径是“阻塞(block”)的:
如果 A,B 间所有的路径都是阻塞的,那么 A,B 就是关于 C 条件独立的;否则, A,B 不是关于 C 条件独立的。 一个栗子 给定下面一个DAG,判断图中a和b是否在c条件下独立?a和b是否在f条件下独立? “问题1”:a到b只有一条路径a->e->f->b,考虑路径上除了a和b之外的节点e和f:其中e是head-to-head类型的,且e的儿子节点就是c,根据上述可知e不阻断;对于f,是tail-to-tail类型的,且f不在c中,f也不阻断;因此a,b不是c条件下独立。 “问题2“:路径 a->e->f->b 上的所有节点。考虑路径上的点e和f:节点 e 是head-to-head 类型的,e 和她的儿子节点 c 都不在 f 中,e是阻断路径的节点。节点 f 是tail-to-tail类型节点,且 f 节点就在 f中,所以 f 节点阻断了路径。结论:a 和 b是 f 下条件独立的。 无向图 无向图又可以称作马尔科夫网络、马尔科夫随机场,如下图所示: 概率无向图的判断 这里首先给出判定条件:
接着我们来看什么是马尔科夫性
条件独立判断 在有向图的情形下,我们可以通过d-划分来判断一个特定的条件独立性质是否成立。那么在无向图中,有没有类似的判定方法呢? 还是对于A,B,C,我们考虑链接集合A的结点和集合B的结点的所有可能的路径。如果所有这些路径都通过了集合C中的一个或多个节点,那么所有这样的路径都被“阻隔”,可以判断集合A与集合B在给定C的条件下独立。 还有另一种更明了的判定方式。我们把集合C中的所有结点以及与这些结点相连的链接全部删除,然后去考察A和B结点之间是否存在一条路径,如果没有这样的路径,则条件独立性质成立。 概率无向图模型的因子分解 概率无向图模型的最大特点就是易于因子分解,也就是将整体的联合概率写成若干子联合概率的乘积的形式。 首先我们需要了解什么是“团”与“最大团”
那么怎么做因子分解呢?
最后直接看公式 其中,Z(x)为归一化因子,目的就是为了让结果称为概率(对比softmax理解) 后面那个phi函数称为势函数,通常定义为指数函数: 好的,举个栗子:比如我们需要将上面这个无向图进行因子分解
判别式模型 VS 生成式模型在有监督的模式识别或者机器学习问题中,我们可以把模型分为生成式和判别式两种。刚接触的时候也是对这俩模型傻傻分不清楚,无法触及到两者的本质区别,然后各种翻阅知乎博客,慢慢有了一些具体的认识。可以参考:
结合下面的图记录一下自己的理解。 对于一个特定的机器学习问题(输入为X,输出或者说标签为Y),我们的建模思路大致有以下两种:
好了,上面说的第一种建模思路对应的就是判别式模型,第二种思路对应的就是生成式模型,总结一下:
本文参考资料 1.机器学习“判定模型”和“生成模型”有什么区别?: https://zhuanlan.zhihu.com/p/30941701 2.判别式模型与生成式模型: http://www./discriminative-model-and-generative-model 编辑:于腾凯 校对:林亦霖 —完— |
|
来自: taotao_2016 > 《概率》