复音音乐(polyphonic
music)由多个同步序列组成:多个乐器一起演奏。在这种情况中,虽然有两种明显的方式展开多个序列,但变量没有真正的自然排序。

  因为我们需要将观察序列的元素看做是彼此孤立的个体即假设每个元素彼此独立,任何时刻的观察结果只依赖于该时刻的状态

一般来说,变量的每个可能的排序都存在自回归因式分解。在有N个变量的问题中,就存在
N!
个因式分解。在上面提到的三个变量的例子中,我们可以列举出六个自回归因式分解:

这些边具体是如何建模的呢,以什么形式记录这些概率信息的?贝叶斯网络每一条边是一个条件概率分布,P(X|Y),条件是父节点、结果是子节点。他有一个问题,就是当我知道A、B、C三个变量之间有相关关系,但是不知道具体是谁依赖谁,或者我不想先假设谁依赖谁,这个时候贝叶斯就画不出来图了。因为贝叶斯网络是通过变量之间的条件分布来建模整个网络的,相关关系是通过依赖关系(条件分布)来表达的。而马尔可夫随机场是这样,我不想知道这三个变量间到底是谁依赖谁、谁是条件谁是结果,我只想用联合分布直接表达这三个变量之间的关系。比如说两个变量A、B,这两个变量的联合分布是:

机器之心编辑部

这里借用@li
Eta
同学答案里的公式,我把i变成t,要注意:

更确切地说,这个过程可以叫做分块吉布斯采样,因为每次重新采样的不止一个变量。如果把概率分布想象成一幅风景画,可以看到处在合适位置的山峰被位置不当的巨大山谷隔开。大规模重新采样有助于通过较大的跳跃来探索可能性空间,而一次重采样一个变量往往会停留在附近的峰值上。因此,我们退火块大小:我们开始重写大部分的乐谱,以探索这个空间,然后逐渐重写得越来越少,以确定一个合理的乐谱。

  其中x和y分别表示观察序列和相对应的标注序列的随机变量。为了能够定义这种联合概率分布,产生式模型需要枚举出所有可能的观察序列,这在实际运算过程中很困难,

机器之心报道

188金宝搏 1

使用吉布斯采样根据多个排序生成

  1. CRF是用最大熵准则建模p(Y|X),从而得到一个指数归一化的函数形式,但是分子上应该是exp(sum_i{w_i*f_i(Y,X)})
    而不是f_i(yt,yt+1,X).
    把f(Y,X)变到f(yt,yt+1,X)其实是做了一个markov假设的CRF,而不是General形式的CRF.
    当然实际应用中,我们甚至把特征简化为只能是f(yt,X)和f(yt,yt+1)(注意此时f里面没X了),进一步减小特征数和加快训练和推断速度。这种叫linear
    chain CRF。
  2. HMM是生成模型,而
    @li
    Eta

    同学贴的实际上是MEMM(最大熵马尔科夫模型),它建模的也是p(Y|X),
    而不是一般我们讲的用来建模p(Y,X)的HMM生成模型。HMM生成模型,求和号里是p(yt|yt-1)p(xt|yt)而不是p(yt|yt-1,X).此时p(yt|yt-1)一般就是个多项分布,而p(xt|yt)则可以是任意你用来建模世界的分布。把
    @li
    Eta

    同学里面的MEMM的X到Y的箭头倒过来指(变成Y指向X),才是HMM.

188金宝搏 2

这个分布表示,这条边的功能是使它连接的两点(A和B)趋同,当A =
0的时候B更可能等于0不太可能等于1,当A =
1的时候B更可能等于1不太可能等于0。这样一来你知道了三个变量之间的联合分布,那他们两两之间的条件分布自然而然就在里面。

通过随意地抹去音符,我们希望得到一个可以处理任何不完整输入的模型。在下文的「Coconet
为什么可以运转?」章节中,我们给出了该训练流程有趣的解读,将其等同于多种模型的同时训练,并且每种模型适用于不同的场景。

