条件随机场Conditional Random Field,CRF、隐马尔可夫模型Hidden Markov Model,HMM、马尔可夫随机场、马尔可夫性质傻傻分不清楚?帮你理理关系_条件扩散模型 和 隐马尔科夫的区别-程序员宅基地

技术标签: 自然语言处理  概率论  

前言

条件随机场(Conditional Random Field,CRF)和隐马尔可夫模型(Hidden Markov Model,HMM)都是自然语言处理的基础模型,还有马尔可夫随机场什么什么的。我在初学的时候属于是被搞晕了。在讲CRF的时候还会提到马尔可夫随机场什么的,搞得我云里雾里。

经过一段时间的学习,对这几个东西的区别有了一些认识。进行了一下简单的梳理,希望对大家理解有一些帮助。但我个人的理解多半有些瑕疵,希望大家能批评指正。

一些基础概念

了解相关的基础概念是区分的关键,不想看的可以直接跳转到区别

马尔可夫性质

其含义是,当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。

上述是节自wiki百科,简单的来说——当前的状态只与上一时刻的状态相关,即满足下式: p ( X n + 1 = x n + 1 ∣ X 1 = x 1 , . . . , X n − 1 = x n − 1 , X n = x n ) = p ( X n + 1 = x n + 1 ∣ X n = x n ) p\left ( X_{n+1}=x_{n+1}|X_{1}=x_{1},...,X_{n-1}=x_{n-1},X_{n}=x_{n} \right )=p\left ( X_{n+1}=x_{n+1}|X_{n}=x_{n} \right ) p(Xn+1=xn+1X1=x1,...,Xn1=xn1,Xn=xn)=p(Xn+1=xn+1Xn=xn)
这个公式说明的就是 X n + 1 = x n + 1 X_{n+1}=x_{n+1} Xn+1=xn+1的概率仅与 X n = x n X_{n}=x_{n} Xn=xn相关,与之前的状态无关。即,n+1时刻的状态仅与n时刻的状态相关,与再之前的状态无关。
举个简单的在NLP句子生成的例子——句子中某个单词出现的概率仅与前一个单词相关。比如现在有个句子 They came from 要预测后面的单词,就只会考虑from来生成一个单词。
上述也叫做一阶马尔可夫,它因为只考虑前一个状态,能力有限。因此可以类推到n阶马尔科夫。比如二阶马尔可夫可以表示为如下: p ( X n + 1 = x n + 1 ∣ X 1 = x 1 , . . . , X n − 1 = x n − 1 , X n = x n ) = p ( X n + 1 = x n + 1 ∣ X n − 1 = x n − 1 , X n = x n ) p\left ( X_{n+1}=x_{n+1}|X_{1}=x_{1},...,X_{n-1}=x_{n-1},X_{n}=x_{n} \right )=p\left ( X_{n+1}=x_{n+1}|X_{n-1}=x_{n-1},X_{n}=x_{n} \right ) p(Xn+1=xn+1X1=x1,...,Xn1=xn1,Xn=xn)=p(Xn+1=xn+1Xn1=xn1,Xn=xn)
n阶就是考虑前n个时刻的状态。

马尔可夫链

是指具有马尔可夫性质的随机过程。

隐马尔可夫

用来描述一个系统隐性状态的转移和隐性状态的表现概率(来描述一个含有隐含未知参数的马尔可夫过程)。HMM是个双重随机过程(doubly embedded stochastic process),一个是状态转移,另一个是由状态释放出观测值。
在序列标注(Sequence labelling)任务中,模型就是需要对状态序列进行标注。
一些我在公式上的理解——序列 Q = ( q 1 , q 2 , . . . , q T ) Q=(q_{1},q_{2},...,q_{T}) Q=(q1,q2,...,qT) 是不可观测的(比如说是句子中每个单词的词性标注,这是无法直接观测得到的,且是模型的输出),并记所有可能状态的集合为 S = { o 1 , o 2 , . . . , o T } S=\{o_{1},o_{2},...,o_{T}\} S={ o1,o2,...,oT} ,由它们产生一个可观测的观测随机序列(observation sequence) O = ( o 1 , o 2 , . . . , o T ) O=(o_{1},o_{2},...,o_{T}) O=(o1,o2,...,oT) (比如说是句子中每个单词,这个是能观测的,且是模型的输入)
在标注的时候,我们想要完成的任务是给定一个句子 O O O,输出序列中每个单词的词性 Q Q Q,即: P ( Q ∣ O ) = P ( Q , O ) P ( O ) P(Q|O)=\frac{P(Q,O)}{P(O)} P(QO)=P(O)P(Q,O)
O O O 是显性的,所以 P ( O ) P(O) P(O) 也是已知的,实际上是在对 P ( Q , O ) P(Q,O) P(Q,O) 建模,涉及推导,就略过了。

详细的介绍可以看这些资料:

https://www.cnblogs.com/Determined22/p/6750327.html
https://zhuanlan.zhihu.com/p/111899116

随机场

