[自然语言处理]马尔可夫模型

在学习宗成庆的《统计自然语言处理》的时候认识到隐马尔可夫模型在NLP中的应用,不过在介绍隐马尔科夫模型之前我们先介绍马尔可夫模型。

>>>>>>>>>>>>如果想了解更多关于马尔可夫的生平以及研究可参考百度百科<<<<<<<<<<<<

随机过程

在了解马尔可夫模型之前我们首先得了解随机过程。
随机过程
该介绍参考知乎上对随机过程的介绍
https://zhihu.com/tardis/sogou/qus/26694486
    因为当人们试图描绘一些真实世界,充满复杂而未知因素的运动时候,人们发现不确定的因素(通常称之为噪音)对事物的变化至关重要。而我们所能够给出的最好的对事物变化的东西,是一套叫概率论的东西。而与之相对应的产生的一个全新的研究运动的方法–随机过程,对不确定下的运动进行精细的数学描述。

  我们生活在大数据时代,同时数据最基本的特征就是含有巨量的噪音,而随机过程就是从这些噪音里提取信息的武器。

  随机过程又叫随机函数,是随时间而随机变化的过程。确定性过程研究一个量随时间确定的变化,而随机过程描述的是一个量随时间可能的变化,在这个过程里,每一个时刻变化的方向都是不确定的。

随机过程的栗子

比如说扔个6面骰子的实验,你扔一次实验停止了,这叫随机事件,因为不涉及到随时间状态改变的问题。实验改变,在一天24小时之内,从0点开始,每隔1小时扔一次骰子,扔24次,记录下来这一天的实验情况,这个过程就是随机过程。

随机过程总结
       (时间尺度叠加)             (无穷维时间)
随机变量--------------->离散随机过程-------------->连续随机过程
      (空间尺度叠加)                  (无穷维空间)
随机变量--------------->有限维随机向量-------------->随机测度

马尔可夫模型

马尔可夫模型(Markov model)即马尔科夫链描述了一类重要的随机过程。
可参考知乎上对马尔科夫链模型的解释(https://www.zhihu.com/question/26665048 )
     我们常常需要考察一个随机变量序列,这些随机变量并不是相互独立的,每个随机变量的值依赖于这个序列前面的状态。如果系统有N个有限状态S={s1,s2,…,sn},那么随着时间的推移,该系统将从某一状态转移到另一状态。Q=(q1,q1,…,qn)为一个随机变量序列,随机变量的取值为状态集S中的某一状态,假定在时间 t 的状态记为qt。对该系统的描述通常需要给出当前时刻t的状态和其前面所有状态的关系:系统在时间t处于状态sj的概率取决于其在时间1,2,…,t-1的状态,该概率为
P(qt=sjqt1=(t)si,qt2=sk,) P\left(q_{t}=s_{j} | q_{t-1} \stackrel{(t)}{=} s_{i}, q_{t-2}=s_{k}, \cdots\right)

在特定情况下,系统在时间t的状态只与其在时间t-1的状态有关,即
P(qt=siqt1=sj,qt1=sk,)=P(qt=sjqt1=si) P\left(q_{t}=s_{i} | q_{t-1}=s_{j}, q_{t-1}=s_{k}, \cdots\right)=P\left(q_{t}=s_{j} | q_{t-1}=s_{i}\right)
则该系统构成一个离散的一阶马尔科夫链。

​ 可以这样理解,你可能记得到昨天吃饭吃的啥,但是你几乎无法记得前天吃的啥。就像马尔可夫模型中在时间t的状态只与前一个时间(t-1)的状态有关

进一步只考虑上一个式子独立时间t的随机过程:
P(qt=sjqt1=si)=aij,1i,jN P\left(q_{t}=s_{j} | q_{t-1}=s_{i}\right)=a_{i j}, \quad 1 \leqslant i, j \leqslant N
该随机过程成为马尔可夫模型。其中状体转移概率aij必须满足以下条件:
aij0j=1Naij=1 \begin{array}{l}{a_{i j} \geqslant 0} \\ {\sum_{j=1}^{N} a_{i j}=1}\end{array}
[自然语言处理]马尔可夫模型