HMM及CRF

image

概率图模型

概率图模型(probabilistic graphical models)在概率模型的基础上,使用了基于图的方法来表示概率分布(或者概率密度、密度函数)。

在概率图模型的表达中,数据(样本)由公式 G=(V,E) 建模表示:

  • V: 结点, 表示变量, 具体地,用 Y = (y_{1}, {\cdots}, y_{n} ) 为随机变量建模,P(V) 为这些随机变量的联合概率分布;
  • E: 边, 表示相应变量之间的概率关系

根据图模型(graphical models)的边是否有向,概率图模型通常被划分成有向概率图模型无向概率图模型

有向概率图模型

image

求解联合概率

P(x_{1}, {\cdots}, x_{5} )=P(x_{1})·P(x_{2}|x_{1} )·P(x_{3}|x_{2} )·P(x_{4}|x_{2} )·P(x_{5}|x_{3},x_{4} )

写成通用形式即

P(x_{1}, {\cdots}, x_{n} )=\prod_{i=0}P(x_{i} | \pi(x_{i}))

无向概率图模型

如果联合概率分布 P(V) 满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型或马尔可夫随机场(MRF)

成对马尔可夫性

设无向图 G 中的任意两个没有边连接的节点 uv ,其他所有节点为 O ,成对马尔可夫性指:给定 Y_{O} 的条件下,Y_{u}Y_{v} 条件独立

image

P(Y_{u},Y_{v}|Y_{O})=P(Y_{u}|Y_{O})P(Y_{v}|Y_{O})

局部马尔可夫性

设无向图 G 的任一节点 vW 是与 v 有边相连的所有节点,OvW 外的其他所有节点,局部马尔可夫性指:给定 Y_{W} 的条件下,Y_{v}Y_{O} 条件独立

image

P(Y_{v},Y_{O}|Y_{W})=P(Y_{v}|Y_{W})P(Y_{O}|Y_{W})

P(Y_{O}|Y_{W})>0 时,等价于

P(Y_{v}|Y_{W})=P(Y_{v}|Y_{W},Y_{O})

如果把等式两边的条件里的 Y_{W} 遮住,P(Y_{v})=P(Y_{v}|Y_{O}) 这个式子表示 Y_{v}Y_{O} 独立,进而可以理解这个等式为给定条件 YW 下的独立。

全局马尔可夫性

设节点集合 AB 是在无向图 G 中被节点集合 C 分开的任意节点集合,全局马尔可夫性指:给定 Y_{C} 的条件下,Y_{A}Y_{B} 条件独立

image

P(Y_{A},Y_{B}|Y_{C})=P(Y_{A}|Y_{C})P(Y_{B}|Y_{C})

成对、局部或全局马尔科夫性,大白话就是说每一个节点的分布只和有边相连的节点有关系。

image

不同于有向图模型,无向图模型的无向性很难确保每个节点在给定它的邻节点的条件下的条件概率和以图中其他节点为条件的条件概率一致。由于这个原因,无向图模型的联合概率并不是用条件概率参数化表示的,而是定义为由一组条件独立的局部函数的乘积形式。因子分解就是说将无向图所描述的联合概率分布表达为若干个子联合概率的乘积,从而便于模型的学习和计算。

image

P(Y)=\frac{1}{Z(x)} \prod_{c}\psi_{c}(Y_{c} )

其中 Z(x) = \sum_{Y} \prod_{c}\psi_{c}(Y_{c} ), 归一化是为了让结果算作概率。

所以像上面的无向图:

P(Y)=\frac{1}{Z(x)} ( \psi_{1}(X_{1}, X_{3}, X_{4} ) · \psi_{2}(X_{2}, X_{3}, X_{4} ) )

其中, \psi_{c}(Y_{c} ) 是一个最大团 C 上随机变量们的联合概率,一般取指数函数的:

\psi_{c}(Y_{c} ) = e^{-E(Y_{c})} =e^{\sum_{k}\lambda_{k}f_{k}(c,y|c,x)}

团:无向图G中任何两个结点均有边连接的节点子集成为团。
最大团:若C是无向图G的一个团,并且不能再加进任何一个G的节点使其成为一个更大的团,则称此C为最大团。

那么概率无向图的联合概率分布可以在因子分解下表示为:

P(Y)=\frac{1}{Z(x)} \prod_{c}\psi_{c}(Y_{c} ) = \frac{1}{Z(x)} \prod_{c} e^{\sum_{k}\lambda_{k}f_{k}(c,y|c,x)} = \frac{1}{Z(x)} e^{\sum_{c}\sum_{k}\lambda_{k}f_{k}(y_{i},y_{i-1},x,i)}