线性链就是X和Y都是一串序列,线性链里面呢,最大团就是相邻的两项,y_i和y_i+1。
由Hammersley-Clifford定理写出linear chain CRF的公式。

一次建模一个变量

  再次,它还能自然地解决了统计模型中参数平滑的问题。 

3 月 21
日是着名音乐家约翰·塞巴斯蒂安·巴赫的生日,谷歌决定以一种特殊的方式向他致敬:让人人都能以巴赫的风格创作自己的乐曲。

 188金宝搏 3

尽管无序NADE学习一组排序,但相关的采样过程仍然根据单个排序进行有效的采样。Uria等人提出统一选择一个排序,然后根据这个排序依次生成变量。作曲仍然是在一个单一的过程中完成的,没有经过任何迭代的改进。

188金宝搏 4

这是一个很难的问题,因为变量相互作用,光建模独立分布 P、P、P
是不够的。对于X_1的每个可能值,依赖于X_1值的其它变量存在条件分布 P 和
P。如果有 P 和 P 的模型,那我们可以将它们组合起来获得 P=PP
的模型。而如果有 P(X_3|X_1,X_2)
的模型,我们可以将这三个模型组合起来获得期望联合分布
P(X_1,X_2,X_3)=PPP(X_3|X_1,X_2)。

呐,满足马尔可夫独立性的随机场,就叫马尔可夫随机场。它不仅具有我刚才说的那些性质,除此之外,还等价于吉布斯分布。

所以得到的条件分布 P和 P
作为三个变量2种排序中的两个因子出现。通常,根据抹去的变量,我们可以从任何排序中计算任何条件因子。通过组合此类条件因子,我们可以形成对应于任何预期排序的模型。本质上,修复模型提供了一个自回归模型集合,每个可能的排序有一个自回归模型。

 

参考链接:

  最大熵模型的优点:首先,最大熵统计模型获得的是所有满足约束条件的模型中信息熵极大的模型;

无序建模

线性的CRF不需要EM算法,稍微简单一些,最大似然训练集之后,梯度下降加上vertebi算法就可以了。

188金宝搏 5

    条件随机域在中文组块识别方面有效,并避免了严格的独立性假设和数据归纳偏置问题。

通过机器学习算法,谷歌开发了 Coconet
多功能模型,可以让你用巴赫的风格演奏自己写下的乐谱。你也可以通过这个小工具来体验
AI
算法如何将一些我们熟悉的旋律「巴赫化」,亦或你和巴赫「合作」的乐曲将呈现出怎样更加现代摇滚的曲风。

来来来,这两天正好在复习CRF,我从头给你说。。。

Coconet
是一个自回归结构的集合,包含了序列模型中常见的时间结构(chronological
structure)。为了将演示简单化,我们将考虑建模3个变量:X_1、X_2、X_3。具体来讲,我们可以把这视为一个三音符旋律或三音和弦,每个变量以音高作为值。建模X_1、X_2
和 X_3 就是表征和学习给定序列 X_1、X_2、X_3
在自然数据中出现可能性的联合概率分布 P(X_1,X_2,X_3)。

**推断

Coconet 为什么可以运转?

 


加上图的local
function的表达能力使得context信息和feature扩展能力变强。于是CRF得到了很不错的应用。

188金宝搏 6Coconet的工作原理”
style=”width:60%;margin:1rem auto”>

势函数取
对数线性,就得到了第一次见让本学渣云里雾里的公式。(懒得输了贴个图)

当我们将部分抹去的乐谱输入至模型时,输出的结果可以解释为抹去变量的条件独立分布。回到三个变量序列
X_1、X_2、X_3 的例子,假设抹去了 X_2 和 X_3,然后模型观测到 X_1
并生成 X_2 和 X_3 的条件分布。


