猪猪的机器学习笔记(十八)条件随机场

条件随机场

 

作者:樱花猪

 

摘要:

本文为七月算法(julyedu.com12月机器学习第十八次课在线笔记。条件随机场是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。

 

引言:

   “条件随机场”被用于中文分词和词性标注等词法分析工作,一般序列分类模型常常采用隐马尔科夫模型(HMM),像基于类的中文分词。但隐马尔可夫模型中存在两个假设:输出独立性假设和马尔可夫性假设。其中,输出独立性假设要求序列数据严格相互独立才能保证推导的正确性,而事实上大多数序列数据不能被表示成一系列独立事件。而条件随机场则使用一种概率图模型,具有表达长距离依赖性和交叠性特征的能力,能够较好地解决标注(分类)偏置等问题的优点,而且所有特征可以进行全局归一化,能够求得全局的最优解。

    隐马尔科夫模型可以用于分词,而条件随机场则是可以用于词性的判断。

 

预备知识:

最大熵模型,隐马尔科夫模型、Logistic回归

 

一、概述

1、几种网络模型的比较

HMM

 

MEMM

 

CRF

 

RVM

 

 

2、对数线性模型

   x为某样本,yx的可能标记,将Logistic/Softmax回归的特征记做Fj(x,y),则对数线性模型的一般形式:

 

其中,归一化因子:

 

给定x的预测标记为:

 

3、特征函数的选择

特征函数几乎可任意选择,甚至特征函数间重叠;

以自然语言处理为例:

假定观测x是单词,则下列都是合理可行的特征:

x以大写字母开头xJ开头x的长度为7x中包含两个大写字母

NLP中常用的特征:前缀、后缀、词典位置、前置/后置标点

 

4、词性标注的特征函数

   词性标注是指将每个单词标记为名词/动词/形容词/介词等。

   词性:POSPart Of Speech

o记w为句子s的某个单词,则特征函数可以是:

  • w在句首/句尾(位置相关)
  • w的前缀是anti-/co-/dis-/inter-(单词本身)
  • w的后缀是-able/-ation/-er/-ing(单词本身)
  • w前面的单词是a/could/SALUTATION(单词间)
  • w后面的单词是am/is/are/(单词间)

w前面两个单词是Wouldlike/Therebe(单词和句子)

高精度的POS会使用超过10万个特征。

  • 每个特征只和当前词性有关,最多只和相邻词的词性有关;
  • 但特征可以和所有词有关。

 

5、词性标注

   词性标注被称为“结构化预测”,该任务与标准的类别学习任务存在巨大不同:

  • 如果每个单词分别预测,将丢失众多信息;
  • 相邻单词的标记是相互影响的,非独立。
  • 不同的句子有不同长度;
  • 这导致不方便将所有句子统一成同长度向量。
  • 标记序列解集与句子长度呈指数级增长。
  • 这使得穷举计算几乎无法实用。

 

二、线性条件随机场

线性条件随机场可以使用对数线性模型。

使用表示n个词的序列;表示相应的词性

定义:

 

    

    次特征:

定义句子的第j个特征是由若干次特征组合而成的,这里的依赖或部分依赖于当前整个句子、当前词的标记、前一个词的标记、当前词在句子中的位置i

 

将每一个位置i上的次特征相加,即得到特征,从而解决训练样本变长的问题。

 

参数训练:

给定一组训练样本(x,y),找出权向量w,使得下式成立:

 

满足上式的w,即为最终的推断参数。

 

二、条件随机场

     X=(X1,X2Xn)Y=(Y1,Y2Ym)都是联合随机变量,若随机变量Y构成一个无向图G=(V,E)表示的马尔科夫随机场(MRF),则条件概率分布P(Y|X)称为条件随机场(Conditional Random Field,CRF)

  • X称为输入变量、观测序列
  • Y称为输出序列、标记序列、状态序列

  一般而言,MRF是关于隐变量(状态变量、标记变量)的图模型,而给定观测变量后考察隐变量的条件概率,即为CRF但这种混用,类似较真总理和周恩来的区别。混用的原因:在计算P(Y|X)时需要将X也纳入MRF中一起考虑

 

三、线性链条件随机场

X=(X1,X2Xn)Y=(Y1,Y2Ym)都是联合随机变量,若随机变量Y构成一个无向图G=(V,E)表示的马尔科夫随机场(MRF),则条件概率分布P(Y|X)称为条件随机场(Conditional Random Field,CRF)

即:

其中,表示与结点v相连的所有结点wo一种重要而特殊的CRF是线性链条件随机场(Linear Chain Conditional Random Field),可用于标注等问题。这时,条件概率P(Y|X)中,Y表示标记序列(或称状态序列)X是需要标注的观测序列。

 

线性条件随机场的定义:

X=(X1,X2Xn)Y=(Y1,Y2Yn)均为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔科夫性

 

则称P(Y|X)为线性链条件随机场。在标注问题中,X表示输入序列或称观测序列,Y表述对应的输出标记序列或称状态序列。

 

四、CRF总结

条件随机场可以使用对数线性模型表达。不严格的说,线性链条件随机场可看成是隐马尔科夫模型的推广,隐马尔科夫模型可看成是线性链条件随机场的特殊情况。

  • 概率计算使用前向-后向算法;
  • 参数学习使用梯度上升算法(IIS)
  • 应用于标注/分类,在给定参数和观测序列(样本)的前提下,使用Viterbi算法进行标记的预测。
  • 标记序列y要求链状,但x无要求,除了一维的词性标注、中文分词,还可以用于离散数据(如用户信息),或二维数据(如图像),用途广泛。

缺点:有监督学习计算参数、参数估计的速度慢。





原文地址:https://www.cnblogs.com/Dr-XLJ/p/5466856.html