名词解释

马尔可夫链

举个栗子,一只被切除了大脑的白鼠被随机丢进如下洞穴, 小白鼠在洞穴间随机蹿动

image

窜动的路线就构成一个马尔科夫链。因为这只白鼠已没有了记忆,瞬间产生的念头决定了它从一个洞穴蹿到另一个洞穴;当其所在位置确定时,它下一步蹿往何处与它以往经过的路径无关。

image

这种在已知“现在”的条件下,“未来”与“过去”彼此独立的特性就被称为马尔科夫性,具有这种性质的随机过程就叫做马尔科夫过程,其最原始的模型就是马尔科夫链。

隐马尔可夫模型(HMM)

假设观察者距离洞穴很远, 看不见老鼠窜动的轨迹, 但是每个洞穴中都装有不同颜色的灯, 当老鼠进入到该洞穴时会触发开关将灯点亮, 观察者可以看清被点亮的灯的颜色

image

假设老鼠窜动的轨迹如下

image

那么观察者看到的灯亮的顺序则为

image

一个隐马尔可夫模型则可以如下表示

image

小白鼠在洞穴(状态)之间的转移存在转移概率, 可由矩阵表示:

A= \left\{ \begin{matrix} & A & B & C & D & E & F & G & H & I \\ A & 0.2 & 0.4 & 0.4 & 0 & 0 & 0 & 0 & 0 & 0 \\ B & 0.3 & 0.1 & 0.3 & 0 & 0.3 & 0 & 0 & 0 & 0 \\ C & 0 & 0.3 & 0.4 & 0 & 0 & 0.3 & 0 & 0 & 0 \\ D & 0.33 & 0 & 0 & 0 & 0.33 & 0 & 0.33 & 0 & 0 \\ E & 0 & 0.2 & 0 & 0.2 & 0.2 & 0.2 & 0 & 0.2 & 0 \\ F & 0 & 0 & 0.33 & 0 & 0.33 & 0 & 0 & 0 & 0.33 \\ G & 0 & 0 & 0 & 0.5 & 0 & 0 & 0 & 0.5 & 0 \\ H & 0 & 0 & 0 & 0 & 0.33 & 0 & 0.33 & 0 & 0.33 \\ I & 0 & 0 & 0 & 0 & 0 & 0.33 & 0 & 0.33 & 0.33 \end{matrix} \right\}
这个矩阵称为状态转移概率分布矩阵, 如小白鼠从房间F窜到房间C的概率为0.33

假如实验中开关发生故障, 每次进入洞穴后点亮的灯的颜色不再确定, 而是每种颜色的灯亮存在概率, 如下矩阵:

B= \left\{ \begin{matrix} & 红 & 绿 & 蓝 \\ A & 0.7 & 0.2 & 0.1 \\ B & 0.15 & 0.7 & 0.15 \\ C & 0 & 0.2 & 0.8 \\ D & 0 & 1 & 0 \\ E & 0.7 & 0.2 & 0.1 \\ F & 0.15 & 0.7 & 0.15 \\ G & 0.8 & 0.1 & 0.1 \\ H & 0.6 & 0.3 & 0.1 \\ I & 0.2 & 0.2 & 0.6 \end{matrix} \right\}

这个矩阵称为观测状态概率矩阵, 如小白鼠进到F洞穴, 红灯亮的概率为0.15, 绿灯亮的概率为0.7, 蓝灯亮的概率为0.15

小白鼠最初被随机丢进每个洞穴的初始概率为π=(0.1, 0.1, 0.1, 0.2, 0, 0.12, 0.3, 0.08, 0)

隐马尔科夫模型由初始状态概率向量π、状态转移概率矩阵A和观测概率矩阵B决定。πA决定状态序列,B决定观测序列。因此,隐马尔科夫模型λ可以由三元符号表示,即:λ=(A,B,π)A,B,π称为隐马尔科夫模型的三要素。

隐马尔可夫模型属于有向图模型, 需要计算的概率是“观测序列(输入)和状态序列(输出)的联合概率”,即P(状态序列, 观测序列), 然后再根据贝叶斯公式求解出P(状态序列|观测序列), 构建它们的联合概率分布P(Y,X)的模型属于生成式模型

条件随机场(CRF)

显然在现实生活当中, 一个状态的发生很可能不仅仅依赖于前一个状态, 而是依赖于前后多个状态。 拿词性标注来说, 判断一个词是否为动词, 我们可能需要考虑这个词的前一个词(上一个状态)是否为形容词, 这个词后边(下一个状态)是否为名词, 这个词(本身)是否以ing或者ly结尾等等。像这种场景我们便可以用条件随机场来解决