为了训练
Coconet,我们从数据集中选择了一个训练样本,统一选择要抹去的变量数量,并统一选择需要抹去的变量的特定子集。我们将部分抹去的乐谱输入至模型(以及指示哪个变量需要抹去的掩码),获得了抹去变量值的一组独立分布。我们计算了真实值的对数似然和抹去变量的平均值,由此纠正了微妙的缩放问题。我们借此得到损失函数,然后和以前一样使用反向传播和随机梯度下降来最小化损失。

188金宝搏,对于HMM的话,其判断这个标注成立的概率为 P= P(s转移到s)*P(‘我’表现为s)*
P(s转移到b)*P(‘爱’表现为s)* …*P().训练时,要统计状态转移概率矩阵和表现矩阵。

188金宝搏 7

那么为了简化某些为问题来说,也为了这个图画出来能用,我们会在画图的时候要遵循一些假设和规则,比如马尔科夫独立性假设。按照这个假设和规则来画图,画出来的图会满足一系列方便的性质便于使用。

在左图中,我们交错排列乐器,将其排序为S、A、T、B、S、A、T、B等。这种顺序有利于和声:模型会以一次生成一个和弦的方式生成音乐。在右图中,我们以另一种方式将乐器连接起来,将其排序为S、S、S、S、A、A、A、A等。这种方式有利于调式,因为模型会一行接一行地生成音符。这两种截然不同的观点是导致音乐理论中常见冲突的根源。

线性链的条件随机场跟线性链的隐马尔科夫模型一样,一般推断用的都是维特比算法。这个算法是一个最简单的动态规划。

