前言
条件随机场(Conditional Random Field,CRF)和隐马尔可夫模型(Hidden Markov Model,HMM)都是自然语言处理的基础模型,还有马尔可夫随机场什么什么的。我在初学的时候属于是被搞晕了。在讲CRF的时候还会提到马尔可夫随机场什么的,搞得我云里雾里。
经过一段时间的学习,对这几个东西的区别有了一些认识。进行了一下简单的梳理,希望对大家理解有一些帮助。但我个人的理解多半有些瑕疵,希望大家能批评指正。
一些基础概念
了解相关的基础概念是区分的关键,不想看的可以直接跳转到区别
马尔可夫性质
其含义是,当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。
上述是节自wiki百科,简单的来说——当前的状态只与上一时刻的状态相关,即满足下式:p(Xn+1=xn+1∣X1=x1,...,Xn−1=xn−1,Xn=xn)=p(Xn+1=xn+1∣Xn=xn)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+1∣X1=x1,...,Xn−1=xn−1,Xn=xn)=p(Xn+1=xn+1∣Xn=xn)
这个公式说明的就是Xn+1=xn+1X_{n+1}=x_{n+1}Xn+1=xn+1的概率仅与Xn=xnX_{n}=x_{n}Xn=xn相关,与之前的状态无关。即,n+1时刻的状态仅与n时刻的状态相关,与再之前的状态无关。
举个简单的在NLP句子生成的例子——句子中某个单词出现的概率仅与前一个单词相关。比如现在有个句子They came from
要预测后面的单词,就只会考虑from
来生成一个单词。
上述也叫做一阶马尔可夫,它因为只考虑前一个状态,能力有限。因此可以类推到n阶马尔科夫。比如二阶马尔可夫可以表示为如下:p(Xn+1=xn+1∣X1=x1,...,Xn−1=xn−1,Xn=xn)=p(Xn+1=xn+1∣Xn−1=xn−1,Xn=xn)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+1∣X1=x1,...,Xn−1=xn−1,Xn=xn)=p(Xn+1=xn+1∣Xn−1=xn−1,Xn=xn)
n阶就是考虑前n个时刻的状态。
马尔可夫链
是指具有马尔可夫性质的随机过程。
隐马尔可夫
用来描述一个系统隐性状态的转移和隐性状态的表现概率(来描述一个含有隐含未知参数的马尔可夫过程)。HMM是个双重随机过程(doubly embedded stochastic process),一个是状态转移,另一个是由状态释放出观测值。
在序列标注(Sequence labelling)任务中,模型就是需要对状态序列进行标注。
一些我在公式上的理解——序列 Q=(q1,q2,...,qT)Q=(q_{1},q_{2},...,q_{T})Q=(q1,q2,...,qT) 是不可观测的(比如说是句子中每个单词的词性标注,这是无法直接观测得到的,且是模型的输出),并记所有可能状态的集合为 S={o1,o2,...,oT}S=\{o_{1},o_{2},...,o_{T}\}S={o1,o2,...,oT} ,由它们产生一个可观测的观测随机序列(observation sequence) O=(o1,o2,...,oT)O=(o_{1},o_{2},...,o_{T})O=(o1,o2,...,oT) (比如说是句子中每个单词,这个是能观测的,且是模型的输入)
在标注的时候,我们想要完成的任务是给定一个句子 OOO,输出序列中每个单词的词性 QQQ,即:P(Q∣O)=P(Q,O)P(O)P(Q|O)=\frac{P(Q,O)}{P(O)}P(Q∣O)=P(O)P(Q,O)
OOO 是显性的,所以 P(O)P(O)P(O) 也是已知的,实际上是在对 P(Q,O)P(Q,O)P(Q,O) 建模,涉及推导,就略过了。
详细的介绍可以看这些资料:
/Determined22/p/6750327.html/p/111899116
随机场
在概率论中, 由样本空间 Ω={0,1,…,G−1}Ω = \{0, 1, …, G − 1\}Ω={0,1,…,G−1} n取样构成的随机变量Xi所组成的 S={X1,…,Xn}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) 满足成对马尔可夫性、局部马尔可夫性和全局马尔可夫性这三个中的任意一个,就称此联合概率分布为马尔可夫随机场或者概率无向图模型。可以理解为:当前的节点只与与该节点直接链接的节点有关系,与随机场中其他的节点都没有关系。
详细的介绍可以看这些资料:
/weixin_52185313/article/details/120965299/read/huaxiaozhuan-ai/spilt.3.a1c8cb11a2e246b2.md/watermelon12138/article/details/91571826
条件随机场
条件随机场针对无向图模型。是一个判别式模型,表示条件概率分布。条件随机场可被看作是最大熵马尔可夫模型在标注问题上的推广。
如果随机变量 YYY 构成一个由无向图 G=(V,E)G=(V, E)G=(V,E) 表示的马尔可夫随机场,对任意节点 v∈Vv∈Vv∈V 都成立,即P(Yv∣X,Yw,w≠v)=P(Yv∣X,Yw,w∼v)P(Y_{v}|X,Y_{w},w \neq v)=P(Y_{v}|X,Y_{w},w \sim v)P(Yv∣X,Yw,w=v)=P(Yv∣X,Yw,w∼v)
则称条件概率分布 P(Y∣X)P(Y|X)P(Y∣X) 为条件随机场。
其中:w≠vw \neq vw=v 其中 www 表示除了 vvv 以外的所有节点;w∼vw \sim vw∼v其中 www 表示与 vvv 相邻的节点
详细的介绍可以看这些资料:
/read/huaxiaozhuan-ai/spilt.4.a1c8cb11a2e246b2.md/watermelon12138/article/details/91571826/p/148813079/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(y∣x),因此判别式模型并不知道训练数据集合的分布,只是找一个超平面做直截了当的损失最小化。 隐马尔科夫模型(HMM)和马尔科夫随机场都是生成式模型,对联合分布进行建模。条件随机场是判别式模型,对条件分布进行建模。 HMM是对 P(Q,O)P(Q,O)P(Q,O) 建模(Q是隐性,O是显性),上文有讲马尔科夫随机场,我也不太懂它算了个什么(应该和HMM差不多吧),后续搞懂了会做补充条件随机场是在求 P(Yv∣X,Yw,w∼v)P(Y_{v}|X,Y_{w},w \sim v)P(Yv∣X,Yw,w∼v),上文有讲 条件随机场计算 P(Y∣X)P(Y|X)P(Y∣X),隐马尔科夫模型和马尔科夫随机场计算 P(Y,X)P(Y,X)P(Y,X)。 预测问题的实质是计算 P(Y∣X=x)P(Y|X=x)P(Y∣X=x),就是条件随机场的目标函数,因此相对来说条件随机场可能会准确一点。另外两个的目标函数是 P(Y,X)P(Y,X)P(Y,X),因此它们可以被用来完成预测 P(X∣Y=y)P(X|Y=y)P(X∣Y=y) 的任务。详细的:
模型的区别
模型的区别
模型的区别
生成与判别的区别
条件随机场Conditional Random Field CRF 隐马尔可夫模型Hidden Markov Model HMM 马尔可夫随机场 马尔可夫性质傻傻分不清楚?帮你理理关系