此前我们介绍了马尔科夫随机场(MRF), 如果给定的MRF中每个随机变量y_{i}下面还有观察值x_{i},那么我们的目标就是要确定给定观察集合X下的MRF分布,也就是条件分布,而这种条件分布就是条件随机场。

简单的说,条件随机场(CRF)类似于MRF,只不过CRF比MRF多了一个观察集合,或者说,CRF本质上就是给定了观察值集合的MRF。

这里介绍的CRF指线性链条件随机场, 即观测序列X与状态序列Y有相同的图结构如下:

image
image

定义

X=(X_{1},X_{2},...,X_{n}), Y=(Y_{1},Y_{2},...,Y_{n}) 均为线性链表示的随机变量序列,在给定随机变量序列 X 的情况下,随机变量 Y 的条件概率分布 P(Y|X) 构成条件随机场,即满足马尔科性:

P(Yi|X,Y_{1},...,Y_{i−1},Y_{i+1},...,Y_{n})=P(Y_{i}|X,Y_{i−1},Y_{i+1}), i=1,...,n

线性链条件随机场的特征函数

P(Y=y|x)=\frac{1}{Z(x)}\exp\biggl(\sum_k\lambda_k\sum_it_k(y_{i-1},y_i,x,i)+\sum_l\mu_l\sum_is_l(y_i,x,i)\biggr)

Z(x)=\sum_y\exp\biggl(\sum_k\lambda_k\sum_it_k(y_{i-1},y_i,x,i)+\sum_l\mu_l\sum_is_l(y_i,x,i)\biggr)

Z(x) 作为规范化因子,是对 y 的所有可能取值求和。

其中:
t_k(y_{i-1},y_i,x,i): 是定义在边上的转移特征函数(transition),依赖于当前位置 i 和前一位置 i-1 ;对应的权值为 λ_{k}
s_l(y_i,x,i): 是定义在节点上的状态特征函数(state),依赖于当前位置 i ;对应的权值为 μ_{l}

一般来说,特征函数的取值为 1 或 0 ,当满足规定好的特征条件时取值为 1 ,否则为 0 。

词性标注例子

image
  • 如果 y_{i−1}=形容词, 且 y_{i}=名词, 则转移特征函数 t(y_{i-1},y_i,x,i)=1, 否则为 0。如果该特征函数有一个较大的正权重\lambda_k,就表明倾向于认为形容词后面跟着名词。

  • 如果 y_{i−1}=介词, 且 y_{i}=介词, 则转移特征函数 t(y_{i-1},y_i,x,i)=1, 否则为 0。如果该特征函数有一个较大的负权重\lambda_k,就表明倾向于认为介词后面不会再跟介词。

  • 如果 y_{i}=副词x_{i} 以“-ly”结尾, 则状态特征函数 s(y_i,x,i)=1, 否则为0。如果该特征函数有一个较大的正权重,就表明倾向于将 “-ly” 结尾的单词标注为副词。

  • 如果 i=1 y_{i}=动词x 以“?”结尾, 则状态特征函数 s(y_i,x,i)=1, 否则为0。如果该特征函数有一个较大的正权重,就表明倾向于将问句的首词标注为动词。如“Is it right?”

HMM, CRF, LSTM之间的联系与区别

首先要说明的是HMM, CRF, LSTM都可以用来做分词任务。用一个分词的例子来说明, 假如有一句待分词文本, 内容是:

已结婚的和尚未结婚的青年都要实行计划生育

采用 \{B M E S\} 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做实体标注的示例图)


image

如果我们用 HMM 的话, 它解决问题的步骤是这样的, 计算每种情况的概率, 如

P_{1}=P(S转移到B)*P(“已”表现为S)* P(B转移到E)*P(“结”表现为B)* …*P()
P_{2}=...

然后取概率最大的一组作为最后的分词结果。因为HMM的条件独立假设, 使其不能充分考虑上下文信息

最后是 CRF , CRF 也是求每种情况的概率, 但是其概率求解的形式为:

P= F(y_{i-1}转移到y_{i}, y_{i-1}表现为x_{i})

F为一个函数,是在全局范围统计归一化的概率

最后放一张关系图


image

朴素贝叶斯:生成式模型,条件独立 —> 序列形式 隐马尔科夫模型 —> 图形式 通用有向图模型
逻辑回归:判别式模型,条件不独立 —> 序列形式 线性链条件随机场 —> 图形式 通用条件随机场


参考链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容