概率图模型

https://zhuanlan.zhihu.com/p/33397147
https://www.bilibili.com/video/av52273255/
概率图模型(probabilistic graphical model, PGM)指用图表示变量相关(依赖)关系的概率模型,主要分为两类:

  • 有向图模型或贝叶斯网(Bayesian network),使用有向图表示变量间的依赖关系;
  • 无向图模型或马尔可夫网(Markov network),使用无向图表示变量间相关关系。


监督学习的任务就是学习一个模型,对于给定的输入X,能预测出类别Y。所学习到的模型一般可表示为决策函数:
或者条件概率
监督学习的模型分为生成模型(generative model)与判别模型(discriminative model)生成模型学习联合概率分布,然后通过贝叶斯定理求解条件概率,而判别模型则是直接学习决策函数或条件概率。

HMM

HMM适用于以下情况:①问题是基于序列的,如时间序列、状态序列 ②问题有两类数据:一类是可观测到的,即观测序列;一类是不可观测到的,即隐藏转态序列。
HMM基于以下两个假设:齐次马尔科夫链假设:即任意时刻的隐藏状态只依赖于它前一个隐藏状态,即从时刻t到时刻t+1的状态转移概率 ,
观测独立性假设,即任意时刻的观察状态只仅仅依赖于当前时刻的隐藏状态,即观测状态在隐藏转态下生成的概率为

HMM属于生成模型的有向图PGM,通过联合概率建模:
其中,、分别表示状态序列与观测序列。HMM的解码问题为;定义在时刻t状态为s的所有单个路径中的概率最大值为,则有
\begin{aligned} \delta_{t+1}(s) & = \max P(s_1^{t}, o_1^{t+1}, s_{t+1}=s) \\ & = \max_{s'} P(s_1^{t-1}, o_1^{t}, s_t=s') P(s_{t+1}|s_t) P(o_{t+1}|s_{t+1}) \\ & = \max_{s'} [\delta_t(s') P(s|s')] P(o_{t+1}|s) \end{aligned}
此即为维特比算法递推式,可以看出HMM是通过联合概率来求解标注问题的。

HMM缺点:不适合处理大规模数据
HMM优点:有好的可解释性

MEMM
最大熵隐含马尔科夫

CRF
条件随机场
条件随机场假设输出变量构成马尔科夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大似然估计或正则化的极大似然估计。


问:为什么Bi-LSTM+CRF效果好?
LSTM的优点是能够通过双向的设置学习到观测序列(输入的字)之间的依赖,在训练过程中,LSTM能够根据目标(比如识别实体)自动提取观测序列的特征,但是缺点是无法学习到状态序列(输出的标注)之间的关系,要知道,在命名实体识别任务中,标注之间是有一定的关系的,比如B类标注(表示某实体的开头)后面不会再接一个B类标注,所以LSTM在解决NER这类序列标注任务时,虽然可以省去很繁杂的特征工程,但是也存在无法学习到标注上下文的缺点。相反,CRF的优点就是能对隐含状态建模。所以一般的做法是,在LSTM后面再加一层CRF,以获得两者的优点。
CRF其实是在LSTM已经学习到发射概率矩阵的基础上学习一个转移概率矩阵
lstm在序列标注的问题,落实到题主说的ner,也就是一个seq2seq,在英文中,可以是对每一个input的单词,对例如bieo的四个标签进行预测,假设当前输出的事100个words,那个输出的就是100*4的一个概率预测,这应该就是答主的疑惑,我们直接用一个分类器,四个里面选一个就好了,为什么要再接crf呢?那么,我们首先考虑我们使用lstm的初衷,就是为了考虑上下文来分析当前的tag标注,其实crf也是接近的原理,crf意会一点的描述其实有点像一张概率图,在single crf中,你需要做的是尽可能的对每个对象挖掘多的特征,然后学习他们之间的一种“衔接”关系,在lstm后面加上crf,相当于对lstm抽象过的一种语言关系来进行crf训练


问:CRF与HMM的异同
CRF与HMM都是概率图模型,HMM是生成模型,需要求得的是联合概率分布,即上帝视角,是基于统计得到发射矩阵和转移矩阵。CRF属于判别式模型,不需要这些上帝信息,CRF的学习参数是特征函数的权重w


问:CRF与MEMM的异同
1、首先二者都是概率图模型
2、MEMM求解是局部最优,CRF求解是全局最优
3、由于MEMM求解是局部最优,故存在标签偏置现象(label bias)
CRF不仅解决了HMM输出独立性假设的问题,还解决了MEMM的标注偏置问题,MEMM容易陷入局部最优是因为只在局部做归一化,而CRF统计了全局概率,在做归一化时考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置的问题。使得序列标注的解码变得最优解。

参考:https://zhuanlan.zhihu.com/p/33397147

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