{“type”:1,”value”:”Coconet获取不完整的乐谱,并填充缺失的材料。为了训练Coconet,我们从巴赫的四声部众赞歌数据集中取例,随意抹去一些音符,然后让模型重写。巴赫作曲与Coconet创作之间的差别为我们提供一个学习信号,我们可以通过该信号训练模型。


在一个单一的过程中作曲难在哪里?假设从一张白纸开始,我们必须写下第一个音符,而且知道之后不能改动。这是一个艰难的决定:我们必须考虑未来所有的可能,这个音符必须是正确的。接下来,有了更多的音符之后,我们就能参考前后的音符做出决定。那么,如果我们不必从无到有地进行作曲呢?如果我们从一开始就有一些音符作参考呢?

188金宝搏 8

188金宝搏 9

本学渣看到这里的时候真是amazing了一下。

让巴赫弹摇滚会是什么样的体验?在最近谷歌主页的Doodle上,我们可以尝试一下。

之前学习过隐马尔可夫模型的话,我们知道它是一个时间序列模型。起初对这个【时间】不以为然,隐马尔可夫模型中的节点,不就是一个个状态么,何必叫时间序列模型,还不如更名为状态序列模型。

上述因式分解对序列数据来说最自然不过,因为它遵循序列顺序。而在单音音乐(monophonic
music)中,这意味着每个音符的分布是由指向它的音符决定的。这给出了正向排序
。另一种自然的因式分解是逆向排序
:先建立结论,然后往前推导。如下图所示:

而linear chain
CRF和MEMM的分母在求和号里面外面的区别,并不是CRF和HMM的区别。
至于CRF和HMM,要先把CRF约束成linear chain CRF,然后linear chain
CRF和HMM的区别:是判别式模型和生成模型的区别,是函数拟合和概率模型的区别。

188金宝搏 10


本文为机器之心报道,转载请联系本公众号获得授权。

这是线性链条件随机场的形式。

而且,我们可以更高效地训练这个集合,而不是简单地对排序进行采样并逐个评估其条件因子。关键的观测是每个条件在很多排序中是共享的:即使在低维样本中,P(X_3|X_1,X_2)
也是由两种排序 (1,2,3 和 2,1,3) 共享的。一般来说,所有这些条件分布
P(X_C 是变量的任何子集,不包括 X_i)都与 X_i
之前或之后的变量排序无关,这大大减少了我们需要学习的不同概率分布的数量。

 

事实证明,我们可以通过吉布斯采样做到这一点!吉布斯采样是通过反复对单个变量重新采样,从联合分布中抽取样本的过程。可以用它来比喻反复修改乐谱的过程。在每一步中,抹去乐谱的某些部分并让模型重写。这样的话,模型一直都会有参考材料。尽管参考材料本身可能不断变动,也可能在之后的迭代中被重写。这没关系,因为模型当前的决策也不是一成不变的。渐渐地,乐谱就成了一首和谐的曲子。

基本符号:Y是序列的标注,X是序列的特征

条件随机场是指这个图里面一些点我已经观测到了,求,在我观测到这些点的前提下,整张图的分布是怎样的。就是given观测点,你去map
inference也好你去做之类的事情,你可能不求具体的分布式什么。这里还要注意的是,马尔科夫随机场跟贝叶斯网络一样都是产生式模型,条件随机场才是判别式模型。

CRF只需要考虑当前观测状态的特性,不像HMM有严格的独立性的要求。
从图的角度来看,就是观测序列的元素之间并不存在图结构。
从建立模型的角度来看,CRF只考虑观测序列X整体,而HMM是将每一个时刻的状态都考虑在内,并且对观测序列做出了马尔科夫独立性假设
正是因为CRF不做独立性假设,这就是“条件随机”的含义。

188金宝搏 11

就是linear chain CRF常见的两种特征函数指数和的形式。
注意点!!!高潮来了!!如果我们把上式中的特征函数188金宝搏 12去掉,得到就是自变量X关于Y的logistic回归(加上一个normalizer函数Z(x)),每个Y和X之间对数线性关系。

好了,那么是不是可以说linear chain
CRF是logistic回归,再加上了有关相邻项某种神秘联系的参数呢?看起来是这样的,我也不敢确定=
=、、
之后呢,再从HMM的角度看。

    CRF模型的特点:首先,CRF在给定了观察序列的情况下,对整个的序列的联合概率有一个统一的指数模型。一个比较吸引人的特性是其 损失函数 的凸面性

这样出来的图是等价于吉布斯分布的,就是说,你可以只在每个最大子团上定义一个联合分布(而不需要对每个边定义一个联合分布),整个图的联合概率分布就是这些最大子团的联合概率分布的乘积。当然这里最大子团的联合概率并不是标准的联合概率形式,是没归一化的联合概率,叫factor(因子),整个图的联合概率乘完之后下面再除一个归一化因子和就归一化了,最终是一个联合概率,每个子团记载的都是因子,是没归一化的概率,严格大于零,可以大于一。但关键是依赖关系、这些相关关系已经encode在里面了。

两者的建模方式不同:

  CRF模型的优点:首先,CRF模型由于其自身在结合多种特征方面的优势和避免了标记偏置问题。其次,CRF的性能更好,CRF对特征的融合能力比较强,

  对于实例较小的时间类ME来说,CRF的识别效果明显高于ME的识别结果。

 

    论文引入条件随机域建立词性标注模型,易于融合新的特征,并能解决标注偏置的问题。

马尔可夫独立性假设是说:对一个节点,在给定他所连接的所有节点的前提下,他与外接是独立的。就是说如果你观测到了这个节点直接连接的那些节点的值的话,那他跟那些不直接连接他的点就是独立的。形式上,我们是想把他设计成这个样子的,边可以传递信息,点与点之间通过边相互影响,如果观测到一个节点的取值或者这个节点的取值是常量,那么别的节点就无法通过这个节点来影响其他节点。所以对一个节点来说,如果用来连接外界的所有节点都被锁住了,那他跟外界就无法传递信息,就独立了。这比贝叶斯网络就直观多了,贝叶斯网络要判断两点之间独立还要看有没有v-structure,还要看边的指向。

我们利用这些随机变量之间的关系建模实际问题中的相关关系,实际问题中我们可能只知道这两个变量之间有相关关系,但并不知道具体是多少,我们想知道这些依赖关系具体是什么样的,于是就把相关关系图画出来,然后通过实际数据训练去把具体的相关关系训练出来嵌入到图里,然后用得到的这个图去进行预测、去进行reference等很多事情。

 

  最大熵模型的不足:首先,最大熵统计模型中二值化特征只是记录特征的出现是否,而文本分类需要知道特征的强度,因此,它在分类方法中不是最优的;

– 概率无向图模型(probabilistic undirected graphical model)
首先我们有无向图G=(V,E),V是节点,E是边,
图G中每个节点v上都有一个随机变量y,这样所有的节点上的随机变量就构成一组随机变量Y,图G上有联合概率分布P(Y)。

  CRFs具有很强的推理能力,并且能够使用复杂、有重叠性和非独立的特征进行训练和推理,能够充分地利用上下文信息作为特征,还可以任意地添加其他外部特征,

这是马尔科夫随机场。

首先什么是随机场呢,一组随机变量,他们样本空间一样,那么就是随机场。当这些随机变量之间有依赖关系的时候,对我们来说才是有意义的。

    其次,条件随机域模型相比较改进的隐马尔可夫模型可以更好更多的利用待识别文本中所提供的上下文信息以得更好的实验结果

188金宝搏 13

MEMM模型克服了观察值之间严格独立产生的问题,但是由于状态之间的假设理论,使得该模型存在标注偏置问题。

**模型

本文参考自:

线性链条件随机场的形式是这样的,观测点是你要标注的这些词本身和他们对应的特征,例如说词性是不是专有名词、语义角色是不是主语之类的。隐节点,是这些词的标签,比如说是不是人名结尾,是不是地名的开头这样。这些隐节点(就是这些标签),依次排开,相邻的节点中间有条边,跨节点没有边(线性链、二阶)。然后所有观测节点(特征)同时作用于所有这些隐节点(标签)。至于观测节点之间有没有依赖关系,这些已经不重要了,因为他们已经被观测到了,是固定的。

*
*

而时间序列,能很好的表达当前状态与之前状态有关而和后续状态无关这一特性,即在图中的有向性,因此时间序列模型相比状态模型更合适。

这三个模型都可以用来做序列标注模型。但是其各自有自身的特点,HMM模型是对转移概率和表现概率直接建模,统计共现概率。而MEMM模型是对转移
概率和表现概率建立联合概率,统计时统计的是条件概率。MEMM容易陷入局部最优,是因为MEMM只在局部做归一化,而CRF模型中,统计了全局概率,在
做归一化时,考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置的问题。

 

  CRF模型的不足:首先,通过对基于CRF的结合多种特征的方法识别英语命名实体的分析,发现在使用CRF方法的过程中,特征的选择和优化是影响结果的关键因素,

这是一个典型的无条件优化问题,基本上所有我知道的优化方法都是优化似然函数。典型的就是梯度下降及其升级版(牛顿、拟牛顿、BFGS、L-BFGS),

——————————————————————我是华丽丽的分割线———————————————————————————————————

  CRFs与最大熵模型的本质区别是:最大熵模型在每个状态都有一个概率模型,在每个状态转移时都要进行归一化。如果某个状态只有一个后续状态,那么该状态到后续状态的跳转概率即为1。这样,不管输入为任何内容,它都向该后续状态跳转。而CRFs是在所有的状态上建立一个统一的概率模型,这样在进行归一化时,即使某个状态只有一个后续状态,它到该后续状态的跳转概率也不会为1,从而解决了“labelbias”问题。因此,从理论上讲,CRFs非常适用于中文的词性标注。

 

对于MEMM的话,其判断这个标注成立的概率为 P=
P(s转移到s|’我’表现为s)*P(‘我’表现为s)*
P(s转移到b|’爱’表现为s)*P(‘爱’表现为s)*..训练时,要统计条件状态转移概率矩阵和表现矩阵。

CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设。当然,模型相应得也变复杂了。

  使得模型能够获取的信息非常丰富。同时,CRFs解决了最大熵模型中的“label bias”问题。

——————————————————————我是华丽丽的分割线———————————————————————————————————

(2)同时,由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点
­­————与MEMM比较

HMM的出现,拓展了贝叶斯的图关系,model了观测变量的markov性,但是,始终表达能力不够,没有context。

188金宝搏 14

嗯,这样一看就和前面的CRF长的很像了,就是一个是条件概率,一个是联合概率,
这也是discriminative model和generative model的区别。
注意Z(x)是遍历所有y的全局归一化,写在乘积符号里面的是local归一化,得到的是MEMM。
其实generative和discriminative的差别是很大的,因为假设不一样,结果和参数训练的方法都不同,

图中{Y1,Y2,Y3}和{Y3,Y2,Y4}是最大团,包含的任何节点都两两相连被称作团。最大团就是不能再添加节点。

188金宝搏 15

缺点:训练代价大、复杂度高

优点:

(3)CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。————与ME比较

|     A, B     | P(A, B) |
|--------------+---------|
| A = 0, B = 0 |   100   |
| A = 0, B = 1 |    10   |
| A = 1, B = 0 |    20   |
| A = 1, B = 1 |   200   |

    条件随机域(CRF)模型应用到了中文名实体识别中,并且根据中文的特点,定义了多种特征模板。并且有测试结果表明:在采用相同特征集合的条件下,条件随机域模型较其他概率模型有更好的性能表现。

边e表示相邻节点的变量存在某种神秘的联系。
图G上的随机变量Y满足马尔科夫性,即两个不相邻的节点上的随机变量yi,yj条件独立。
这个模型的定义就这么简单,它又叫马尔科夫随机场(MRF),这个名字貌似响亮一些。
再稍微介绍一下最大团(maximal clique) 如下图

HMM模型中存在两个假设:一是输出观察值之间严格独立,二是状态的转移过程中当前状态只与前一状态有关(一阶马尔可夫模型)。

 

CRF不model输出与单个变量之间的关系了,而是与LR类似,**model y 与
所有的向量x1,x2,x3,x4…..xn之间的关系,**

  特征选择问题的好与坏,直接决定了系统性能的高低。其次,训练模型的时间比ME更长,且获得的模型很大,在一般的PC机上无法运行。

学到条件随机场,发现了HMM和CRF的一个显著区别,即节点与节点之间的边,HMM是有向的,而CRF是无向的。

——————————————————————我是华丽丽的分割线———————————————————————————————————

188金宝搏 16

举个例子,对于一个标注任务,“我爱北京天安门“,

 

  • 对于CRF,直接用最大熵准则建模p(Y|X)的概率。
  • 而HMM,是在做了markov假设下去建模p(Y,X)(即一切观察量的联合概率分布)。

188金宝搏 17

再次注意CRF跟markov没关系!linear chain CRF才和markov有关。

一部分区别在于概率归一化的时候。CRF的归一化在模型上更加合理(但是在计算的时候可能导致计算量增加),而HMM的归一化会导致label
bias问题

对于CRF的话,其判断这个标注成立的概率为
P= F(s转移到s,’我’表现为s)….F为一个函数,是在全局范围统计归一化的概率而不是像MEMM在局部统计归一化的概率。

  • Hammersley-Clifford定理
    概率无向图模型的联合概率分布P(Y)可以表示为如下形式:

  最大熵马尔科夫模型把HMM模型和maximum-entropy模型的优点集合成一个产生式模型,这个模型允许状态转移概率依赖于序列中彼此之间非独立的特征上,

188金宝搏 18

  最大熵模型可以使用任意的复杂相关特征,在性能上最大熵分类器超过了Byaes分类器。但是,作为一种分类器模型,这两种方法有一个共同的缺点:

(1)CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样) ————与HMM比较

