Datawhale
作者:丁媛媛,Datawhale优秀学习者
寄语:本文先对马尔可夫过程及隐马尔可夫算法进行了简单的介绍;然后,对条件随机场的定义及其三种形式进行了详细推导;最后,介绍了条件随机场的三大问题,同时针对预测问题给出了代码实践。
条件随机场(conditional random fields,简称 CRF,或CRFs),是一种判别式概率模型,常用于标注或分析序列资料,如自然语言文字或是生物序列。
条件随机场是条件概率分布模型P(Y|X),表示的是给定一组输入随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,也就是说CRF的特点是假设输出随机变量构成马尔可夫随机场。
知识框架
马尔可夫过程
定义:假设一个随机过程中, 时刻的状态 的条件发布,只与其前一状态 相关,即:
则将其称为马尔可夫过程。
隐马尔可夫算法(HMM)
1、定义
隐马尔可夫算法是对含有未知参数(隐状态)的马尔可夫链进行建模的生成模型,如下图所示:
在隐马尔科夫模型中,包含隐状态和观察状态,隐状态 对于观察者而言是不可见的,而观察状态 对于观察者而言是可见的。隐状态间存在转移概率,隐状态 到对应的观察状态 间存在输出概率。
2、假设
假设隐状态 的状态满足马尔可夫过程, 时刻的状态 的条件分布,仅与其前一个状态 相关,即:
假设观测序列中各个状态仅取决于它所对应的隐状态,即:
3、存在问题
在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还和观察序列的长度、上下文等信息相关。例如词性标注问题中,一个词被标注为动词还是名词,不仅与它本身以及它前一个词的标注有关,还依赖于上下文中的其他词。
条件随机场
以线性链条件随机场为例
1、定义
给定均为线性链表示的随机变量序列,若在给随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性:
则称为 为线性链条件随机场。
通过去除了隐马尔科夫算法中的观测状态相互独立假设,使算法在计算当前隐状态 时,会考虑整个观测序列,从而获得更高的表达能力,并进行全局归一化解决标注偏置问题。
1)参数化形式
其中: 为归一化因子,是在全局范围进行归一化,枚举了整个隐状态序列 的全部可能,从而解决了局部归一化带来的标注偏置问题。
为定义在边上的特征函数,转移特征,依赖于前一个和当前位置 为定义在节点上的特征函数,状态特征,依赖于当前位置。
2)简化形式
因为条件随机场中同一特征在各个位置都有定义,所以可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数,这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。
step 1 将转移特征和状态特征及其权值用统一的符号表示,设有 个转移特征, 个状态特征, ,记
step 2 对转移与状态特征在各个位置 求和,记作
step 3 将 和 用统一的权重表示,记作
step 4 转化后的条件随机场可表示为:
step 5 若 表示权重向量: