概率图模型
概率图模型(probabilistic graphical models)在概率模型的基础上,使用了基于图的方法来表示概率分布(或者概率密度、密度函数)。
在概率图模型的表达中,数据(样本)由公式 建模表示:
- : 结点, 表示变量, 具体地,用 为随机变量建模, 为这些随机变量的联合概率分布;
- : 边, 表示相应变量之间的概率关系
根据图模型(graphical models)的边是否有向,概率图模型通常被划分成有向概率图模型和无向概率图模型。
有向概率图模型
求解联合概率
写成通用形式即
无向概率图模型
如果联合概率分布 满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型或马尔可夫随机场(MRF)
成对马尔可夫性
设无向图 中的任意两个没有边连接的节点 、 ,其他所有节点为 ,成对马尔可夫性指:给定 的条件下, 和 条件独立
局部马尔可夫性
设无向图 的任一节点 , 是与 有边相连的所有节点, 是 、 外的其他所有节点,局部马尔可夫性指:给定 的条件下, 和 条件独立
当 时,等价于
如果把等式两边的条件里的 遮住, 这个式子表示 和 独立,进而可以理解这个等式为给定条件 YW 下的独立。
全局马尔可夫性
设节点集合 、 是在无向图 中被节点集合 分开的任意节点集合,全局马尔可夫性指:给定 的条件下, 和 条件独立
成对、局部或全局马尔科夫性,大白话就是说每一个节点的分布只和有边相连的节点有关系。
不同于有向图模型,无向图模型的无向性很难确保每个节点在给定它的邻节点的条件下的条件概率和以图中其他节点为条件的条件概率一致。由于这个原因,无向图模型的联合概率并不是用条件概率参数化表示的,而是定义为由一组条件独立的局部函数的乘积形式。因子分解就是说将无向图所描述的联合概率分布表达为若干个子联合概率的乘积,从而便于模型的学习和计算。
其中 , 归一化是为了让结果算作概率。
所以像上面的无向图:
其中, 是一个最大团 上随机变量们的联合概率,一般取指数函数的:
团:无向图G中任何两个结点均有边连接的节点子集成为团。
最大团:若C是无向图G的一个团,并且不能再加进任何一个G的节点使其成为一个更大的团,则称此C为最大团。
那么概率无向图的联合概率分布可以在因子分解下表示为:
名词解释
马尔可夫链
举个栗子,一只被切除了大脑的白鼠被随机丢进如下洞穴, 小白鼠在洞穴间随机蹿动
窜动的路线就构成一个马尔科夫链。因为这只白鼠已没有了记忆,瞬间产生的念头决定了它从一个洞穴蹿到另一个洞穴;当其所在位置确定时,它下一步蹿往何处与它以往经过的路径无关。
这种在已知“现在”的条件下,“未来”与“过去”彼此独立的特性就被称为马尔科夫性,具有这种性质的随机过程就叫做马尔科夫过程,其最原始的模型就是马尔科夫链。
隐马尔可夫模型(HMM)
假设观察者距离洞穴很远, 看不见老鼠窜动的轨迹, 但是每个洞穴中都装有不同颜色的灯, 当老鼠进入到该洞穴时会触发开关将灯点亮, 观察者可以看清被点亮的灯的颜色
假设老鼠窜动的轨迹如下
那么观察者看到的灯亮的顺序则为
一个隐马尔可夫模型则可以如下表示
小白鼠在洞穴(状态)之间的转移存在转移概率, 可由矩阵表示:
这个矩阵称为状态转移概率分布矩阵, 如小白鼠从房间F窜到房间C的概率为0.33
假如实验中开关发生故障, 每次进入洞穴后点亮的灯的颜色不再确定, 而是每种颜色的灯亮存在概率, 如下矩阵:
这个矩阵称为观测状态概率矩阵, 如小白鼠进到F洞穴, 红灯亮的概率为0.15, 绿灯亮的概率为0.7, 蓝灯亮的概率为0.15
小白鼠最初被随机丢进每个洞穴的初始概率为
隐马尔科夫模型由初始状态概率向量、状态转移概率矩阵和观测概率矩阵决定。和决定状态序列,决定观测序列。因此,隐马尔科夫模型λ可以由三元符号表示,即:。,,称为隐马尔科夫模型的三要素。
隐马尔可夫模型属于有向图模型, 需要计算的概率是“观测序列(输入)和状态序列(输出)的联合概率”,即P(状态序列, 观测序列), 然后再根据贝叶斯公式求解出P(状态序列|观测序列), 构建它们的联合概率分布P(Y,X)的模型属于生成式模型
条件随机场(CRF)
显然在现实生活当中, 一个状态的发生很可能不仅仅依赖于前一个状态, 而是依赖于前后多个状态。 拿词性标注来说, 判断一个词是否为动词, 我们可能需要考虑这个词的前一个词(上一个状态)是否为形容词, 这个词后边(下一个状态)是否为名词, 这个词(本身)是否以ing或者ly结尾等等。像这种场景我们便可以用条件随机场来解决
此前我们介绍了马尔科夫随机场(MRF), 如果给定的MRF中每个随机变量下面还有观察值,那么我们的目标就是要确定给定观察集合下的MRF分布,也就是条件分布,而这种条件分布就是条件随机场。
简单的说,条件随机场(CRF)类似于MRF,只不过CRF比MRF多了一个观察集合,或者说,CRF本质上就是给定了观察值集合的MRF。
这里介绍的CRF指线性链条件随机场, 即观测序列与状态序列有相同的图结构如下:
定义
设 , 均为线性链表示的随机变量序列,在给定随机变量序列 的情况下,随机变量 的条件概率分布 构成条件随机场,即满足马尔科性:
线性链条件随机场的特征函数
作为规范化因子,是对 y 的所有可能取值求和。
其中:
: 是定义在边上的转移特征函数(transition),依赖于当前位置 和前一位置 ;对应的权值为
: 是定义在节点上的状态特征函数(state),依赖于当前位置 ;对应的权值为
一般来说,特征函数的取值为 1 或 0 ,当满足规定好的特征条件时取值为 1 ,否则为 0 。
词性标注例子
如果 , 且 , 则转移特征函数 , 否则为 。如果该特征函数有一个较大的正权重,就表明倾向于认为形容词后面跟着名词。
如果 , 且 , 则转移特征函数 , 否则为 。如果该特征函数有一个较大的负权重,就表明倾向于认为介词后面不会再跟介词。
如果 且 以“-ly”结尾, 则状态特征函数 , 否则为。如果该特征函数有一个较大的正权重,就表明倾向于将 “-ly” 结尾的单词标注为副词。
如果 且 以“?”结尾, 则状态特征函数 , 否则为。如果该特征函数有一个较大的正权重,就表明倾向于将问句的首词标注为动词。如“Is it right?”
HMM, CRF, LSTM之间的联系与区别
首先要说明的是HMM, CRF, LSTM都可以用来做分词任务。用一个分词的例子来说明, 假如有一句待分词文本, 内容是:
已结婚的和尚未结婚的青年都要实行计划生育
采用 4-tag方法进行分词, B 表示词首, M 表示词中, E 表示词尾, S 表示单字。正确的结果应该是:
已/S 结/B 婚/E 的/S 和/S 尚/B 未/E 结/B 婚/E 的/S 青/B 年/E 都/S 要/S 实/B 行/E 计/B 划/M 生/M 育/E
如果我们用 LSTM+softmax 的话, 它解决问题的步骤是这样的, LSTM用来生成特征向量, 再将其丢给 softmax , 预测每个分类的概率, 将概率最大的分类作为最终的分词结果。 但是这样做没有考虑到标签之间的连接是否合理, 例如可能会出现这种情况
已/S 结/B 婚/B 的/S 和/S 尚/B 未...
显然 B 后边接 B 是不合理的
(找了个BiLSTM做实体标注的示例图)
如果我们用 HMM 的话, 它解决问题的步骤是这样的, 计算每种情况的概率, 如
然后取概率最大的一组作为最后的分词结果。因为HMM的条件独立假设, 使其不能充分考虑上下文信息
最后是 CRF , CRF 也是求每种情况的概率, 但是其概率求解的形式为:
为一个函数,是在全局范围统计归一化的概率
最后放一张关系图
朴素贝叶斯:生成式模型,条件独立 —> 序列形式 隐马尔科夫模型 —> 图形式 通用有向图模型
逻辑回归:判别式模型,条件不独立 —> 序列形式 线性链条件随机场 —> 图形式 通用条件随机场
参考链接