目录
3.3 条件随机场->线性链条件随机场注意在 CRF 的定义中,我们并没有要求 X 和 Y 有相同的结构。
隐马尔可夫模型HMM(这里用一个HMM第三个问题来举例)
简单来说第一天的初始状态未知,但是状态转移矩阵已知。当天伴随自变量的事件状态转移矩阵已知,同时知道一段时间的因变量的结果,求这段时间概率最大的自变量
以上是一个生动的例子
要解决这个问题:需要使用viterbi算法
介绍viterbi算法就不用上面的例子了,换一个例子进行通俗讲解:
这是一个取球不放回模型,pai是初始条件概率矩阵,A是状态转移矩阵,B是观测状态转移矩阵,由每日状态来决定,简单理解就是一个随当天自变量而生成的因变量。知道三次取球结果为红白红,试问三次取球分别从哪个箱子取出的概率最大。
初始条件概率矩阵已知,则根据观测状态转移矩阵计算出即首日观测红球概率矩阵。首次取球,从取到第一个箱子且红球概率为0.1,同理2红0.16,3红0.28,如果首次是这样的条件矩阵, 那么可以推算出第二次在各个箱子开出白球的概率(这里是在第一次开红球的基础上在各箱中开白球的概率)
需要注意的是,因为第二次在第一个箱子里面开白球的概率是由第一次在三个箱子开红球这个事件共同决定,我们找出第一次在三个箱子中最有可能的哪一个,也就是在式子中的max函数,同理得到第二次每个箱子开白球所最有可能的第一次开红球的箱子都是3,可以大致觉得第一次就是由三这个箱子开出的红球;同理第三次开红球推测第二次由哪个箱子开白球的概率更大,前两个箱子中开红球认为由二箱子开白球概率大,第三箱子开红球认为由三箱子开白球概率大,这里取第三个箱子的观点是由于第三个箱子开出红球而且在取第三个箱子条件概率下大于前两个之和,所以认为第二次取的是第三个箱子,而第三次取的是什么箱子就是看第三次哪个取红球的概率大,这就构成了整条链的概率,比穷举法节约了时间复杂度。
CRF条件随机场
P(Y/X) :X是输入变量,Y是输出变量,Y满足马尔可夫随机场。
条件概率:略
无向图--概率无向图模型:马尔可夫随机场
条件随机场:在X输入下Y输出满足马尔可夫条件
线性链的条件随机场:X是线性所产生的Y是马尔可夫随机场
概率图模型:(状态转移的图)
马尔可夫性:
概率无向图:
概率无向图本质上就是具有马尔可夫性的一个无向图
下图是一个概率无向图,具有全局马尔可夫性(局部马尔可夫性,成对马尔可夫性自行脑补)
介绍重点是概率无向图可以进行因式分解,至于如何进行因式分解,就需要介绍团和最大团的概念
团和最大团:
概率无向图的因子分解:
CRF的应用
输入输出经过某个分布 P(Y|X)
,线性链条件随机场(Linear-CRF)公式如下
从上面那个例子,我们可以了解到,条件随机场的在 NLP 领域的作用就是:标注(或者,命名实体识别)
从公式中我们可以看到,当前的标注结果 y,还会参考上一个标注的结果 y_i-1。也就是说,CRF 在标记数据的时候,会考虑前一个数据的标记信息,这对于解析句子语法结构来说是得天独厚的优势(例如:动词后面不能跟动词)。而这一点,是普通的分类器难以做到的。
总结
3.1 随机场->马尔可夫随机场
首先,我们来看看什么是随机场。“随机场”的名字取的很玄乎,其实理解起来不难。随机场是由若干个位置组成的整体,当给每一个位置中按照某种分布随机赋予一个值之后,其全体就叫做随机场。还是举词性标注的例子:假如有一个十个词形成的句子需要做词性标注。这十个词每个词的词性可以在已知的词性集合(名词,动词…)中去选择。当我们为每个词选择完词性后,这就形成了一个随机场。
了解了随机场,我们再来看看马尔科夫随机场。马尔科夫随机场是随机场的特例,它假设随机场中某一个位置的赋值仅仅与和它相邻的位置的赋值有关,和与其不相邻的位置的赋值无关。继续举十个词的句子词性标注的例子: 如果我们假设所有词的词性只和它相邻的词的词性有关时,这个随机场就特化成一个马尔科夫随机场。比如第三个词的词性除了与自己本身的位置有关外,只与第二个词和第四个词的词性有关。通常一个概率无向图模型,又称为马尔可夫随机场。
3.2 马尔可夫随机场->条件随机场
CRF 是马尔可夫随机场的特例,它假设马尔科夫随机场中只有 X 和 Y 两种变量, X 一般是给定的,而Y 一般是在给定 X 的条件下的输出。这样马尔科夫随机场就特化成了条件随机场。在我们十个词的句子词性标注的例子中,X是词,Y是词性。因此,如果我们假设它是一个马尔科夫随机场,那么它也就是一个 CRF。
对于 CRF,给出准确的数学语言描述:设 X 与 Y 是随机变量,P(Y|X) 是给定 X 时 Y 的条件概率分布,若随机变量 Y 构成的是一个马尔科夫随机场,则称条件概率分布 P(Y|X) 是条件随机场。
3.3 条件随机场->线性链条件随机场
注意在 CRF 的定义中,我们并没有要求 X 和 Y 有相同的结构。
而实现中,我们一般都假设X和Y有相同的结构,即:
X和Y有相同的结构的CRF就构成了线性链条件随机场(Linear chain Conditional Random Fields,简称 Linear-CRF)