机器学习实战——条件随机场(CRF)
来源:互联网 发布:淘宝开店链接 编辑:程序博客网 时间:2024/05/01 11:06
声明:本文是在《最优化方法》课程中阅读的Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data这篇文章后的总结。
CRF由来
条件随机场(CRF)这种用来解决序列标注问题的机器学习方法是由John Lafferty于2001年发表在国际机器学习大会ICML上的一篇经典文章所引入,对后人的研究起到了非常大的引领作用。特别是标注问题在很多自然科学领域有广泛应用,在自然语言处理领域对于自动分词、命名实体标注等问题都以这篇文章作为开山之作。
CRF的特性
1.判别式模型
CRF是一种概率无向图判别式模型,解决了HMM(隐马尔科夫)和MEMM(最大熵马尔科夫)模型在序列标注中的标注偏差(bias)问题。
2. 实用性高
CRF使用一个单独的指数模型来表示在给定观测序列条件下整个序列的标签的联合概率,不同状态下的不同特征能够相互进行平衡。同时,可以把CRF当做一个具有非规范化的转移概率的有限状态模型,使用MLE或者MAP进行学习之后可以得到一个定义良好的可能标注的概率分布。同时,训练的损失函数是凸函数,保证了全局收敛性,是无约束凸优化问题,具有非常好的实用性
模型详解
模型定义
随机变量
定义:给定图
在序列标注问题中,所有元素连接成为一条链式结构,因此定义中的图结构在处理序列标注问题时默认为线性链式结构,也就是
根据上述假设,可以得出如下的线性链条件随机场:
设
概率表示
根据Hammersley 和 Clifford于1971提出的随机场基本理论,可以得出上述条件概率分布由如下的形式
其中
优化算法
模型的学习策略是最大似然估计,在一直训练集的前提下,可以得到经验分布
将条件随机场模型
针对上述目标函数,需要求解其最大值,得到最优的权重值,从而就可以得到CRF模型。这是一个无约束优化问题,求解方式较多,但是在序列标注问题中涉及到的特征函数的维度会非常高,在实际实现中需要考虑高维问题。
IIS(论文中给出)
文中的作者给出的是改进的迭代尺度法(IIS)进行求解的,通过迭代不断优化目标函数的改变量的下界,达到最大化目标函数。详情可以参考论文介绍。
BFGS(自己给出)
由于上述问题是无约束优化问题,使用BFGS拟牛顿法可以明显降低运算步骤,同时对于数据维度特别大的问题时,可以使用有限内存的拟牛顿法L-BFGS进行计算。
最大似然函数的无约束优化问题为
梯度分量为
上面的计算中,需要训练样本中X,Y的联合经验分布,同时需要特征函数,其中的模型
详细算法描述如下
输入:特征函数f1,f2….fn,经验分布
输出:最优参数值
(1)选定初始点w^(0),取
(2)计算
(3)求出迭代更新步长
(4)使用非精确的先搜索方法求出步长
(5)更新权重值
(6)计算
其中,
开源工具
- CRF++,开源的C++实现,优化算法使用的是L-BFGS
- MALLET,通用的Java自然语言处理包,包含了分类、序列标注等多种算法
- NLTK,通用的python自然语言处理工具包,很多工具是从MALLET转换到python接口
- 机器学习实战——条件随机场(CRF)
- 机器学习算法——条件随机场CRF
- 机器学习 条件随机场CRF
- 机器学习:CRF:条件随机场
- 机器学习之条件随机场(CRF)
- 机器学习之条件随机场(CRF)
- 条件随机场(CRF)— 绪论
- 条件随机场(CRF)学习
- 机器学习之条件随机场CRF一点理解
- 条件随机场(CRF)——qjzcy的博客
- 条件随机场(CRF)
- 条件随机场(CRF)
- 条件随机场(CRF)
- 条件随机场(CRF)
- 条件随机场(CRF)
- CRF 条件随机场
- CRF-条件随机场
- 条件随机场(CRF)
- linux的udev和sysfs
- rsync+ssh同步备份文件
- Longest Valid Parentheses
- poj_1860
- 论ERP系统开发 二:框架结构
- 机器学习实战——条件随机场(CRF)
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- oralce用存储过程实现分页 以及 用java调用这个存储过程的代码
- 双向链表(1) - 基本介绍以及插入节点
- hznu 1139: Minimax Triangulation(dp,三角形面积模板)
- 中文版android开发资源
- jquery 初步(四)内容过滤器
- hiho第五十周——欧拉路·二(Fleury算法求欧拉路径)
- Unity3d NGUI的使用(三)(UIButton及Anchor实际使用)