![8631c9c9dc1a5985f40277ed70c86132.png](https://i-blog.csdnimg.cn/blog_migrate/4d91ecf7dcafb704f6cf6293e5862f2a.png)
在自然语言处理中,概率图模型极为重要,在中文分词、词性标注、命名实体识别等诸多场景中有着广泛的应用。概率图模型(Graphical Model)分为贝叶斯网络(Bayesian Network)和马尔科夫网络(Markov Network),其中贝叶斯网络可以用一个有向图结构表示,马尔科夫网络可以用无向图结构;进一步概率图模型包含朴素贝叶斯模型、最大熵模型、隐马尔可夫模型、条件随机场、主题模型等。此外,概率图模型常常会涉及表示、推断、参数学习三大问题。
![7888842205346f95762fffcf4cdb3aa3.png](https://i-blog.csdnimg.cn/blog_migrate/b75ef40893c9f71bae22018e8a3bafcf.jpeg)
概率图模型涉及很多方面,本文仅仅介绍两个重要模型HMM和CRF,将有关的概率图串起来。本文不仔细介绍有关底层知识,仅是一篇汇总+总结文。
1、HMM VS NB,GMM
本小节从朴素贝叶斯模型(NB)和高斯混合模型(GMM)引出隐马尔可夫模型(HMM)。
1.1 朴素贝叶斯模型(NB)
NB的目标函数是后验概率最大化,其等价于0-1损失最小。NB是贝叶斯网络中最为简单的一个模型,贝叶斯网络中应熟悉概率因子分解和条件独立性判断(head to tail,tail to tail,head to head),而NB正是应用了tail to tail的条件独立性假设。
![828dc2e980a3403546ebeb1f63b70ab4.png](https://i-blog.csdnimg.cn/blog_migrate/f25825f3663649c3465629639b2a0b4f.png)
最大后验概率:
![equation?tex=y%3Dmax+++P%28y_%7Bk%7D+%7C+x%29+%3Dmax++%5Cfrac%7BP%28x+%7Cy_%7Bk%7D%29P%28y_%7Bk%7D%29%7D%7BP%28x%29%7D](https://i-blog.csdnimg.cn/blog_migrate/c33e7a8ee73831c9b15c95cb5b316f20.png)
条件独立性假设:
![equation?tex=P%28x+%7C+y_%7Bk%7D%29%3D%5Cprod_%7Bi%3D1%7D%5E%7Bn%7DP%28x_%7Bi%7D+%7Cy_%7Bk%7D%29+](https://i-blog.csdnimg.cn/blog_migrate/08145b7a3be89b397ea75ef964bbc50f.png)
NB的参数学习意味着需要估计
![equation?tex=P%28x+%7Cy_%7Bk%7D%29](https://i-blog.csdnimg.cn/blog_migrate/6cfc00673db703fdd6c1f1882b944ea8.png)
![equation?tex=P%28y_%7Bk%7D%29](https://i-blog.csdnimg.cn/blog_migrate/1c46873d5532c5868f0d07070c0ab494.png)
1.2 高斯混合模型(GMM)
再引出GMM之前,首先换个角度理解NB:把NB看做单一模型,即观测变量
![equation?tex=x_%7Bi%7D](https://i-blog.csdnimg.cn/blog_migrate/388b1a41d582745822473b86f23fb79a.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=P%28x+%7Cy_%7Bk%7D%29](https://i-blog.csdnimg.cn/blog_migrate/6cfc00673db703fdd6c1f1882b944ea8.png)
而对于GMM,观测变量虽然
![equation?tex=x_%7Bi%7D](https://i-blog.csdnimg.cn/blog_migrate/388b1a41d582745822473b86f23fb79a.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=x_%7Bi%7D](https://i-blog.csdnimg.cn/blog_migrate/388b1a41d582745822473b86f23fb79a.png)
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![equation?tex=p%28x%29%3D%5Csum_%7Bk%7D%5E%7BK%7D%7Bp%28x%2Cy_%7Bk%7D%29%7D%3D%5Csum_%7Bk%7D%5E%7BK%7D%7Bp%28x%7Cy_%7Bk%7D%29p%28y_%7Bk%7D%29%7D](https://i-blog.csdnimg.cn/blog_migrate/edc3e81eb4105834aad2581c80f79afc.png)
GMM也是一种常见的聚类算法,使用EM算法进行迭代计算;GMM假设每个簇的分布服从高斯分布。
1.3 隐马尔可夫模型(HMM)
在引入HMM之前,我们分别介绍了NB和GMM,那么它们与HMM有何关联?
当NB中的
![equation?tex=y_%7Bk%7D](https://i-blog.csdnimg.cn/blog_migrate/a712628d86af50dccba66559306f4c3e.png)
![6cf7d06808fd6c5bca429f28ad6fb524.png](https://i-blog.csdnimg.cn/blog_migrate/403ac913e16a87dbf6894459a5ef1040.jpeg)
学习HMM的口诀是“1-2-3”:
(1)1个参数包含:
![equation?tex=%5Clambda%3D%EF%BD%9B%5Cpi%2CA%2CB%EF%BD%9D](https://i-blog.csdnimg.cn/blog_migrate/ba46f4f1121a870e35c84bbf3f94f2ff.png)
(2)2个假设:一阶马尔科夫假设+观测独立性假设;
(3)3个问题:概率计算问题(前向后向);参数学习问题(EM/MLE);预测问题(Viterbi);
2、CRF VS LR,ME
2.1 最大熵模型ME
![60a4635fc171a5b0e492bfb6b0524466.png](https://i-blog.csdnimg.cn/blog_migrate/1b506f5bff5bbfa00935a408af67a465.png)
最大熵模型由最大熵原理导出,最大熵原理是概率学习和估计的一个准则。最大熵原理认为在所有可能的概率模型的集合中,熵最大的模型是最好的模型。最大熵模型的学习等价于约束最优化问题:
![b3aa8c4a02a854537c4106e54c6efc4c.png](https://i-blog.csdnimg.cn/blog_migrate/8d765ccbdf2b794776f5c47a9bbb9869.jpeg)
求解之后可以得到最大熵模型的表达式为:
![f02643b790d87ef2d3ab6fb318bcc5e0.png](https://i-blog.csdnimg.cn/blog_migrate/e1c57181eafd3eebac38735ae82dc256.jpeg)
最大熵模型最终可以归结为学习最佳的参数w。
2.2 从最大熵模型ME看逻辑回归LR
如果将看作
![equation?tex=y](https://i-blog.csdnimg.cn/blog_migrate/56151f71c4866c0e204ce3d096379823.png)
![equation?tex=f%28x%2Cy%29%3D%7Bg%28x%29%2Cy%3Dy_%7B1%7D%3B0%2Cy%3Dy_%7B0%7D%7D](https://i-blog.csdnimg.cn/blog_migrate/1eeb672a5ea191a9907b3cc1d82732a1.png)
即可得到sigmoid函数:
![equation?tex=p%28y_%7B1%7D%7Cx%29%3D%5Cfrac%7B1%7D%7B1%2Bexp%28-w%2Ag%28x%29%29%7D](https://i-blog.csdnimg.cn/blog_migrate/8e32b2717fe317d22b8566760a5fcefe.png)
从上所述,可以看出LR是最大熵模型ME的一个特例。 LR和ME均属于对数线性模型。
2.3 从最大熵模型ME看CRF
![54408e98b0e6901820acba23b3fcf3af.png](https://i-blog.csdnimg.cn/blog_migrate/367bd14af0e414c3f72110c93d61a206.jpeg)
条件随机场CRF可以看作是最大熵模型ME在时间序列上的延伸。
3、HMM、MEMM vs CRF
本小节对HMM、MEMM和CRF进行对比。
1)HMM是有向图模型,是生成模型;HMM有两个假设:一阶马尔科夫假设和观测独立性假设;但对于序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。
2)MEMM(最大熵马尔科夫模型)是有向图模型,是判别模型;MEMM打破了HMM的观测独立性假设,MEMM考虑到相邻状态之间依赖关系,且考虑整个观察序列,因此MEMM的表达能力更强;但MEMM会带来标注偏置问题:由于局部归一化问题,MEMM倾向于选择拥有更少转移的状态。这就是标记偏置问题。
![7d6eb0b963e9ee4bf7e23886d589c872.png](https://i-blog.csdnimg.cn/blog_migrate/41228d4639babded3004c5f2a5595280.jpeg)
3)CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设,当然,模型相应得也变复杂了。
HMM、MEMM和CRF的优缺点比较:
a)与HMM比较。CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样)
b)与MEMM比较。由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。
c)与ME比较。CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布.
首先,CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像分词、词性标注,以及命名实体标注
隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择
最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。
条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。