条件随机场的肤浅理解
条件随机场(Conditional Random Field,CRF)是自然语言处理的基础模型,是一个无向图概率模型。经过长期的发展目前已经广泛应用于词性标注、图像分类等众多场景。
一、基本概念
随机场 : 给定一组随机变量: X={X1,X2,X3...,Xn}X = \{X_1,X_2,X_3...,X_n\}X={X1,X2,X3...,Xn}, 每一个随机变量 XiX_iXi 又可以在另一个集合 Y={Y1,Y2,Y3...,Ym}Y = \{Y_1,Y_2,Y_3...,Y_m\}Y={Y1,Y2,Y3...,Ym}中随机取值。举个图像分类的例子:可以将图像的所有像素作为随机变量: I={I1,I2,I3...,In}I = \{I_1,I_2,I_3...,I_n\}I={I1,I2,I3...,In} ,所有的类别为: C={C1,C2,C3...,Cm}C = \{C_1,C_2,C_3...,C_m\}C={C1,C2,C3...,Cm},那么图像分类实际就是给每个像素一个类别,因此可看做一个随机场。
马尔科夫随机场:随机场的特例,它假设随机场中某一个位置的取值只跟它相邻的位置的取值有关,与其他位置无关。比如上述图像分类的例子,某一个像素的分类,只跟周围的8邻域像素的分类有关而与其他像素无关。
条件随机场: 给定随机变量 XXX 的取值,若随机变量 YYY 构成的是一个马尔科夫随机场,则称条件概率分布 P(Y∣X)P(Y|X)P(Y∣X) 是条件随机场。即条件随机场是给定一组输入序列条件下另一组输出序列的条件概率分布模型。如上述图像分类的例子中,一般给定图像的像素颜色信息 III , 预测每个像素 IiI_iIi 的类别就可看做一个条随机场。
二、势函数
给定如下的随机场:
图 1 . 概率无向图
图中的边表示节点之间具有相互关系,这种关系是双向的、对称的。如:x3x_3x3和x5x_5x5之间有边相连,则x3x_3x3和x5x_5x5具有相关关系,这种相关关系采用势函数进行度量。例如,可以定义如下势函数:
ψ(x3,x5)={2x3=x50.1otherwise\psi(x_3,x_5) = \begin{cases} 2 & x_3 = x_5 \\ 0.1 & otherwise \end{cases}ψ(x3,x5)={20.1x3=x5otherwise
则说明该模型偏好变量x3x_3x3和x5x_5x5拥有相同的取值,势函数刻画了局部变量之间的相关关系,也可以理解为模型的局部软约束条件。为了满足非负性,指数函数常被用于定义势函数:
ψ(x)=e−H(x)\psi(x) =e^{-H(x)}ψ(x)=e−H(x)
三、主要目标
我们的目标是计算最大后验概率 P(Y∣X)P(Y|X)P(Y∣X),即给定 XXX 后,最正确的分类结果 YYY, 使得 P(Y∣X)P(Y|X)P(Y∣X) 取得最大值。
那么如何求解这样一个概率问题呢?
为了求解给定的概率无向图模型,我们希望将整体的联合概率写成若干个子联合概率的乘积形式,也就是将概率图进行因子分解,这样便于模型的学习与计算。而事实上,概率无向图模型的最大特点就是便于因子分解。实际计算过程中,一般将无向图分成一个一个的团(团(clique)就是一个无向图的完全子图,既然是完全图,当然每对顶点之间都必须要有边相连。如图1中的{x2,x3,x5}\{x_2,x_3,x_5\}{x2,x3,x5},{x3,x4,x5}\{x_3,x_4,x_5\}{x3,x4,x5},以及所有的相邻两个顶点构成的子图),并在每一个团上定义势函数来计算这个最大概率。
这里引入论文中的文字:
图 2 . 条件随机场的最大后验概率形式化
具体如何计算就不展开,可以参看论文:Efficient inference in fully connected crfs with gaussian edge potentials.
四、DenseCRF
论文:Efficient inference in fully connected crfs with gaussian edge potentials[J]. .
代码:https://github.com/heiwang1997/DenseCRF
DenseCRF就是上节末尾的论文,在图像分类上效果非常好而且很高效。大致分类效果如下图3所示,需要说明的是这里的输入已经包含初始像素的分类,CRF对像素点进行了重新精确地分类。可以看到第4列的DenseCRF分类非常精确。
图 3 . DenseCRF分类效果
基本的CRF模型是由一阶势函数(单个变量的分类趋势)和相邻元素构成的势函数所组成的图模型,很显然,在图像任务上,该模型一个劣势就是它只考虑了相邻的邻域元素,没有对整体进行考虑。
DenseCRF提出将每一个像素点和其他所有像素点连接,达到稠密的全连接模型,以实现更精确的分类。但与此同时,将会导致边数过多,因此本文也提供了高效的求解算法,但本文不做进一步介绍,只是单纯介绍DenseCRF的设计。
注意看图2的英文原文部分,实际上要求的最大的后验概率 P(Y∣X)P(Y|X)P(Y∣X) 等价于求E(X)E(X)E(X)的最小值,因此实际还是转换为一个能量最小化的问题。而DenseCRF的能量函数表示为:
E(x)=∑iψu(xi)+∑i<jψp(xi,xj)E(x) = \sum_{i}\psi_u(x_i) + \sum_{i<j}\psi_p(x_i, x_j) E(x)=i∑ψu(xi)+i<j∑ψp(xi,xj)
该能量函数包括两项:前者称为一元势函数(unary potential function), 后者称为二元势函数(pairwise potential function).
Unary potential function: 每个像素都关联一个nary potential, 表示每个像素本身的分类损失。若某个像素 IiI_iIi 取得正确的分类,那么该像素的unary损失 ψu(xi)\psi_u(x_i)ψu(xi) 较小。这一项主要惩罚错误的像素分类。
Pairwise potential function: 任意两个像素均会关联一个pairwise potential,用于惩罚具有不同标签的两个像素。1)如果两个标签不同的像素,他们的纹理、形状、颜色、位置等都差异较大,那么惩罚较小,希望这种分类得以保持;2)反之,如果这些属性都很接近,那么惩罚较大,实际上希望他们能够重新分类到同一类。
Pairwise potential function的定义和解释直接贴原文:
图 4 . DenseCRF对pairwise potential的解释
参考资料
[1] 知乎:CRF条件随机场的原理、例子、公式推导和应用
[2] 知乎:如何轻松愉快地理解条件随机场(CRF)?
[3] 知乎:全方位理解条件随机场(CRF):原理、应用举例、CRF++实现
[4] CSDN:概率图之马尔可夫随机场(Markov Random Field,MRF)
[5] CSDN:马尔可夫随机场 MRF
[6] 知乎:FCN(3)—DenseCRF
[7] 知乎:FCN(5)—DenseCRF推导
条件随机场的肤浅理解相关推荐
- 机器学习之条件随机场CRF一点理解
https://blog.csdn.net/FX677588/article/details/53157878 1. 前言 最近看了一些有关于CRF的论文,基本概念懂,但是到求解的部分有些疑惑.CRF ...
- 条件随机场CRF的理解
1.个人理解和总结 对比HMM的状态转移概率矩阵和发射概率矩阵CRF有自己的定义在边上的特征函数(相当于转移概率)和定义在节点上的特征函数(相当月发射概率) 序列标注HMM可以根据转移概率矩阵和发射概 ...
- 条件随机场的简单理解
目录 什么是条件随机场 条件随机场长怎么样 如何构建特征函数 前向-后向算法 条件随机场的概率计算问题 条件随机场的预测问题 什么是条件随机场 条件随机场的定义 条件随机场总的来说就是只要满足&quo ...
- 【IM】关于条件随机场CRF的理解
条件随机场:(Conditional Random Filed,CRF),序列数据分类模型,组合连续的两种模式以识别整体模式序列. 序列数据分类的场景:词性标注.图像说明等,其基础模型是Logisti ...
- 11_条件随机场CRF2_统计学习方法
文章目录 三.条件随机场的概率计算问题 3.1 前向-后向算法 3.1.1 前向向量 3.1.2 后向向量 3.2 一些概率与期望值的计算 3.2.1 单个状态概率 3.2.2 两个状态的联合概率 3 ...
- 11_条件随机场CRF1_统计学习方法
文章目录 一.条件随机场相关基本概念 1.1 条件随机场 1.2 马尔科夫随机场 1.2.1 马尔科夫 1.2.2 随机场 1.3 概率无向图模型 1.3.1 图(graph) 1.3.2 无向图 1 ...
- 《统计学习方法》啃书辅助:第11章 条件随机场
11.1 概率无向图模型 [补充解释]成对马尔可夫性可以概括为:概率无向图模型中,任意两个没有边连接的结点是相互独立的. [补充解释]局部马尔可夫性可以概括为:概率无向图模型中,任意两个没有边直接相连 ...
- 一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!
1. 马尔可夫网络.马尔可夫模型.马尔可夫过程.贝叶斯网络的区别 相信大家都看过上一节我讲得贝叶斯网络,都明白了概率图模型是怎样构造的,如果现在还没明白,请看我上一节的总结: 贝叶斯网络 这一节我们重 ...
- 一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!(词性标注代码实现)
文章目录 1. 马尔可夫网络.马尔可夫模型.马尔可夫过程.贝叶斯网络的区别 2. 马尔可夫模型 2.1 马尔可夫过程 3. 隐马尔可夫模型(HMM) 3.1 隐马尔可夫三大问题 3.1.1 第一个问题 ...
最新文章
- 1过程流程图 3 apqp_为什么说APQP以最低成本及时提供优质的产品?
- 小黑小波比.sql语句截取字符串的子串
- 三种集中式总线判优控制
- react todolist代码优化
- mysql5.5启动报错:The server quit without updating PID file ([FAILED]localhost.localdomain.pid)....
- Ansible管理命令
- hibernate连接成功
- SkinSharp函数文档
- 一级注册结构工程师《基础考试》题库历年真题
- 《韩立刚计算机网络》第一章
- matlab中数据导入及处理,matlab 和 excel 数据的导入导出
- 中国农业大学计算机专硕2019分数线,中国农业大学2019年硕士研究生复试分数线...
- maya2020 redshift3.0.31demo版安装方法。
- aiohttp 高并发web服务_python后台——asyncio,aiohttp入门教程,多进程+asyncio
- c语言程序(十八)——迭代计算
- android arcgis使用自定义图片背景底图(tif图片制作)
- python sample函数取样_Pytorch各种取样器sample
- 入门级短信推送,你还不会吗?
- android矢量图之VectorDrawable ,自由又方便的填充色彩
- 百度地图-坐标转换及位置解析