条件随机场|机器学习推导系列(二十一)

一、背景

  1. 概述

如上所示,分类问题分为硬分类和软分类两种。硬分类问题指的是分类结果非此即彼的模型,包括SVM、PLA、LDA等。软分类问题将概率作为分类的依据,分为概率判别模型和概率生成模型两种。其中概率判别模型对概率进行建模,代表算法有逻辑回归(Logistic Regression,LR)。LR的损失函数为交叉熵损失函数,这类模型也叫做对数线性模型,一般地,又叫做最大熵模型(Max Entropy Model),这类模型和指数族分布的概率假设是一致的。朴素贝叶斯算法(Naive Bayes)为概率生成模型的一种,如果将其单元素的条件独立性推广到一系列隐变量,由此得到的模型就是动态模型,如隐马尔可夫模型(Hidden Markov Model,HMM),从概率意义上,HMM也可以看做高斯混合模型(Gaussian Mixture Model,GMM)在时序上的推广。

  1. HMM vs. MEMM

如果将最大熵模型和HMM相结合,就得到了最大熵马尔可夫模型(Max Entropy Markov Model)。MEMM的概率图如下:

这个概率图就是将HMM的概率图观测变量和隐变量的边反向,这样的话HMM中的观测独立假设就不成立了,也因此的影响包括局部和全局两种。HMM的观测独立假设是一个很强的假设,如果我们有一个文本样本,那么观测独立假设就意味着样本之中的每个词之间没有任何关系,这显然是不合理的,因此打破这个假设是更加合理的。

HMM的概率图如下:

HMM是一个概率生成模型,其建模对象是,可以将HMM的看做是由图中画虚线的部分所组成的,结合其两个假设,可以写出其概率公式为:

在MEMM的概率图中,之间是head-to-head的结构,它们是不独立的,因此打破了观测独立假设,的作用分为global和local两种。MEMM是概率判别模型,其建模对象是,其概率图可以认为是由图中画虚线的部分组成,因此其概率公式为:

MEMM的缺陷是其必须满足局部的概率归一化(也就是Label Bias Problem),对于这个问题,我们将之间的箭头转为直线从而得到无向图(线性链条件随机场),这样就只要满足全局归一化了(破坏了齐次马尔可夫假设)。

  1. 标注偏置问题

标注偏置问题(Label Bias Problem)是MEMM存在的一个局限性,这也是决定它不流行的主要原因,条件随机场(Conditional Random Field,CRF)通过使用无向图解决了这个问题。

  • 根因

对于MEMM,上面的概率图由于存在齐次马尔可夫假设可以认为是由一个个方框中的部分组成的,因此有概率公式如下:

对于每一个方框中的组件,我们可以看做一个函数,叫做mass score,这个函数对外是有一定能量的,但这个mass score同时必须是一个概率,因此被归一化了,叫做局部归一化,这就是导致标注偏置问题的根本原因所在。

而CRF采用无向图的结构,其天然地满足全局归一化,也就打破了齐次马尔可夫假设,从而解决了标注偏置问题。

  • 现象

局部归一化造成了标注偏置问题,这一问题造成的现象可以通过以下例子来解释。

对于上图中训练得到的MEMM模型,节点表示时刻的状态,边表示观测。可以看出,上述状态从1到2,2到3,4到5,5到3全部都只有一个状态转移的选择,这也就导致无论观测是多少,都不关心而只会向确定的一个状态进行转移。上述状况显然表明训练得到的模型是不合理的,举个更具体的例子,如果对“小明 爱 中国”进行词性标注,模型会根据“小明”和“爱”的词性直接标注“中国”的词性,根本不关心观测“中国”本身。

上述MEMM模型是根据训练数据训练得到的,比如在训练数据中一共有3个rob,1个rib,这样的训练数据得到的模型概率如下图所示:

可以看出由于局部归一化从1到2,2到3,4到5,5到3的状态转移概率全部都是1,这样会造成求解Decoding问题时的标注偏置问题,也就是在观测为rib的条件下,求解最可能的标准序列时会得到以下结果:

也就是说解得的结果反而是,这是因为概率所致。

二、条件随机场

  1. 条件随机场的概率密度函数

CRF中条件代表这是一个判别式模型,随机场表示其是一个无向图模型。CRF的概率图如下:

