概率图模型

近一周学习了概率图模型,总结下自己的理解,当然只是概括介绍我认为比较核心的概念,所以不会做细致的算法说明等,如果有不正确的地方欢迎大家指正  

整个模型分类参考下面图

(1)(本图来自统计自然语言处理)

概率图模型是一类用图来表达的相关变量关系的概率模型,它以图为工具,点表示变量,边表示变量间的概率相关关系。

从图(1)可看见,概率图模型可分为基本的两类:有向图图模型(贝叶斯网络为代表)和无向图模型(马尔科夫网络为代表)。下面会大致介绍下:马尔科夫模型,有向图模型(贝叶斯网络,隐马尔科夫模型)。无向图模型(马尔科夫网络(马尔科夫随机场就是典型的马尔科夫网络),条件随机场)

贝叶斯网络:

属于生成模型,借助有向无环图(DAG图)来刻画属性简的依赖关系,并使用条件概率表来描述属性的联合概率分布,这里重点是计算联合概率分布

例如:

(2)(来自周志华的机器学习)

方法:比如x1是x3,x4的父节点,父子节点有一定的概率依赖关系。然后通过右边的条件概率表给出所有这种父子依赖关系的概率表,就可以计算出属性x1,x2,x3....的联合概率分布定义:P(x1,x2,x3,x4,x5)=P(x1)P(x2)P(x3|x1)P(x4|x1,x2)P(x5|x2),当然西瓜书中还分析了一些条件独立性的证明,有兴趣的自己可以阅读

1.学习:

如果都知道各个变量,各个属性间的依赖关系,只需要对各个条件概率表进行计数,就能够得到联合概率分布。但实际情况中几乎不会轻易得到所有的关系依赖,所有贝叶斯网络的首要任务是根据训练数据找出最“恰当”的贝叶斯网,也就是学习出属性间的依赖关系,得到联合概率分布。使用的是评分函数算法

2.推断

通过第一步的学习得到了联合概率分布,属性,变量间的依赖关系,也就是得到了贝叶斯网络后,就可以通过它来回答"查询",及通过一些已知属性变量的观测值来预测一些其他的属性。比如图(1)中,通过x1来预测x3,x4等

2.1 近似推断(吉布斯采样)

现实情况中,网络的节点很多,很难通过贝叶斯网络定义的联合概率来精确计算后验概率,所以会使用吉布斯采样来近似推断


3.EM算法

EM算法是一种常用的估计参数隐变量的算法,是一种迭代的方法,步骤是:E步,通过随机初始化参数theta,通过训练数据推断出最优的隐变量Z。M步,通过Z,进一步调整参数theta

前面讨论都是假设样本已被观测到,也就是样本的"完整性"来做的,但实际情况很多都是"不完整的",比如西瓜的根蒂已经脱落,就无法看出"蜷缩"和"硬挺"。这种变量我们称为隐变量,常用的EM算法来对隐变量进行填充计算


马尔科夫模型

马尔科夫描述了一类重要的随机变化过程,我们常常会考察一个随机变量序列,这些随机变化并不是相互独立的,每个随机变量的值依赖于这个序列前面的状态,可表示为

(3)(来自统计自然语言处理)

如果定义只与前一时刻有关系,那么称为一阶马尔科夫链

(4)(来自统计自然语言处理)

隐马尔科夫模型(HMM)

马尔科夫模型默认的是每个状态代表的一个可观察的序列,隐马尔科夫模型描述的是状态是隐藏的,不可观察的。还有一个可输出的观测序列。这种模型有两个随机,1是状态转移的随机,2是一个状态可观察值的随机。

(5)(周志华机器学习)

1.其中几个重要的参数:a.状态转移概率,y1,y2....的转移概率。  b.输出观察概率y输出x的概率。c.初始状态概率,y1

2.HMM解决的问题

a.如何评估模型与观测序列之间的匹配程度,例如许多任务已有观察序列{x1,x2,x3...xn-1}求x(n)的最有可能值,就是转换为判定模型,P(x|theta)最大的匹配程度

b.根据观测序列推断出隐藏的模型状态,已经{x1,x2,x3...x(n)},求{y1,y2,y3...y(n)}。如语音识别中,观测值为语音符号,隐藏状态为文字

c.如何训练模型,使其能最好的描述观测数据,即调整模型参数[A,B,PI],使得该观测序列出现的概率最大


马尔科夫随机场(马尔科夫网络)

马尔科夫随机场是典型的马尔科夫网络,是一种著名的无向图模型,多个变量之间的联合概率分布能够基于团分解为多个因子的乘积(可以和贝叶斯网对比,贝叶斯网可理解为基于各个父子节点分开乘积)

团:

对于图中的任意两点都有线相连,则称该结点子集为一个"团",若在一个团中加入另外的节点都不再形成团,那么陈该该结点子集为"极大团"

势函数:

亦称"因子"(factor),这是定义在变量子集上的非负实函数,主要用于定义概率分布函数:

各个极大团概率分布的乘积

条件随机场

是一种判别式无向图模型,对条件分布进行建模。试图对多个变量在给定观测值后的条件概率进行建模。具体说就是给定X={x1,x2,x3,....xn}和Y={y1,y2,y3...yn}然后建立模型P(Y|X)。然后对后面给定的(x11,x12,x....)直接使用P(Y|X)模型进行预测。标记变量y可以是结构型变量,即其分量直接具有某种相关性。

例如,NLP中处理词性标注任务中,观测数据为语句(单词序列),标记为相应的词性序列,具有线性序列结构。另外在语法分析任务中,输出标记则是语法树,具有树形结构

你可能感兴趣的:(概率图模型)