在概率论中, 由样本空间 Ω = { 0 , 1 , … , G − 1 } Ω = \{0, 1, …, G − 1\} Ω={ 0,1,,G1} n取样构成的随机变量Xi所组成的 S = { X 1 , … , X n } S = \{X1, …, Xn\} S={ X1,,Xn}。若对所有的 ω ∈ Ω ω∈Ω ωΩ 下式均成立,则称 π π π 为一个随机场。 π ( ω ) > 0 π(ω) > 0 π(ω)>0.

属于是太抽象了,我也不太理解。给一段百度百科的解释:当给每一个位置中按照某种分布随机赋予相空间的一个值之后,其全体就叫做随机场。我们不妨拿种地来打个比方。其中有两个概念:位置(site),相空间(phase space)。“位置”好比是一亩亩农田;“相空间”好比是种的各种庄稼。我们可以给不同的地种上不同的庄稼,这就好比给随机场的每个“位置”,赋予相空间里不同的值。所以,俗气点说,随机场就是在哪块地里种什么庄稼的事情。

主要了解一些随机场如:马尔可夫随机场(MRF),吉布斯随机场(GRF),条件随机场(CRF)和高斯随机场。

马尔可夫随机场

马尔可夫随机场,又被称为马尔可夫网络或者无向图模型。是一个生成式模型,表示一个联合概率分布。设有联合概率分布 P ( Y ) P(Y) P(Y),它可以用无向图表示,若 P ( Y ) P(Y) P(Y) 满足成对马尔可夫性、局部马尔可夫性和全局马尔可夫性这三个中的任意一个,就称此联合概率分布为马尔可夫随机场或者概率无向图模型。可以理解为:当前的节点只与与该节点直接链接的节点有关系,与随机场中其他的节点都没有关系。

详细的介绍可以看这些资料:

https://blog.csdn.net/weixin_52185313/article/details/120965299
https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.3.a1c8cb11a2e246b2.md
https://blog.csdn.net/watermelon12138/article/details/91571826

条件随机场

条件随机场针对无向图模型。是一个判别式模型,表示条件概率分布。条件随机场可被看作是最大熵马尔可夫模型在标注问题上的推广。
如果随机变量 Y Y Y 构成一个由无向图 G = ( V , E ) G=(V, E) G=(V,E) 表示的马尔可夫随机场,对任意节点 v ∈ V v∈V vV 都成立,即 P ( Y v ∣ X , Y w , w ≠ v ) = P ( Y v ∣ X , Y w , w ∼ v ) P(Y_{v}|X,Y_{w},w \neq v)=P(Y_{v}|X,Y_{w},w \sim v) P(YvX,Yw,w=v)=P(YvX,Yw,wv)
则称条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 为条件随机场。
其中: w ≠ v w \neq v w=v 其中 w w w 表示除了 v v v 以外的所有节点; w ∼ v w \sim v wv其中 w w w 表示与 v v v 相邻的节点

详细的介绍可以看这些资料:

https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.4.a1c8cb11a2e246b2.md
https://blog.csdn.net/watermelon12138/article/details/91571826
https://zhuanlan.zhihu.com/p/148813079
https://www.cnblogs.com/Determined22/p/6915730.html

线性链条件随机场

线性链条件随机场,即将条件随机场推广到特殊的图上面,不做过多的介绍。

区别

  • Conditional random field (条件随机场) is a conditional 马尔科夫随机场,上文有讲
  • 最主要的区别就是生成式模型与判别式模型的区别
    • 生成式模型拟合的是数据的表征,即数据分布 P ( x ) P(x) P(x) 或者联合分布 P ( x , y ) P(x, y) P(x,y)
    • 判别式模型则直接学习类别之前的分类边界,即 P ( y ∣ x ) P(y | x) P(yx),因此判别式模型并不知道训练数据集合的分布,只是找一个超平面做直截了当的损失最小化。
  • 隐马尔科夫模型(HMM)和马尔科夫随机场都是 生成式模型,对 联合分布 进行建模。条件随机场是 判别式模型,对 条件分布 进行建模。
    • HMM是对 P ( Q , O ) P(Q,O) P(Q,O) 建模(Q是隐性,O是显性),上文有讲
    • 马尔科夫随机场,我也不太懂它算了个什么(应该和HMM差不多吧),后续搞懂了会做补充
    • 条件随机场是在求 P ( Y v ∣ X , Y w , w ∼ v ) P(Y_{v}|X,Y_{w},w \sim v) P(YvX,Yw,wv)上文有讲
  • 条件随机场计算 P ( Y ∣ X ) P(Y|X) P(YX),隐马尔科夫模型和马尔科夫随机场计算 P ( Y , X ) P(Y,X) P(Y,X)
    • 预测问题的实质是计算 P ( Y ∣ X = x ) P(Y|X=x) P(YX=x),就是条件随机场的目标函数,因此相对来说条件随机场可能会准确一点。
    • 另外两个的目标函数是 P ( Y , X ) P(Y,X) P(Y,X),因此它们可以被用来完成预测 P ( X ∣ Y = y ) P(X|Y=y) P(XY=y) 的任务。

详细的:
模型的区别
模型的区别
模型的区别
生成与判别的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_54478153/article/details/125169747

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签