上一节我们主要讲解了最大熵模型的原理,主要是解释了什么是最大熵,已经最大熵的背景知识,其实还是多建议大家读读论文,如果读英语有点难度,那就看李航的《统计学习方法》的最大熵模型和条件随机场,这本书的质量很高,本节主要讲一些条件随机场的背景知识,解释为什么需要引入条件随机场,废话不多说,下面开始:

首先讲条件随机场还需要从隐马尔可夫过来讲,我们都知道,隐马尔可夫过程是生成式模型,体现在哪里呢?这里大家应该知道什么是生成式模型,不懂的查看我的这篇文章,生成式模型最大的特点是求条件概率时是通过联合概率密度进行求解的,而判别式不是通过联合概率求解而是通过其他的方法进行求解。我们的HMM就是通过联合概率进行求解的,这里以第二个基本问题为例,即知道发射符号O,求其状态转移矩阵A,这里怎么求得呢?其实是通过发射矩阵B进行求解的,而B矩阵就是联合概率,其他问题也是这样的,因此B矩阵很重要,下面我们就总结一下HMM使用条件或者HMM的问题:

  • HMM是生成式模型,需要给出状态与观察符号之间的联合概率分布,需要观察符号是可枚举的,并遍历所有可能的观察符号,工作量繁琐。
  • 把观察符号割裂为互相独立的“原子”结构,无法体现句子中观察符号之间的依赖关系,生成式模型对输出的独立假设也显得牵强。
  • 难以考虑除字(词)序以外的其它特征,例如“字母为大写”“包含阿拉伯数字”等
  • 标注偏置问题,这个问题比仅仅存在HMM中,项最大熵模型、自动机等模型都存在这样的问题,下面通过例子讲解一下。

假如HMM标注单词rib和rob,假如正确的标注应该为这是rib的正确标注,而是rob的正确标注,那么现在我们分别来计算一下即r、i标注为1、2的概率。同理也计算一下的概率,下面我们分别来计算一下:

上式的p(2/i,1),p(5/0,4)等于1,因为一旦确定r的走向,后向的概率是百分之百,大家根据结果可以看到,这两个标注问题是否标注正确取决于p(1/r),p(4/r),而这两个概率和什么有关呢?和我们的训练语料出现1或者则4的多少有关,因此会出现错误。为了解决HMM存在的问题,我们引入了条件随机场的来进行解决上面的缺点,也因此解决了上面的问题,使的CRF的得到了广泛的使用,只要我们的问题可以转化为标注问题,我们就可以通过CRF进行解决,这个算法理解起来有点困难,不过我们只需要知道他的原理就可以了,以后使用可以直接调函数,既然是这样那我为什么还要学呢?因为知道他的原理将更有利与我们调参,下面我们就是开始进入CRF。

CRF

需要说明的是整个算法参考的是李航的《统计学习方法》,会详细讲解本人觉得难理解的地方。

大家都还记得隐马尔可夫的基本第二个问题吧,忘记的建议看我前几篇博客,通过可观察符号计算转态转移概率,如下图所示:

在HMM中我们假设发射符号是条件独立的,上图的发射符号是x,转态转移是Y,其实呢x假设独立很牵强,而在CRF中的定义下面的样子:

即每个发射符号都不是独立的,每个x都会影响Y,这是比较符合语言模型的,因为我们人类在说话时已经将一句话的意群都想到了,而不是一个字一个字的去想,上图就比较符合我们的语言思维,好,现在我们有了模型,关键是如何建立他们的联系呢?或者说是如何使用数学来表示他们呢?首先呢我们可以确定的是他应该是这个形式:,即在输入语音的条件下,对应的汉字句子大概率是多大,这是我们语言模型最基本需要解决的问题,下面我们就详细的讲解如何一步步建立数学模型的过程。这里我们就需要引入我们以前讲的概率图模型了,不懂的请参考我的这篇文章,还需要知道无向图的团,下面分别简单的讲解一下:

如上图的无向图,那么这里的概率图模型是什么意思呢?其实很简单,例如A的条件概率只和C和B有关,而和D无关,也就是说,某个点的条件概率只和他相邻的点有关和其他点无关,例如下式:

下面在简单的讲解一下什么是最大团:

其实很简单,我们先看定义如下:

定义:(团与最大团)无向图G中任何两个结点均有边连接的结点子集称为团(clique).若c是无向图G的一个团,并且不能再加进任何一个G的结点使其成为一个更大的团,则称此c为最大团(maximalclique).

上图有两个节点的团有5个基,其中有三个节点的团有两个即两个,而ABD就不是一个团,因为AD没相连。

将概率无向图模型的联合概率分布表示为其最大团上的随机变量的函数的乘积形式的操作,称为概率无向图模型的因子分解(factorization).给定概率无向图模型,设其无向图为G,C为G上的最大团,表示C对应的随机变量,那么概率无向图模型的联合概率分布可写作图中所有最大团C上的函数的乘积形式,即

其中:z是归一化因子,如下所示:

函数称为势函数,这里要求势函数必须为正,通常定义为指数形式,如下:

概率无向图模型的因子分解由下述定理来保证,
定理:(Hammers1ey-Clifford定理)概率无向图模型的联合概率分布的可以表示为如下形式:

其中  
其中,C是无向图的最大团,是C的结点对应的随机变量,是C上定义的严格正函数,乘积是在无向图所有的最大团上进行的.
我们知道了什么是概率图模型已经什么是团和最大图,那么我们如何定义我们的模型呢?这里把CRF的图拿过来继续讲解:

我现在再来看看能看出什么门道呢?其实这就是我们上面说的概率和团嘛,其实就是他,那么我们就按照上面的进行构造模型即可,这里我直接构造好的模型拿过来讲解好了,如下:

这里的定义大家不要想的太麻烦,其实很简单的,他就是一个势函数,只是上面的势函数E使用具体的形式来代替罢了,这里我们需要详细解释的是,,分别代表什么,在讲解之前我们先来看看上式的为什么是求和呢,其实是根据上面的概率定义,如下所来:

本来是连乘的,但是因为是指数连乘,所以指数就是相加了,下面我们解释一下上面的符号的意义,大家这里可以把看做权值,看做特征函数,和我们最大熵模型里将的特征函数很类似可以说是一样了,即满足为1,反之为0。其中什么意思呢?CRF的定义是什么呢?下一节我们将从定义出发进行详细探讨CRF.

NLP --- 条件随机场CRF背景相关推荐

  1. NLP --- 条件随机场CRF详解 重点 特征函数 转移矩阵

    20210517 http://www.tensorinfinity.com/paper_170.html 上一节我们介绍了CRF的背景,本节开始进入CRF的正式的定义,简单来说条件随机场就是定义在隐 ...

  2. NLP --- 条件随机场CRF详解

    上一节我们介绍了CRF的背景,本节开始进入CRF的正式的定义,简单来说条件随机场就是定义在隐马尔科夫过程的无向图模型,外加可观测符号X,这个X是整个可观测向量.而我们前面学习的HMM算法,默认可观测符 ...

  3. NLP --- 条件随机场CRF(预测算法详解)

    前几节我们大概的介绍了学习算法,即GIS和IIS的算法,这两个算法在最大熵模型中讲的比较详细,想要深入理解这两个算法,需要你理解动态规划算法.这里的条件随机场实际上是根据最大熵模型的思想过来的,因为通 ...

  4. NLP --- 条件随机场CRF(概率计算问题)

    上一节详解的阐述了条件随机场的定义和简单的学习算法推倒,这里不懂的前翻看前两节的博客,这里不再赘述,本节将主要求期望的问题,为什么要求解期望?本节主要参考的内容是一篇论文和李航的书,论文是<Co ...

  5. 简明条件随机场CRF介绍 | 附带纯Keras实现

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 笔者去年曾写过文章<果壳中的条件随机场(CRF In A Nutshell)>[1], ...

  6. python期望输出隐藏_【归纳综述】马尔可夫、隐马尔可夫 HMM 、条件随机场 CRF 全解析及其python实现...

    PR Structured Ⅲ:马尔可夫.隐马尔可夫 HMM .条件随机场 CRF 全解析及其python实现 Content 归纳性长文,不断更新中...欢迎关注收藏 本章承接概率图知识 马尔可夫不 ...

  7. 全网最通俗的条件随机场CRF

    前言 本文是我尽量以通俗易懂的口吻来讲解CRF的一篇博文,标题虽然取得有点自不量力,但也是我付出了十分心血总结出来的,如果你还是没能看懂那说明我能力不够没能讲清楚,烦请不要在我的留言区展现出你的杠精本 ...

  8. 简单理解条件随机场CRF

    一.条件随机场是什么? 什么是条件随机场?我们先从它的命名开始说起,为什么是条件随机场这么奇怪的名字,为什么不叫飞机场.火葬场?通常数学上的命名是简单而直白的,大家听我一一解释. 条件 "条 ...

  9. 条件随机场 (CRF)

    背景 CRF和HMM是有相似性的,最后都是使用Verterbi算法来进行最优状态转移序列的确定.CRF主要用于序列标注问题. 本质:通过1D卷机学习近邻信息,然后输入到CRF定义好的计算方式中. 一些 ...

最新文章

  1. 算法的威力:法国人用台式机打破由超级计算机创造的圆周率运算世界记录
  2. TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting)
  3. 第九章 隐马尔科夫模型HMM
  4. 三星Galaxy A70s现身GeekBench数据库:搭载6400万像素传感器
  5. 【学习笔记】n皇后问题的解决方法+改进代码(回溯递归)
  6. foobar2000 用了那么久 才学会设置 好音质设置
  7. if...else 语句双分支结构 计算分段函数
  8. mmdetection 绘制PR曲线
  9. Python-有道翻译
  10. 关于vscode 中Live Server插件无法弹出Chrome浏览器问题
  11. 分布式一致性算法——Paxos 和 Raft 算法
  12. C++对象模型-在对象模型的尖端 第七章笔记
  13. 圆形体癣是什么样子的图片_【 身上起圈圈型的癣图片】_如何治疗_怎么治疗-大众养生网...
  14. C++ vector的用法总结(整理)
  15. Python Re正则表达式
  16. 基于Spring Boot实现电脑端网页微信扫码授权登录方式一(附带完整源码)
  17. 基于RabbitMq的削峰实例
  18. javaweb课程设计音乐播放网
  19. Linux —— OpenCv编译安装
  20. 前端搭建(HTML+CSS+JS)游戏官网(或其它)页面------实例与代码(示例:游戏官网界面)

热门文章

  1. 为什么vi用HJKL和ESC
  2. Windows server 2008 iis7 下配置PHP+MySql
  3. 提供生成静态页核心代码
  4. 数据分析在商业中的作用
  5. 农业物联网卡存在哪些问题?
  6. php 复制一张图片,PHP 生成一张图片的两种方法
  7. hive sql 报错后继续执行_Hive迁移Presto在OPPO的实践
  8. R语言︱基本函数、统计量、常用操作函数
  9. Oracle 11g 数据恢复 数据误删除后的恢复 0、执行 select log_mode from v$database;查看是否为归档模式 1、确定删除时间和被删除的表 04-23,GR
  10. POJ-1426-Find The Multiple