清晰易懂的条件随机场原理总结 | 您所在的位置:网站首页 › 机场特征结构总汇 › 清晰易懂的条件随机场原理总结 |
如果问机器学习初学者,《统计学习方法》中最难理解的章节是什么?我想大部分人的回答是条件随机场。小编前段时间看了很多条件随机场的学习资料,整理出了这篇文章,请大家耐心看,初学者应该也能看懂。 目录 1. 一例说明条件随机场是什么 2. 条件随机场的定义以及应用场景 3. 词性标注过程举例 3.1条件随机场的特征方程 3.2 特征方程与概率的转化 3.3 特征方程举例 4. 与逻辑斯蒂回归的相似点 5. 与隐马尔可夫模型的区别 6. 条件随机场的学习算法 7. 条件随机场的预测算法 8. 小结 1. 一例说明条件随机场是什么 假设你有贾斯丁·比伯一天生活的照片,你想要给每一张照片贴上一个标签,比如吃饭,舞蹈,睡觉,唱歌,驾驶等,该如何做?
一种方法是忽视照片的时间顺序特性,照片之间是相互独立的,训练数据有大量的照片和对应的标签,构建分类模型。比如训练数据包含近一个月的标签照片,你的分类模型可能会认为早上6点拍摄的黑色的照片是与睡眠相关的,有明亮色彩的照片往往与舞蹈相关,有汽车的照片与驾驶相关等等。
这种忽视时间顺序特性的方法会损失很多信息,比如,如果你看到一张嘴的特写照片,标签是唱歌还是吃饭?如果你考虑时间的顺序特性,假设前一张照片是吃饭或烹饪,那么这张照片的标签很可能是吃饭;若前一张照片是唱歌或舞蹈,那么这张照片的标签很可能是也唱歌。 因此,为了提高标签的准确性,我们应该考虑邻近照片的标签,这种方法就是条件随机场。 2.条件随机场的定义以及应用场景 条件随机场的应用场景是给定输入的随机变量 理解条件随机场的定义需要理解两个重要的知识点:(1)邻近,(2)马尔科夫随机场 1)如何理解“邻近”这一含义,请看如下的概率无向图模型: 变量 2)马尔科夫随机场的本质是概率无向图,之所以叫马尔科夫随机场的原因是随机变量间满足成对马尔科夫性、局部马尔科夫性和全局马尔科夫性,马尔科夫性是关于条件独立的一种方法。 成对马尔科夫性: u和v是无向图G中任意两个没有边连接的结点,对应的随机变量为 如上图, 局部马尔科夫性:假设v是无向图G中任意一个结点,W是与v“邻近”的所有结点,O是v与W以外的所有结点。v表示的随机变量是 如上图, 全局马尔科夫性:结点集合A,B,C是无向图G中任意的结点集合,且各集合无交集,对应的随机变量组是 如下图: 全局马尔科夫性是给定随机变量组 结合这两个知识点,我们给出条件随机过程的定义:给定随机变量组X,随机变量组Y符合马尔科夫随机场,则称条件概率分布 由马尔科夫随机场的局部马尔科夫性质可得: 其中 更进一步的介绍,若结点 由马尔科夫随机场的局部马尔科夫性质可得: 小结:这节内容有点多,小小的总结一下,首先理解马尔科夫随机过程的两个概念:(1)邻近,(2)马尔科夫性质。然后条件随机场是给定随机变量组X的条件下,随机变量组Y构成一个马尔科夫随机场,最后我们用马尔科夫随机场的马尔科夫性质去推导条件概率分布 3.条件随机场举例——词性标注 本节我们通过词性标注(part-of-speech)来说明条件随机场的算法过程。 词性标注的目标是给一个句子(包含一系列单词和符号)加上词性标注如形容词(adjective),名词(noun),介词(preposition),动词(verb),副词(adverb),冠词(article)。
举个例子,“Bob drank coffee at Starbucks”,句子标注可能是“Bob(名词)drank(动词)coffee(名词)at(介词)Starbucks(名词)“
所以让我们构建一个条件随机场来标记句子的词性,与其他分类器一样,我们首先需要确定一组特征函数 3.1 条件随机场的特征函数 条件随机场的一组特征函数类似于先验概率,根据自己的先验知识定制一套规则,每个特征函数的输入有: 1)一个句子s 2)句子第i个位置的单词 3)当前单词的标签 4)前一个单词的标签 特征函数的输出是实数值。由特征函数的输入可知,句子单词的标签只和邻近的前一个标签相关,因此这是一种特殊的线性链条件随机场,常规的线性链条件随机场的标签和前后两个标签相关,若是更常规的条件随机场,那么标签和邻近的标签相关,邻近的含义可参考第2节的介绍。 3.2 特征函数与概率的转化 接下来,给每个特征函数分配一个权重(我将在后面讨论如何从训练数据学习权重),给定一个句子s,我们通过把句子中所有单词的特征加权求和,得到句子s的标签(l)分数。有: 上式第一个积分表示每个单词在所有特征函数的求和,共有m个特征函数;第二个积分表示对句子的每个单词求和,共有n个单词。 词性标注本质上是多分类,我们把每个标签序列的分数转化为概率进行分类,实现方法是对分数求指数后再进行归一化转化为概率,范围为0~1,即: 由上式可知,给定一个句子s,词性标注l的分数越高,则相应的条件概率也越大,选择条件概率最大的词性标注l为句子s的标注序列。 3.3 词性标注的特征函数举例 如何根据自己的先验知识去设置词性标注的特征函数呢?下面例举几个词性标注的特征函数: 当 当第一个单词是动词且这个句子以问号结尾时,我们就让特征函数 当 当 这些特征函数的设置符合我们对语句的先验常识,若特征函数与权重的乘积能够增加 小结:为了构建条件随机场,你只需要定义一串特征函数(特征函数的输入为整个句子,当前字段以及相近的词性标注),分配特征函数相应的权重,并将它们乘积求和,然后转化为概率的形式求最优标注序列。 若我们确定了特征函数,还需要知道相应的权重,当特征函数和权重参数确定时,模型也就确定下来了,如何通过训练数据学习模型的权重参数,这一过程为条件随机场的学习算法。 3.4 条件随机场的学习算法 回顾之前的内容,给定句子s,标注序列l的条件概率为: 假设我们有大量训练数据(每个训练数据包含语句和相应的词性标注),随机初始化条件随机场模型的权重参数,我们通过训练数据逐渐优化权重参数,使权重参数往最优方向移动,这一算法实现是我们常用的梯度上升算法:
1)取条件概率的对数,即 2)令 注意到等式第一项是训练数据真实标注下特征函数对梯度的贡献,等式第二项是当前模型下特征函数对梯度贡献值的期望,对数条件概率的梯度是真实标注下特征函数与当前标注下特征函数期望的差值。现在你应该知道该梯度的含义了吧,即梯度上升是当前标注下特征函数值增加最快的方向。 3)梯度上升的方向迭代权重参数 其中 4)当对数条件概率
现在我们知道了特征函数和权重参数,模型也相应的确定。如何对输入的语句进行词性标注,这一过程称为条件随机场的预测算法。 3.5 条件随机场的预测算法 条件随机场的预测问题是给定条件随机场 最简单的方法是用直接法预测最优标注序列,算法思想是列出所有可能的标注序列,然后选择概率最大的标注序列 与隐马尔可夫模型的预测算法一样,条件随机场的预测算法是著名的维特比算法,《统计学习方法》一书关于维特比算法的例子讲的挺详细的,这里就不再详细介绍了。
至此,条件随机场算法已基本介绍完了,下面开始比较条件随机场与其他常见的机器学习算法。 4. 与逻辑斯蒂克回归算法比较 K分类的多项逻辑斯蒂回归算法: 结合分母,得: 是不是和条件随机场 5. 与隐马尔可夫模型的比较 隐马尔科夫模型也可用于词性标注,条件随机场通过特征函数得到标签序列的分数,分数越高表示标签序列出现的可能性越大;隐马尔科夫模型采用生成式的标签方法,定义: 其中 条件随机场不仅包含了隐马尔科夫模型,且能处理隐马尔科夫模型不能处理的情况。下面给出解释: 取隐马尔科夫联合概率的对数,得: 如果我们把上式的对数条件概率看作是条件随机场的权重系数,那么上式等价于条件随机场,只要特征函数满足以下条件: 1)对于每个隐马尔科夫模型的转移概率 2)对于每个隐马尔科夫模型的观测概率 且 因此,条件随机场计算的分数 然而,条件随机场可以预测更丰富的标签序列,有下面两个原因: 1)条件随机场的标签分布是马尔科夫随机场,因此可以构建更复杂的特征函数,根本原因在于马尔科夫随机场的邻近节点有多个,而隐马尔科夫模型标签的邻近点只有两个。
2)隐马尔科夫模型的观测概率必须满足下面条件: 而条件随机场的权重系数是无限制的。 基于上面两个原因,马尔科夫随机场可以预测更丰富的标签序列。 6.小结 条件随机场包含三个重要知识点:邻近节点的含义,马尔科夫随机场(概率无向图),特征函数(与先验知识相关)。理解了这三个重要知识点,就不难理解条件随机场的定义了,条件随机场是在给定输入序列X的条件下,标签序列Y符合马尔科夫随机场。 推荐阅读 520 页机器学习笔记!图文并茂可能更适合你,文末附下载方法 李航老师《统计学习方法》(第2版)课件分享,文末附下载 Github | 吴恩达新书《Machine Learning Yearning》完整中文版开源 经典好书 | 141页的《Deep Learning with PyTorch》开源书籍 400页《TensorFlow 2.0 深度学习算法实战》中文版教材免费下载 |
CopyRight 2018-2019 实验室设备网 版权所有 |