呐,这些特征是怎么表达的呢?是这样,他有两种特征,一种是转移特征,就是涉及到两个状态之间的特征。另一种就是简单的状态特征,就是只涉及到当前状态的特征。特征表达形式比较简单,就是你是否满足我特征所说的这个配置,是就是1,不是就是。比如说,上一个状态是地名的中间,且当前词是’国’(假设他把中国分词
拆成两个了),且当前词的词性是专有名词、且上一个词的词性也是专有名词,如果满足这个配置、输出就是1、不满足就输出0。然后这些特征每个都有一个权
重,我们最后要学的就是这些权重。特征跟权重乘起来再求和,外面在套个exp,出来就是这个factor的形式。这是一个典型的对数线性模型的表达方式。这种表达方式非常常见,有很多好处,比如为什么要套一个exp呢?一方面,要保证每一个factor是正的,factor可以大于一也可以不归一化,但一定要是正的。另一方面,我们最后要通过最大似然函数优化的,似然值是这些
factor的累乘,对每一个最大子团累乘。这么多项相乘没有人直接去优化的,都是取log变成对数似然,然后这些累乘变成累加了嘛,然后优化这个累加。无论是算梯度用梯度下降,还是另导数为零求解析解都很方便了(这个表达形态下的目标函数是凸的)。你套上exp之后,再取对数,那么每个因子就变成一堆特征乘权重的累积,然后整个对数似然就是三级累积,对每个样本、每个团、每个特征累积。这个形式就很有利了,你是求导还是求梯度还是怎样,你面对的就是一堆项的和,每个和是一个1或者一个0乘以一个
权重。当然后面还要减一个log(Z),不过对于map
inference来说,给定Z之后log(Z)是常量,优化可以不带这一项。

