机器学习之条件随机场(CRF)

简介: 什么是CRFCRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。

什么是CRF

CRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。

CRF较多用在自然语言处理和图像处理领域,在NLP中,它是用于标注和划分序列数据的概率化模型,根据CRF的定义,相对序列就是给定观测序列X和输出序列Y,然后通过定义条件概率P(Y|X)来描述模型。

CRF的输出随机变量假设是一个无向图模型或者马尔科夫随机场,而输入随机变量作为条件不假设为马尔科夫随机场,CRF的图模型结构理论上可以任意给定,但我们常见的是定义在线性链上的特殊的条件随机场,称为线性链条件随机场。

概率无向图模型

前面说到CRF的输出随机变量是一个概率无向图模型,那么现在看看该模型。

概率无向图模型是由无向图表示的联合概率分布,假设联合概率分布P(Y)通过无向图来表示,则在图中节点表示随机变量,边表示随机变量之间的依赖关系,联合概率分布P(Y)满足马尔科夫性则称其为概率无向图模型,或者是马尔科夫随机场。

如下图,图是一个由节点和边组成的结构体,无向是指边没有方向,整个图记作G=(V,E),其中V为节点的集合,E为边的集合。

这里写图片描述

每个节点v对应一个随机变量 Yv ,于是 Y=Yv|vV ,在观察序列X的条件下,每个随机变量 Yv 都满足马尔科夫特性,即

P(Yv|X,Yw)=p(Yv|X,Yw,wv) ,其中 wv 表示w和v是图G中邻近的两个节点。

线性链条件随机场

无向图的结构理论上可以是任意的,但在NLP中对于标记处理问题,对其建模主要用最简单最普通的链式结构,即线性链条件随机场。如下图,可以看到节点为线性链结构,节点对应了序列Y的元素,而观察序列X不做任何独立性假设,但X序列的结构也可以是线性链结构。

这里写图片描述

综上所述,设有线性链结构的随机变量序列 X=(X1,X2,...,Xn),Y=(Y1,Y2,...,YN) ,在给定观察序列X的条件下,随机变量序列Y的条件概率分布为 P(Y|X) ,若其满足马尔科夫特性,即
P(Yi|X,Y1,Y2...Yn)=P(Yi|X,Yi1,Yi+1) ,这时 P(Y|X) 则为线性链条件随机场。

概率的定义

在线性链条件随机场中,在给定的观察序列X情况下,某个特定序列Y的概率为 P(Y|X) ,根据定义有,

P(Y|X)=exp(i,kλktk(Yi1,Yi,X,i)+i,lμlsl(Yi,X,i))

其中, tk(Yi1,Yi,X,i) 表示转移函数,表示在序列X下序列Y在位置i-1及i对应的值转移概率,而 sl(Yi,X,i) 表示状态函数,表示在序列X下序列Y在位置i对应的值概率。另外 λk,μl 分别为两个函数的权重。

转移函数和状态函数都称为特征函数,特征函数一般取值0或1,满足特征函数的则为1,否则为0。比如下面的转移函数,只有当 Yi1,Yi 满足一定的条件时才为1,否则为0。

tk(Yi1,Yi,X,i)={1,0,conditionsaboutYi1,Yiotherwise

如果我们令 sl(Yi,X,i)=sl(Yi1,Yi,X,i) ,则转移函数和状态函数可以统一由特征函数表示,对特征在各个位置i求和,有

Fk(Y,X)=ni=1fk(Yi1,Yi,X,i)

最后再加上归一化,最终条件随机场的条件概率为,

P(Y|X)=1Z(X)exp(Kk=1λkFk(Y,X))

其中,
Z(X)=yexp(Kk=1λkFk(Y,X))

如何训练CRF

训练CRF主要就是要训练特征函数的权重,对于训练集 (x1,y1),(x2,y2),...,(xn,yn) ,采用极大似然估计法计算权重参数,条件概率的对数似然函数为:

L(λ)=x,yp~(x,y)ni=1(Kk=1λkfk(yi1,yi,x,i))xp~(x)logZ(x)

其中 p~(x,y) 为训练样本集中xy的经验概率,它等于xy同时出现的次数除以样本空间容量; p~(x) 为训练样本集中x的经验概率,它等于x出现的次数除以样本空间容量。

然后对 λ 求导,令其为0再求解出 λ ,即得到解。因为极大似然估计法不一定能得到一个近似解,所以需要利用一些迭代技术来确定参数,比如GIS或IIS算法,这里不再深入。

啥时考虑CRF

如果信息是与时间或空间的前后有关联时要考虑到CRF。

以下是广告

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

欢迎关注:

这里写图片描述
这里写图片描述

目录
相关文章
|
机器学习/深度学习 自然语言处理 C++
【Python机器学习】条件随机场模型CRF及在中文分词中实战(附源码和数据集)
【Python机器学习】条件随机场模型CRF及在中文分词中实战(附源码和数据集)
423 0
|
机器学习/深度学习 自然语言处理 大数据
【NLP】基于机器学习角度谈谈CRF(三)
基于机器学习角度谈谈CRF 作者:白宁超 2016年8月3日08:39:14 【摘要】:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果。在中文分词、中文人名识别和歧义消解等任务中都有应用。
1444 0
|
2月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1158 6
|
7月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
8月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
308 6
|
10月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
11月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
1884 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
11月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
264 14

热门文章

最新文章