条件随机场(CRF)
来源:互联网 发布:qq飞车cdkey软件 编辑:程序博客网 时间:2024/05/21 11:19
转载自http://www.tanghuangwhu.com/archives/162
关联数据有两个特点:第一,我们准备建立模型的实体之间存在统计依赖性,第二,每个实体自身具有丰富的有利于分类的特征例如,当Web文档进行分类时候,网页上的文本类标签提供了很多信息,但超链接定义的页面之间的关系,可以进一步提高分类的准确度,图模型很自然的建立了实体之间的结构化关系。通常来讲,图模型已被用于表示联合概率分布P(Y,X),其中的变量y代表我们希望预测的属性,输入变量X代表获得的实体信息。利用关系数据中的局部特征对联合分布建模非常困难,因为这需要对包含复杂依赖关系的P(X)建模,引入数据之间的关系是把双刃剑,如果模型中引入它,导致模型非常复杂,如果忽略它,那么模型的准确性就会受到影响.对于分类问题来说,直接模拟的条件分布P(Y|X)条件随机场就是这么做的。条件随机场是关联这一个图结构的条件分布P(Y| X),因为直接对条件概率建模,输入变量X之间的关联不需要显示的表达出来
通常我看到一个模型,我总是会试着和我所知道的一些模型去进行比较。CRF算是机器学习模型中比较复杂的一个模型。同输入输出角度, CRF从数据空间来看是一个序列化的输入和序列化的输出, 从函数空间角度,就是一个指数函数,和逻辑回归函数形式一致,只是他的输入使出是一个序列(一条句子)或者一个矩阵(一副图像),损失函数是cross entropy,优化算法一般采用梯度下降类算法(LBFGS),但是在优化的过程中伴随着复杂的inference过程。
判别式模型和产生式模型
朴素贝叶斯和逻辑回归模型之间的一个重要区别是,朴素贝叶斯是产生式模型,它基于联合分布P(X,Y)建模,而逻辑回归是判别式模型,它直接对条件分布P(Y|X)建模,这一段中我们讨论产生式模型和判别式模型的区别和判别式模型在很多应用中的优点,具体来说,我们会集中以朴素贝叶斯和逻辑回归为例,但是这些区别可以推广到一般的产生式模型和判别式模型。
对条件分布p(Y| X)建模,不包括对P(X) 建模(P(X)对分类来说无关紧要),对P(X)建模非常困难,因为P(X)包含很多相互依赖的特征,比如在 NER应用中,HMM只依赖一个特征,这个词本身,但是很多词,特别是一些特定的名字可能没有出现在训练集合中,因此词本身这个特征是未知的,为了标注未登陆词,我们需要利用词的其他的特征,如词性,相邻词,前缀和后缀等。
在产生式模型中包含相互依赖的特征有两种方式,加强模型来表达输入数据之前的关联,或者简单的做独立性假设,比如朴素贝叶斯假设,第一种方法通常很难在提高模型复杂度的同时仍然保持模型优化的简便,比如我们很难建立词性和词的后缀之间的关系,而实际上我们也不是特别愿意去这么做,第二种方法,对输入数据做独立性假设会使得准确性降低,尽管朴素贝叶斯在文本分类应用中表现出其的好,但是在很多其他的应用中都比逻辑回归要逊色虽然朴素贝叶斯的分类准确率较高,但是在概率估计应用方便表现较差。
线性链式CRF模型
模型定义
线性链式的条件随机场如下所示
样本级的归一化函数
从HMM到CRF
我们已经看到了判别式模型和序列模型的有点,而线性链式条件随机场综合了这两点,我们从HMM引入线性链式CRF,然后在讨论模型的参数估计
通常HMM表达式如下
可以进一步表示成下面这种形式
最后从HMM导出条件概率模型如下:
这个条件概率是线性链式条件随机场,只是特征只包括词本身这一个,当然线性链式条件随机场可以包含很多其他的特征。
我们已经看到当联合分布为HMM的形式时,相应的条件概率分布为线性链式的CRF,在HMM中状态i 到状态j的转移概率总是相同的,和当前的输入无关,但是在CRF中,我们可以通过加入特征
模型优化
这一节我们来讨论如何估计CRF的参数
优化采用的是带惩罚项的极大似然估计,注意也基于样本独立这个假设,然后通过也通过对数运算把累积问题转换为累加问题。
展开之后得到了下面的形式:
假设参数的先验分布为高斯分布,得到下式,即加上了一个正则化项:
优化最重要的就是梯度的计算了,梯度本身就是对各参数的求导过程。求导的过程可以抛开对各样本梯度的求和,只需要关注一个样本,然后再求和即可,比较难理解的应该是第二项的求导了,
第一项是特征函数在先验分布(样本)上的期望,第二项是特征函数在当前模型参数下的期望,忽略正则项的情况下,当梯度为零的时候,两项相等。
推理(inference)
对CRF来说通常两类推理问题,
- 第一,在训练阶段,计算梯度需要每条边的边缘分布
p(y,y′|x(i)) ; - 第二,在测试阶段,求概率最大的标号序列(viterbi)
y∗=argmaxyp(y|x)
在CRF中要做的事情就是在上面那个梯度的公式中求出在当前样本及当前的参数下,各个label状态出现的条件概率。然后基于这个分布来计算特征在当前参数下的期望。注意这个计算是对每个样本进行计算。在图像数据中,inference通常只是求近似解,但是在一维问题中可以求的精确解的,HMM中有个问题是在给定参数之后求解最可能的序列和每个序列的概率,,同样
我们从HMM的算法出发,然后推广到线性链式CRF,HMM可以看错是一个因子图,
即
初始状态
可以看出
初始状态
可以看出
条件概率如下,
推广到线性链式CRF,
MEMM模型
给定观测序列
在MEMM模型中,概率
转移概率都可以通过
这个形式的分布满足最大熵概率分布,及满足特征的先验分布的期望等于特征在给定(训练好的)模型下的期望,即对于所有的i满足
假设序列
最大熵模型
假设 x 观测数据,y为标号,
当
当y为不同的标号状态时候,对应的
模型比较
优点:
(1)和HMM相比,CRF直接对后验概率建模,因而可以容纳任意的上下文信息。特征设计灵活,
(2)和MEMM相比,由于CRF计算全局最优输出节点的条件概率,MEMM只是由前一个状态转移的状态进行的归一,而是对序列的所有可能组合进行归一,克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点
(3)和ME相比,CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,考虑标号序列之间的关系,而不是把假设标注之间独立,
缺点:训练代价大、复杂度高
- CRF 条件随机场
- CRF-条件随机场
- 条件随机场(CRF)
- 条件随机场(CRF)
- 条件随机场(CRF)
- CRF(条件随机场)
- CRF-条件随机场
- 条件随机场CRF
- 条件随机场CRF
- 条件随机场CRF
- 条件随机场CRF
- 条件随机场CRF
- CRF条件随机场简介
- CRF条件随机场简介
- CRF++条件随机场 总结
- CRF条件随机场简介
- CRF条件随机场简介
- CRF条件随机场简介
- mysql5.5编码问题
- 编码规范系列(一):Eclipse Code Templates设置
- QT中的多线程编程
- PyQT之信号槽
- Android系统Camera图片反转的一个问题
- 条件随机场(CRF)
- Chipmunk2D中文手册
- mac快捷键
- 为什么Java7开始在数字中使用下划线
- ngrok 内网穿透利器
- 如何打一个既支持模拟器也支持真机的库 .a 文件
- PHP include_once 与include require_once 与 require
- unity中消息传递的三种方法
- 网页端修改