机器学习(十二)~条件随机场(CRF)
杂记
终于把CRF这关过了,查了好多资料,网上很多资料都模棱两可,看了还是不明就里,建议小伙伴们最好的方法还是老老实实啃论文、啃书,权威又有逻辑,条理清晰,看不进去书的小伙伴们,这篇博客希望可以让大家对CRF有个初步的认识,将知识串起来,体系化,希望对大家有帮助哇,如果有什么问题或者建议,欢迎留言评论,咱们一起讨论,共同进步
学了几天了一直摸不到门,终于晓得了好开心哈哈哈!
1. HMM要点
1.1 两个假设
(1) 齐次马尔可夫性假设
假设任意时刻的状态只依赖于前一时刻的状态,与其他时刻的状态无关,与时刻t无关
(2) 观测独立性假设
假设任意时刻的观测只依赖于该时刻的状态
1.2 三组参数
(1) 初始状态概率矩阵π
(2) 状态转移概率矩阵A
(3) 输出观测概率矩阵B
2. MEMM要点
最大熵马尔可夫模型(Maximum Entropy Markov Models, MEMM)
2.1 核心思想
MEMM与HMM的假设不同,HMM的齐次马尔可夫性假设认为,任意时刻的状态只依赖于前一时刻的状态,与其他时刻的状态无关;MEMM的当前概率不止依赖于前一时刻状态,还依赖于当前观测,对比如下:
2.2 存在问题
- 标注偏置问题:
状态转移分数是分别对每个状态的归一化, 这意味到达一个状态的所有质量必须在可能的后续状态之间分配(可能的转移状态越多,每种转移方式被分到的概率越小)。这会导致模型偏向输出选择较少的状态,因为可能的转移状态越少,被分到的概率越大,最后连乘出来的结果概率就越大
如图中所示,对于o1到o2的状态转移,由s1出发的路径概率分别为0.4和0.6,大于s2出发的5条路径概率0.2, 所以优先选择s1出发的路径
3. 条件随机场(CRF)
条件随机场在拥有MEMM的优点的同时, 克服了MEMM的缺点;同MEMM,CRF摒弃了HMM中的齐次马尔可夫性假设,使用一个指数模型来表示整个标签序列的联合概率, 这个概率条件依赖于给定的完整观测序列
4. Liner-Chain CRF公式与解析
Z(x):归一化因子,保证P构成一个概率分布
分子中第①部分:表示状态转移的特征函数
分子中第②部分:表示观测生成的特征函数
λ、μ:是对应特征函数的权重
上面这个公式相当于是假设label yt不仅仅与xt相关,还和xt-1、xt+1也有关。事实上我们可以认为每个yt都和所有的x1到xT有关
- 现实的应用中,RNN,BERT的出现可以将所有的x1到xT编码成向量h1到hT,然后针对每一个利用ht对每一个yt打分
5. CRF三大问题
类似HMM,CRF也有三大问题,对应如下,HMM是特定形式的CRF,也能转换成Transition score,Emission score,计算也是相通的(公式太难打了,大家可以去看书,有比较详细的公式推导)
- 概率计算问题
给定条件随机场P(Y|X),输入序列x和输出序列y,计算条件概率P(Yi=yi|x),P(Yi-1=yi-1,Yi=yi|x),以及相应数学期望
–前向-后向计算 - 参数学习与优化
从已经标注好的训练数据集学习条件随机场模型的参数,即各特征函数的权重向量λ
–改进的迭代尺度法
–拟牛顿法 - Decoding
在给定条件随机场模型参数λ下,预测出最可能的状态序列
–维特比
6. CRF应用
- 词性标注(POS Tagging)
- 命名实体识别(NER)