![4595c1dbad97ab83b019c2d5cf2d25ce.png](https://i-blog.csdnimg.cn/blog_migrate/f580638cdc39cc574ed88fabbc5d52d5.jpeg)
概率图模型
- 1 图理论
- 1.1 有向图
- 1.2 无向图
- 2 序列标注问题
- 3 隐马尔可夫模型(HMM)
- 3.1 HMM模型定义
- 3.2 HMM模型假设
- 3.3 模型运行
- 3.4 补充内容
- 4 最大熵马尔可夫模型(MEMM)
- 4.1 MEMM模型定义
- 4.2 模型运行
- 4.3 标注偏置
- 5 条件随机场(CRF)
- 5.1 CRF模型定义
- 5.2 模型运行
在该部分概率图模型中,只关注序列标注问题相关的概率图模型,即隐马尔可夫模型(HMM)、最大熵模型(MEMM)、条件随机场(CRF)三部分,以及涉及到的相关知识点。
(水平有限,有些地方可能没理解到位,欢迎各位留言交流)
1 图理论
有向图又称为贝叶斯网络,其对应的序列标注模型为隐马尔可夫模型;无向图又称马尔可夫网络,其对应的是条件随机场。将图与概率结合就是我们所要了解的概率图模型,任务就是求变量的联合概率
1.1 有向图
![8fd8f7238ada991071aa11331e868d17.png](https://i-blog.csdnimg.cn/blog_migrate/fdb5d7ce4281bac1d75104b1c22244e1.png)
对于上述有向图,联合概率表示为:
可知,有向图尖头表示为变量的依赖关系,比如上述
1.2 无向图
![0db73e097614907fae6b7ae271c80b61.png](https://i-blog.csdnimg.cn/blog_migrate/08908a7455386a6f980a93098d73f9e5.png)
无向图中,各个变量之间是相互依赖的,因此很难直接将图中变量的联合概率表示成多个变量的概率之积。但无向图也存在着特有的性质,根据其性质可对其进行因子分解
1.2.1 马尔可夫性
- 成对性
![2bb58c2990c6d469e100018a5d9994b0.png](https://i-blog.csdnimg.cn/blog_migrate/d8919d12b6f4abaeafb741d40aed501d.jpeg)
如图所示,无向图中,任意两个没有边连接的节点
- 局部性
![fda9b1b64325bb7b900ea1f34d2bd82c.png](https://i-blog.csdnimg.cn/blog_migrate/0b94a9b1bd6b2f7fa66eac759fb17d5c.jpeg)
如图所示,无向图中任一节点
- 全局性
![d8266fe9c44b191edd6ca5e6ca32d41a.png](https://i-blog.csdnimg.cn/blog_migrate/d56b5c870960675c2ef44cf7645231e5.png)
如图所示,A、B是在无向图中被节点集C分开的任意节点集合,则全局性表示为:给定
对于上述三个马尔可夫性质,其实可以描述成单个性质,即成对性和局部性也都是特殊的全局性,其指的是:两个不相连的节点集A、B,存在共同连接的第三个节点集合C,那么,在第三个集合C的条件下,这两个节点集A、B是相互独立的。
1.2.2 因子分解
如果一个图太大,可以用因子分解将联合概率写成若干个联合概率的乘积,这若干个就是指图的最大团。
团与最大团
定义:无向图中任何两个节点均有边连接的节点子集称为团。若该团不能再加进任何一个节点构成更大的团是,则成该团为最大团
![0db73e097614907fae6b7ae271c80b61.png](https://i-blog.csdnimg.cn/blog_migrate/08908a7455386a6f980a93098d73f9e5.png)
图中{
因子分解
其中
表示为特征函数的加权求和。
2 序列标注问题
在这里只考虑线性序列标注,且序列元素与标注元素是一一对应的,就是说对于一个一维线性的输入序列
给线性序列中的每个元素打上标签集合中的某个标签
3 隐马尔可夫模型(HMM)
![f21c8d6a32f49fae3c4293c77d1f347b.png](https://i-blog.csdnimg.cn/blog_migrate/1c234e4852405fa648a563cf844ba109.png)
HMM利用有向图来描绘上述的序列标注问题,将输入看成是已知的数据,是可以观察到的,称为观测变量;待标注的标签需要预测,是无法观察到的,称为状态变量,而观测变量出现的顺序其实是由状态变量决定的。比如,词性标注问题中,观测变量是“单词”,待标注的状态变量是“词性”,而句子的构成过程是由词性决定单词的。
3.1 HMM模型定义
上图中,
- (1)从状态
出发,由
产生
;
- (2)状态
转移到状态
;
- (3)
- (4)重复上述(1)(2)(3)步骤,知道观测序列
全部产生
那么如何定义这一序列生成的过程呢?即有如下几个问题需要面对:
- (1)状态变量有多少种情况?(隐藏状态集
)
- (2)观测变量有多少种情况?(观测集
)
- (3)最开始的状态是什么?(初始概率状态
)
- (4)由一个状态如何生成一个观测结果?(观测概率矩阵
)
- (5)由一个状态如何转移到下一个状态?(状态转移概率矩阵
)
即,上述五个问题中,隐状态集N和观测集合M对于具体的问题通常都是给定的,比如词性标注问题,词性是有限的比如名次、形容词、动词等,单词也是有限的单词列表那些。因此,用HMM描述上述序列问题就需要确定表示模型的3个元素
3.2 HMM模型假设
根据上述模型的定义,其实做了较强的假设:
- (1)齐次马尔可夫假设,即时刻
时的状态,只依赖于前一时刻
的状态,与其他时刻无关;
- (2)观测独立假设,即任意时刻的观测只依赖于该时刻的状态,与其他观测和状态无关。
3.3 模型运行
3.3.1 最优模型
根据极大似然思想,最优的模型对应着已知样本概率最大的模型。对于N个训练样本,每个样本
其中
3.3.2 模型求解
已知隐藏状态序列
直接对训练数据进行极大似然估计,具体过程略,结论如下:
- 假设样本从隐藏状态
转移到
的频率计数是
,那么状态转移矩阵求得为:
- 假设样本隐藏状态为
且观测状态为
的频率计数是
,那么观测状态概率矩阵为:
- 假设所有样本中初始隐藏状态为
的频率计数为
,那么初始概率分布为:
未知隐藏状态序列
由于参数中涉及到未知的隐藏状态序列,无法直接利用极大似然估计求解参数
- 根据先验经验给出初始的参数
,随机初始化也行;
- 对每个样本,计算不同隐藏状态序列的概率:
- 经过第2步,可得到每个样本隐藏状态序列的分布和观测序列,直接对参数进行极大似然估计,更新参数
- 重复上述2-3步,迭代
,直到达到停止条件。
3.3.3 HMM三大问题
- 概率计算问题
在模型求解的步骤2中,需要计算观测序列在参数
的概率,即为概率计算问题。此过程通过**前向算法(后向算法)**求解。
- 学习问题
在模型求解的步骤2-3中,目的是根据样本观测序列,估计模型的参数
。此过程通过以EM算法为基础的
- 对于训练好的模型
和观测序列
,结合前面的序列标注问题,需要预测隐藏的状态序列。该过程通过计算每个状态序列的概率,选取概率最大的状态序列作为预测结果,求解方法为
3.4 补充内容
HMM常被用来作为序列标注问题的解决方法,但实际上也同样可以作为序列分类的解决方法。比如,语音识别里面,不同人的语言习惯不一样,观测序列也是有差距的。有两组序列数据集,分别来自不同的人。现在可以分别对这两组序列数据进行HMM建模,训练得到模型后。对于新的序列数据,分别用两个模型计算该序列的概率(概率计算问题),将该序列归属为概率较大的类别,即达到了分类的目的。
4 最大熵马尔可夫模型(MEMM)
前面利用HMM解决序列标注问题,有如下假设:观测变量依赖于当前的状态变量(观测独立性假设),然而该假设并不是合理的。比如词性标注问题中,当前的单词不仅仅与当前位置的词性相关,也与前后的词性相关。MEMM模型放弃了该假设,使得
4.1 MEMM模型定义
序列问题是根据给定的
- (1)前一位置的状态变量
;
- (2)全部的观测变量
。
则每个位置
则对所有位置的
此时MEMM模型表示如下图所示
![cf3c52acf185ee8b5df30153c3c4609c.png](https://i-blog.csdnimg.cn/blog_migrate/f8e7ad2d0c7ab25e6ec2c393605ecc79.png)
4.1.1 特征函数
那么如何定义
此时,
4.1.2 概率描述
对于每一个位置的状态变量,由上面可知,其由上一状态变量和全部的观测变量决定。每个决定因素的影响大小不同,给每个特征赋予权重。现假设定义了**
其中
即
而对于整个序列,其状态变量的联合概率即为单个位置状态变量概率的乘积
4.2 模型运行
通过定义特征函数,现在模型表示的参数为特征的权重
4.2.1 模型求解
对于已知的N个训练数据,可以得到经验概率分布
针对上述对数似然函数
4.2.2 序列标注过程
根据学习好的模型,在新的观测序列
4.3 标注偏置
4.3.1 现象
比如,有如下的概率分布,只考虑两个状态(state1,state2)的转移概率
![984ae29ec87d3c0f4c98ee7b20fffb28.png](https://i-blog.csdnimg.cn/blog_migrate/7faa72f9b772a4e1acb6f1c491ee1634.jpeg)
Observation1下,state1到state1,state2的转移概率分别为0.4,0.6;state2到state1,state2的转移概率分别为0.2,0.2;
Observation2下,state1到state1,state2的转移概率分别为0.45,0.55;state2到state1,state2的转移概率分别为0.2,0.3;
Observation3下,state1到state1,state2的转移概率分别为0.5,0.5;state2到state1,state2的转移概率分别为0.1,0.3;
可以看出来,state1更倾向于转移到state2,state2也还是更倾向于转移到state2。
而根据viterbi算法的求解过程如下:
- P(1-> 1-> 1-> 1)= 0.4 x 0.45 x 0.5 = 0.09
- P(2->2->2->2)= 0.2 X 0.3 X 0.3 = 0.018
- P(1->2->1->2)= 0.6 X 0.2 X 0.5 = 0.06
- P(1->1->2->2)= 0.4 X 0.55 X 0.3 = 0.066
得到的最优的状态转换路径是1->1->1->1,为什么呢?因为state2可以转换的状态比state1要多,从而使转移概率降低,即MEMM倾向于选择拥有更少转移的状态。
4.4.2 原因
MEMM的模型表示为
此部分涉及到归一化的过程,即对每个位置的状态变量,进行归一化,然后再对
5 条件随机场(CRF)
5.1 CRF模型定义
CRF通过用无向图描述上述所讲的序列标注问题,其中
5.1.1 线性链条件随机场
设
对任意节点
其中
![03e37bd5a17a9c03175df6052afc604f.png](https://i-blog.csdnimg.cn/blog_migrate/17c5d54368d88662cd72eb3e39454807.png)
则对于序列标注问题,观测变量为
其中,当
5.1.2 特征函数
特征函数定义的过程见MEMM模型的4.1.1部分。
5.1.3 概率描述
定义好一组特征函数后,我们要给每个特征函数
上式中,内层的求和是对
再对上述的score进行指数化和归一化,可得
其中,
表示所有可能情况(T个位置,每个位置都有多种状态)的加总。
备注:上述过程利用到了无向图的因子分解,注意这里的特征函数为
与上述过程一致。
5.1.4 MEMM与CRF对比
MEMM概率描述的过程如下:
- 求每个位置下的特征函数分数
- 对每个位置分数进行归一化转概率(局部归一化)
- 再将多个位置的概率求积(其次马尔可夫假设)
CRF概率描述的过程如下:
- 求每个位置下的特征函数分数,并加总所有特征函数的分数
- 加总所有位置的分数作为序列分数
- 对整个序列的分数归一化转概率(全局归一化)
综上,CRF将整个序列的分数加总作为一个整体分数,抛弃了齐次马尔可夫假设,条件更松弛。且对局部归一化进行优化,采取了全局归一化,信息利用更充分。
5.2 模型运行
5.2.1 模型求解
对于已知的N个训练数据,可以得到经验概率分布
针对上述对数似然函数
5.2.2 序列标注过程
根据学习好的模型,在新的观测序列