zoukankan      html  css  js  c++  java
  • 猪猪的机器学习笔记(十八)条件随机场

    条件随机场

     

    作者:樱花猪

     

    摘要:

    本文为七月算法(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无要求,除了一维的词性标注、中文分词,还可以用于离散数据(如用户信息),或二维数据(如图像),用途广泛。

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





  • 相关阅读:
    leetcode教程系列——Binary Tree
    《Ranked List Loss for Deep Metric Learning》CVPR 2019
    《Domain Agnostic Learning with Disentangled Representations》ICML 2019
    Pytorch从0开始实现YOLO V3指南 part5——设计输入和输出的流程
    Pytorch从0开始实现YOLO V3指南 part4——置信度阈值和非极大值抑制
    Pytorch从0开始实现YOLO V3指南 part3——实现网络前向传播
    Pytorch从0开始实现YOLO V3指南 part2——搭建网络结构层
    Pytorch从0开始实现YOLO V3指南 part1——理解YOLO的工作
    让我佩服的人生 文章
    win8.1配置cordova+ionic等一系列东西
  • 原文地址:https://www.cnblogs.com/Dr-XLJ/p/5466856.html
Copyright © 2011-2022 走看看