对于无向图的因子分解,可以参考以前的文章中的讲解:概率图模型-表示|机器学习推导系列(十)。

简单来说,无向图的概率分布可以分解为图中所有最大团的势函数的乘积。给定概率无向图模型,为无向图模型上的最大团,则的联合概率分布可以写为:

是归一化因子,通常使用势函数(这里的叫做能量函数),也就是说:

为方便起见,这里把写作只是为了简化形式,并且不同最大团之间使用的是同一个函数。在CRF中对于也就有:

这里为了方便起见,在前添加节点,因此对于CRF这个线性链,其中一共有个最大团。

对于函数,我们可以把它写作三部分:

其中称为状态函数,称为转移函数。由于在中每个都出现了两次,并且我们还需要做归一化,因此在每个中省略这一项即可,也就是说我们采用的为:

我们定义如下:

上式中是给定的特征函数(或者指数函数),是参数。特征函数的取值是人为给定的,取值只能是称为转移特征,称为状态特征,只有在满足特征条件时特征函数取值才为,否则为,比如我们可以规定:

总而言之,的概率密度函数可以表示为:

  1. 概率密度函数的向量形式

为了更方便地使用概率密度函数进行后续求导等一系列操作,我们需要对上述概率密度函数进行整理和简化,从而取得其向量的表示形式。

对于归一化因子,其只和有关,而与无关,这是因为被积分积掉了,因此可以写成以下形式:

接着我们定义以下向量:

则此时我们将概率密度函数写作以下向量相乘的形式:

此时式子中还剩下一个关于的连加号,而与有关的只有,于是我们考虑可以将这个连加号放到括号里面:

接着继续定义如下两个向量:

于是最终可以将概率密度函数写成如下形式:

三、参数估计和推断

  1. 条件随机场要解决的问题

Learning:也就是参数估计问题,对于给定的训练数据均是维向量,需要估计参数

Inference:
①边缘概率:求
②条件概率:一般在生成模型中较为关注,条件随机场不关注;
③MAP推断:也就是Decoding问题,即

  1. 求解边缘概率

求解边缘概率的问题就是给定概率分布,求解。对于,其概率分布为:

因此我们要求解的概率分布为:

假设的取值集合为。上式直接计算的复杂度非常地高,这是由于求和的复杂度是,求积的复杂度是,整体复杂度也就是。因此我们的解决方案是调整求和符号的位置,从而降低复杂度,事实上也就是前面讲过的变量消除法。

我们将时刻左右两边的势函数连同积分号拆成两部分

对于,我们按照变量消除法的思路来调整加和符号的位置:

按照从右往左积分的方式可以降低计算的复杂度,也就是一个一个地进行积分,并且上式为了看起来方便省略了括号。这里的是为了表达方便才加上去的一个随机变量,可以认为它的值只能取这一个值。

接下来我们将上式写成递推式的形式,我们定义:

则递推式为:

类似地,对的积分方式为:

同样地这里也省略一系列括号,顺序也是从右往左进行积分。我们定义:

递推式为:

因此,最终的结论也就是:

这个方法类似于HMM中的前向后向算法,其实也就是概率图模型中精确推断的变量消除法(信念传播),相关参考链接为:概率图模型-推断|机器学习推导系列(十一)。

  1. 参数估计

对于概率密度函数的以下形式:

这里可以看出这个概率密度函数就是一个指数族分布,其中参数向量就是上面的,充分统计量也就是。有关指数族分布的讲解可以参考这个链接:指数族分布|机器学习推导系列(九)。

CRF的参数估计问题就是在似然上做梯度上升来求得最优解,而我们用来求导的概率密度函数使用以下形式:

按照极大似然估计的思路,写出公式如下:

然后需要对求导,以为例。等号右边的部分对求导较为简单。

从指数族分布的角度来看,就是配分函数,也就是log配分函数。套用指数族分布|机器学习推导系列(九)中第三部分的结论,我们可以知道:

类似的对于的一部分进行求导我们可以知道:

这个结论和指数族分布|机器学习推导系列(九)中第三部分的推导过程类似,这里我们就不再重复。

对于上述式子,我们可以调整加和符号的位置:

对于概率,这显然是一个边缘概率,是可以利用上一节的这种前向后向算法来求解这个边缘概率,然后就能得到这个导数。对于边缘概率,上一节的方法是将的势函数记作,将的势函数记作。类似的,在求解时就可以将部分的势函数记作,将的势函数记作。总而言之,求解的过程是类似的。

