李宏毅机器学习:HMM/CRF

1. 隐马尔可夫(HMM)

1.1 词性标注(part-of-speech tagging,POS tagging)

李老师的课程由词性标注问题引出隐马尔可夫模型。
词性标注指的是在一串的字词中标注每一个所属的词性,是输入是序列,输出也是序列的结构化学习问题。
这里就有一个问题,同样的单词可能有不同的词性。
比如在下面的例子中,第一个“saw”是动词,第二个“saw”是名词
在这里插入图片描述

1.2 隐马尔可夫模型(Hidden Markov Model,HMM)

利用隐马尔可夫模型完成词性标注有两步:
第一步是基于语法生成一个合法的词性序列(generate a POS sequence based on the grammar)
就是用一个普通的马尔可夫链表示一个句子中相邻词的词性转移关系。
在这里插入图片描述
第二步是在第一步生成的词性序列的基础上,基于字典生成一个句子序列。(gengerate a sentence based on the POS sequence;based on a dictionary)
在这里插入图片描述
在这里插入图片描述
将其一般化,可将第一步的概率称为转移概率(transition probability),第二步的概率称为输出概率(emission probability)。
在这里插入图片描述
根据训练数据可以计算这两个概率
在这里插入图片描述
具体计算方法:
使用条件概率公式
count(s)为s出现的次数
count( s → s ′ s \rightarrow s' ss)为词性序列中,词性s后接词性 s ′ s' s的次数。
count( s → t s \rightarrow t st)为word t被标记为词性s的次数。
在这里插入图片描述
问题是,关于词性的信息我们并不知道。
在这里插入图片描述
如果遍历所有情况找联合概率最大值,其时间复杂度较高。
在这里插入图片描述
假设每个单词有三种词性,路径就有27条。

这个问题可以使用维特比算法解决。
在这里插入图片描述
现在回到HMM的三个基本问题。

具体推导参见 李航:《统计学习方法》
推导注解:一站式解决:隐马尔可夫模型(HMM)全过程推导及实现

词性标注任务中的学习与问题2略有区别,因为训练数据中不仅有句子序列,也有对词做的词性标注,不需要使用EM算法。

在这里插入图片描述
假定我们已经训练好了一个隐马尔可夫模型了(训练好的意思,也就是单词到词性的发射概率,词性与词性的转移概率都已经在训练数据中学习得到了)。现在对一个新的句子序列进行词性标注,就是要解决问题3。

最后老师谈到了HMM的缺点:会“脑补”
什么意思呢?
假设现在有9条 N → V → c N \rightarrow V \rightarrow c NVc的数据,9条 P → V → a P \rightarrow V \rightarrow a PVa的数据以及1条 N → D → a N \rightarrow D \rightarrow a NDa的数据。现在计算上一个词性为N, 下一个输出词为a的概率。
P(a|V)P(V|N) = 1/2 x 9/10 = 9/20
P(a|D)P(D|N) = 1 x 1/10 = 1/10
尽管数据中已经有 N → D → a N \rightarrow D \rightarrow a NDa,但HMM会认为从没出现的 N → V → a N \rightarrow V \rightarrow a NVa概率更大。
在这里插入图片描述

2. 条件随机场(CRF)

2.1 基本问题引入

还是用x代表词,y代表词性。
在这里插入图片描述
对HMM中的联合概率表达式取对数。
在这里插入图片描述
( x , y ) (x,y) (x,y)是训练集中一个标注好词性的词序列。
其中 ∑ l = 1 L l o g P ( x l ∣ y l ) \sum_{l=1}^LlogP(x_l|y_l) l=1LlogP(xlyl)可以表示为下式:
在这里插入图片描述
具体举例说明,很容易理解,就是给定词性求输出词项的条件概率连乘的次数取对数的结果。
在这里插入图片描述
同理,对联合概率式子中其余的部分也做相同的操作。
在这里插入图片描述
l o g P ( x , y ) logP(x,y) logP(x,y)就可以写成两个向量的内积,故 P ( x , y ) = e x p ( w ⋅ ϕ ( x , y ) ) P(x,y) = exp(w\cdot\phi(x,y)) P(x,y)=exp(wϕ(x,y))
在这里插入图片描述
向量长度:词性tags数量 x 词项数(Part1) + 词性tags数量 x 词性tags数量 + 2 x 词性tags数量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CRF和HMM不同的地方,可以自己定义 ϕ ( x , y ) \phi(x,y) ϕ(x,y)

2.2 CRF的训练

MLE准则最大化后验概率,使用gradient ascent优化参数。
前文中已经给出了联合概率的定义,将后验概率转换为联合概率相减。
在这里插入图片描述
使用的是梯度上升更新参数。
在这里插入图片描述
注:
w s , s ′ = l o g P ( s ′ ∣ s ) w_{s,s'} = logP(s'|s) ws,s=logP(ss)

w s , t = l o g P ( t ∣ s ) w_{s,t} = logP(t|s) ws,t=logP(ts)
在这里插入图片描述
省略数学推导,推出导数表达式。
在这里插入图片描述
使用类似SGD的方式更新参数。
在这里插入图片描述
总结:
在这里插入图片描述

2.3 CRF和HMM对比

在这里插入图片描述
在HMM中,条件概率是根据训练数据计算得到的,而在CRF中, w s , t = l o g P ( t ∣ s ) w_{s,t} = logP(t|s) ws,t=logP(ts)是可以被调整优化的参数。
CRF在训练中,会增大符合训练数据的 P ( x , y ) P(x,y) P(x,y),减少没有实际出现的 P ( x , y ′ ) P(x,y') P(x,y)
之前在HMM中举到的例子,如果使用CRF,就可能得到不同的结果。

2.4 CRF训练时求偏导的过程

在这里插入图片描述
在这里插入图片描述

3.扩展

以前的网课中老师有讲到“结构化学习”的概念。
参考博客
在这里插入图片描述
可以把HMM/CRF与RNN,LSTM组合使用。
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值