条件随机场Conditional Random Field,CRF、隐马尔可夫模型Hidden Markov Model,HMM、马尔可夫随机场、马尔可夫性质傻傻分不清楚?帮你理理关系
前言
条件随机场(Conditional Random Field,CRF)和隐马尔可夫模型(Hidden Markov Model,HMM)都是自然语言处理的基础模型,还有马尔可夫随机场什么什么的。我在初学的时候属于是被搞晕了。在讲CRF的时候还会提到马尔可夫随机场什么的,搞得我云里雾里。
经过一段时间的学习,对这几个东西的区别有了一些认识。进行了一下简单的梳理,希望对大家理解有一些帮助。但我个人的理解多半有些瑕疵,希望大家能批评指正。
注意!!!
本文中的一些公式可能不够严谨,只是为了帮助大家理解。如果需要了解严格的数学推导一定要去看教材!!!
一些基础概念
了解相关的基础概念是区分的关键,不想看的可以直接跳转到区别
马尔可夫性质
其含义是,当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。
上述是节自wiki百科,简单的来说——当前的状态只与上一时刻的状态相关,即满足下式:$$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 )$$
这个公式说明的就是\(X_{n+1}=x_{n+1}\)的概率仅与\(X_{n}=x_{n}\)相关,与之前的状态无关。即,n+1时刻的状态仅与n时刻的状态相关,与再之前的状态无关。
举个简单的在NLP句子生成的例子——句子中某个单词出现的概率仅与前一个单词相关。比如现在有个句子 They came from
要预测后面的单词,就只会考虑from
来生成一个单词。
上述也叫做一阶马尔可夫,它因为只考虑前一个状态,能力有限。因此可以类推到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 )$$
n阶就是考虑前n个时刻的状态。
马尔可夫链
是指具有马尔可夫性质的随机过程。
隐马尔可夫
用来描述一个系统隐性状态的转移和隐性状态的表现概率(来描述一个含有隐含未知参数的马尔可夫过程)。HMM是个双重随机过程(doubly embedded stochastic process),一个是状态转移,另一个是由状态释放出观测值。
在序列标注(Sequence labelling)任务中,模型就是需要对状态序列进行标注。
一些我在公式上的理解——序列 \(Q=(q_{1},q_{2},...,q_{T})\) 是不可观测的(\(q_{i}\) 可以是句子中每个单词的词性标注,这是无法直接观测得到的,且是模型的输出),并记所有可能状态的集合为 \(S=\{s_{1},s_{2},...,s_{T}\}\) ,由它们产生一个可观测的观测随机序列(observation sequence) \(O=(o_{1},o_{2},...,o_{T})\) ( \(o_{i}\) 可以是句子中每个单词,这个是能观测的,且是模型的输入)
在标注的时候,我们想要完成的任务是给定一个句子 \(O\),输出序列中每个单词的词性 \(Q\),即:$$P(Q|O)=\frac{P(Q,O)}{P(O)}$$
\(O\) 是显性的,所以 \(P(O)\) 也是已知的,实际上是在对 \(P(Q,O)\) 建模,后面建模的具体过程比较复杂,就略过了。
详细的介绍可以看这些资料:
https://www.cnblogs.com/Determined22/p/6750327.html
https://zhuanlan.zhihu.com/p/111899116
随机场
在概率论中, 由样本空间 \(Ω = \{0, 1, …, G − 1\}^{n}\) 取样构成的随机变量 \(X_{i}\) 所组成的 \(S = \{X1, …, Xn\}\)。若对所有的 \(ω∈Ω\) 式 \(π(ω) > 0\)均成立,则称 \(π\) 为一个随机场。
属于是太抽象了,我也不太理解。给一段百度百科的解释:当给每一个位置中按照某种分布随机赋予相空间的一个值之后,其全体就叫做随机场。我们不妨拿种地来打个比方。其中有两个概念:位置(site),相空间(phase space)。“位置”好比是一亩亩农田;“相空间”好比是种的各种庄稼。我们可以给不同的地种上不同的庄稼,这就好比给随机场的每个“位置”,赋予相空间里不同的值。所以,俗气点说,随机场就是在哪块地里种什么庄稼的事情。
主要了解一些随机场如:马尔可夫随机场(MRF),吉布斯随机场(GRF),条件随机场(CRF)和高斯随机场。
马尔可夫随机场
马尔可夫随机场,又被称为马尔可夫网络或者无向图模型。是一个生成式模型,表示一个联合概率分布。设有联合概率分布 \(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\) 构成一个由无向图 \(G=(V, E)\) 表示的马尔可夫随机场,对任意节点 \(v∈V\) 都成立,即$$P(Y_{v}|X,Y_{w},w \neq v)=P(Y_{v}|X,Y_{w},w \sim v)$$
则称条件概率分布 \(P(Y|X)\) 为条件随机场。
其中:\(w \neq v\) 其中 \(w\) 表示除了 \(v\) 以外的所有节点;\(w \sim v\)其中 \(w\) 表示与 \(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
线性链条件随机场
线性链条件随机场,也是我们使用的最多的。但只是将条件随机场推广到特殊的图上面,就不做过多的介绍。
区别
-
HMM是有向图,另外两个是无向图
-
Conditional random field (条件随机场) is a conditional 马尔科夫随机场,上文有讲
-
最主要的区别就是生成式模型与判别式模型的区别
- 生成式模型拟合的是数据的表征,即数据分布 \(P(x)\) 或者联合分布 \(P(x, y)\)
- 判别式模型则直接学习类别之前的分类边界,即 \(P(y | x)\),因此判别式模型并不知道训练数据集合的分布,只是找一个超平面做直截了当的损失最小化。
-
隐马尔科夫模型(HMM)和马尔科夫随机场都是 生成式模型,对 联合分布 进行建模。条件随机场是 判别式模型,对 条件分布 进行建模。
-
条件随机场计算 \(P(Y|X)\),隐马尔科夫模型和马尔科夫随机场计算 \(P(Y,X)\)。
- 预测问题的实质是计算 \(P(Y|X=x)\),就是条件随机场的目标函数,因此相对来说条件随机场可能会准确一点。
- 另外两个的目标函数是 \(P(Y,X)\),因此它们可以被用来完成预测 \(P(X|Y=y)\) 的任务。
详细的:
模型的区别
模型的区别
模型的区别
生成与判别的区别
如有错误,欢迎大家批评指正!也欢迎讨论!