因此,最终我们得到的log似然对的导数为:

然后按照梯度上升的方式来更新参数即可,的处理也类似:

  1. Decoding问题

Decoding问题和HMM中的Viterbi算法类似,同样采样动态规划的思想⼀层⼀层求解最大值,求解方法很类似,这里就不再重复,参考链接:隐马尔可夫模型|机器学习推导系列(十七),更具体的可以参考李航老师的《统计学习方法》中关于CRF的讲解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSDN是国内知名的技术社区,提供了很多关于机器学习经典例题的资源。这些例题涵盖了机器学习中的经典算法和问题,可以帮助学习者更好地理解和应用机器学习。 在CSDN上,可以找到关于监督学习、无监督学习和强化学习等不同领域的经典例题。比如,常见的监督学习算法有线性回归、逻辑回归、决策树、随机森林等,这些算法都有相应的例题供学习者练习。无监督学习方面,常见的算法有聚类算法、主成分分析等,同样也有相应例题进行讲解和练习。而强化学习方面的例题则涉及到马尔科夫决策过程、Q-learning等。 通过参与这些例题的练习,可以帮助学习者加深对机器学习算法的理解,通过实际操作提高算法的应用能力。CSDN上的例题通常有详细的解答和代码实现,能够帮助学习者更好地理解算法的原理和实现过程。 除了例题,CSDN上也有很多机器学习领域的优秀博客和教程供学习者参考。这些博客和教程由业界专家撰写,涵盖了机器学习的各个方面,包括基础理论、算法原理、应用实例等。 综上所述,CSDN提供了丰富的机器学习经典例题资源,通过实践和学习,可以帮助学习者掌握机器学习的基本概念、算法和应用。 ### 回答2: CSDN是中国最大的为IT专业人士提供知识分享和学习交流平台之一。在CSDN上,机器学习的经典例题有很多。 首先,我们可以找到许多机器学习的基础例题,如线性回归、逻辑回归和K均值聚类等。这些例题都是机器学习入门的必备内容,通过实践这些例题,可以对机器学习的基本概念和算法有更深入的理解。 此外,CSDN还提供了许多高级的机器学习例题,如支持向量机(SVM)、决策树和随机森林等。这些例题通常涉及更复杂的算法和模型,能够帮助学习者提高机器学习的应用水平。 除了例题本身,CSDN的机器学习板块也提供了大量的教程和指导文章,可以帮助学习者更好地理解和应用机器学习。同时,CSDN也提供了丰富的代码资源,学习者可以访问到许多完整的机器学习项目和示例代码,从而更好地学习和实践。 总的来说,CSDN是一个宝贵的资源,提供了丰富的机器学习经典例题,能够帮助学习者理解和掌握机器学习的基本知识和算法,在实践中提高机器学习的技能水平。无论是入门者还是进阶者,都可以通过CSDN找到合适的例题和学习资源。 ### 回答3: CSDN是一个著名的中文IT技术社区,提供了大量关于机器学习领域的经典例题。这些例题涵盖了机器学习的基础知识、常见的算法和实际应用,非常适合初学者和从业者进行学习和实践。 首先,CSDN的机器学习例题包括基础的数学和统计学知识,如线性代数、概率论和统计推断等。这些例题帮助读者建立对机器学习背后的数学原理和推导过程的理解,为后续的学习打下坚实的基础。 其次,CSDN的机器学习例题还介绍了常见的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机、聚类算法等。这些例题通过具体的案例和代码实现,帮助读者了解算法的原理、应用场景和操作步骤,并通过实践提升读者的编程能力。 此外,CSDN的机器学习例题还涵盖了机器学习在实际问题中的应用,如图像识别、语音识别、自然语言处理、推荐系统等。这些例题通过实际的数据和案例,展示了机器学习在不同领域的应用方式和效果,帮助读者理解机器学习在实际问题中的巨大潜力。 总之,CSDN的机器学习例题提供了丰富的学习资源,帮助读者系统地学习和实践机器学习。读者可以通过参与例题的实现和尝试,逐渐提升自己的理论水平和实践能力。通过这些例题的学习,读者可以更好地应用机器学习算法解决实际问题,并为进一步的研究和应用打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值