– HMM和linear chain CRF
HMM的概率分布可以写成这样的形式:

                                  标注为” s s  b  e b c e”

  在命名实体识别的任务中,由于实体本身结构所具有的复杂性,利用简单的特征函数往往无法涵盖所有的特性,这时HMM的假设前提使得它无法使用复杂特征(它无法使用多于一个标记的特征。

  其次,由于算法收敛的速度较慢,所以导致最大熵统计模型它的计算代价较大,时空开销大;再次,数据稀疏问题比较严重。 

这是条件随机场,NER(命名实体识别)这个任务用到的是线性链条件随机场。

再详细点:

首先我们推断的目标是给定一个X,找到使P(Y|X)最大的那个Y嘛。然后这个Z(X),一个X就对应一个Z,所以X固定的话这个项是常量,优化跟他没关系(Y的取值不影响Z)。然后
exp也是单调递增的,也不带他,直接优化exp里面。所以最后优化目标就变成了里面那个线性和的形式,就是对每个位置的每个特征加权求和。比如说两个状态的话,它对应的概率就是从开始转移到第一个状态的概率加上从第一个转移到第二个状态的概率,这里概率是只exp里面的加权和。那么这种关系下就可以用维特比了,首先你算出第一个状态取每个标签的概率,然后你再计算到第二个状态取每个标签得概率的最大值,这个最大值是指从状态一哪个标签转移到这个标签的概率最大,值是多
少,并且记住这个转移(也就是上一个标签是啥)。然后你再计算第三个取哪个标签概率最大,取最大的话上一个标签应该是哪个。以此类推。整条链计算完之后,
你就知道最后一个词去哪个标签最可能,以及去这个标签的话上一个状态的标签是什么、取上一个标签的话上上个状态的标签是什么,酱。这里我说的概率都是
exp里面的加权和,因为两个概率相乘其实就对应着两个加权和相加,其他部分都没有变。
**
学习

CRF: 最大熵准则建模条件概率
HMM:假设出变量间的概率分布,建模所有观察到的变量的联合分布。在Y变量间做了markov假设。

  HMM模型将标注看作马尔可夫链,一阶马尔可夫链式针对相邻标注的关系进行建模,其中每个标记对应一个概率函数。HMM是一种产生式模型,定义了联合概率分布

然后呢,有个定理叫Hammersley-Clifford定理,给出了无向图模型P(Y)的公式。

这里再多说点,HMM叫hidden markov model,
markov上面已经说了,而hidden是什么意思呢?在上面的例子里,Y是序列的标注,是可见的观察量。但是HMM的标准介绍里面,Y是未知量,HMM建模的是p(X)
= sum_Y P(Y,X) 而不是
P(Y,X),注意要对Y求和的。搞语音识别的同学一般接触的是这个HMM,这个是带有hidden的真身,而搞自然语言处理的同学接触的多是Y是可见量的那个HMM,但其实是阉割版的HMM,因为根本没有hidden的变量啊,没有了hidden变量的hmm就不需要EM来训练,很不好玩的。学hmm的时候不学EM,很可惜,EM是ML领域最神奇的算法。

– 条件随机场(conditional random field)
定义:(和上面的模型比较就是多了一个X。)
设X与Y是随机变量,P(Y|X)是给定条件X的条件下Y的条件概率分布,若随机变量Y构成一个由无向图G=(V,E)表示的马尔科夫随机场。则称条件概率分布P(X|Y)为条件随机场。
虽然定义里面没有要求,我们还是默认X和Y结构一致,这是general
CRF,然后看看linear chain CRF,

CRF叫condition random
field,为啥这么叫呢,我猜呢,是一般无向图模型大家就叫markov random
field,CRF呢是个二部图,一部分是Y一部分是X,最后建模的是P(Y|X)是个条件概率,所以叫condition
random field.
我就这么一猜,确实有点不负责任,这个名字的来源我一直么研究过,这段要是说错了请见谅。

     HMM模型的这个假设前提在比较小的数据集上是合适的,但实际上在大量真实语料中观察序列更多的是以一种多重的交互特征形式表现,观察元素之间广泛存在长程相关性。

正文:
一般可以从两个方面来理解CRF模型:
一个从一般的graphical model来的(可以看成logistic回归的扩展)。
另一个方面是linear chain CRF与HMM有类似的结构,而分别是discriminative
model和generative model。
直接扔出CRF的公式会给人一种wtf的感觉,我阅读的材料都是从无向图模型开始说起,从这个模型开始呢,可以理解公式怎么来的,那我们就从这个模型说起吧。

右边取对数变成和的形式,再加上归一化的Z(x) 得到

嗯,所以说我们就是从这两条路走到了线性的CRF,general的CRF也是从MRF来的,公式是最大团的乘积形式,计算上麻烦一些,会用到loopy
belief propagation。

 

  每个词都是单独进行分类的,标记之间的关系无法得到充分利用,具有马尔可夫链的HMM模型可以建立标记之间的马尔可夫关联性,这是最大熵模型所没有的。 

而CRF则可以成为一个HMM的扩展,称为状态序列模型更合适,从【有向边】升级到【无向边】。

  其次,最大熵统计模型可以灵活地设置约束条件,通过约束条件的多少可以调节模型对未知数据的适应度和对已知数据的拟合程度;

这里版本最高的就是L-BFGS了吧,所以一般都用L-BFGS。除此之外EM算法也可以优化这个问题

    再次,词性标注主要面临兼类词消歧以及未知词标注的难题,传统隐马尔科夫方法不易融合新特征,而最大熵马尔科夫模型存在标注偏置等问题。

  从而将上下文信息引入到模型的学习和识别过程中,提高了识别的精确度,召回率也大大的提高,有实验证明,这个新的模型在序列标注任务上表现的比HMM和无状态的最大熵模型要好得多。

贝叶斯是生成模型,并且假设变量之间相互独立。那么对于像NLP中NER这样的任务是肯定不行的。

——————————————————————我是华丽丽的分割线———————————————————————————————————