hmm
什么是隐马尔可夫模型?是生成式模型,表示状态序列和观察序列的联合分布P(S,O),可以描述隐藏的马尔科夫链生成观测序列的过程,是关于时序的概率模型。O是观察状态序列,S是隐藏状态序列。
P(S,O)的推导:
这个式子是对HMM三个问题中,求序列概率的表达,给出了计算P(S,O)的公式,由前向/后向算法解决。
HMM序列标注问题中P(S|O)推导:
即表达了HMM中已知观察序列求解最优隐藏状态序列:argmaxP(S|O),由viterbi求得全局最优。
从以上两个式子中,可以看出,需要得到P(si|si-1)(转移概率)、P(oi|si)(发射概率)和P(s0)(初始隐藏状态概率),这就抛出了HMM第三个问题:估计这些HMM设计的参数值,通常监督下基于极大似然估计。
HMM的实现:HMM原理简单,但实现的时候有许多细节需要考虑,包括转移概率的平滑(拉普拉斯、删除差值等)、未登录词处理(+1等),还包括发射概率的平滑(很少见提到发射概率平滑的论文,可能我个人认识有什么误区)。
https://github.com/doubleEN/postagging
HMM的增量式学习:统计词频计算概率,HMM支持增量学习很直观。
二阶隐马的viterbi过程:
假设隐藏状态有两种A,B,则二阶隐马的隐藏状态转移过程如上,相比一阶,二阶的转移在一个更小的局部选择最优。即t+1时的AA在t时的BA、AA上选择最优。
注意在二阶时,依然遵循观察独立假设,即P(Oi|Si),也有的是P(Oi|Si-1,Si),后者易造成稀疏。
关于删除差值平滑转移概率:
式子右边的P都是在训练集上求得的,而系数是在留存数据中得到的,系数的产出方式:
参考:
《自然语言处理综述》
《统计自然语言处理》宗成庆
《speech and language processing》
《统计学习方法》
hankcs博客
相关阅读
这几天在学习HMM模型之训练算法,前向后向算法(又称Baum-Welch)。现将一些没有消化的内容记下来,后面再仔细研究。HMM训练描述为:给定HM