马尔科夫

https://blog.csdn.net/julialove102123/article/details/78473686

马尔可夫过程(Markov process)是一类随机过程。它的原始模型马尔可夫链,由俄国数学家A.A.马尔可夫于1907年提出。
1、马尔可夫性:


2.马尔可夫过程的数学定义

若随机过程 满足马尔可夫性,则称为马尔可夫过程。 

3.生成模式(Generating Patterns)


3.1、确定性模式(Deterministic Patterns):确定性系统
  考虑一套交通信号灯,灯的颜色变化序列依次是红色-红色/黄色-绿色-黄色-红色。这个序列可以作为一个状态机器,交通信号灯的不同状态都紧跟着上一个状态。
    
  注意每一个状态都是唯一的依赖于前一个状态,所以,如果交通灯为绿色,那么下一个颜色状态将始终是黄色——也就是说,该系统是确定性的。
3.2、非确定性模式(Non-deterministic patterns):马尔科夫
  与交通信号灯例子不同,我们并不期望这三个天气状态之间的变化是确定性的,但是我们依然希望对这个系统建模以便生成一个天气变化模式(规律)。
  一种做法是假设模型的当前状态仅仅依赖于前面的几个状态,这被称为马尔科夫假设。显然,这可能是一种粗糙的假设,并且因此可能将一些非常重要的信息丢失。
  当考虑天气问题时,马尔科夫假设假定今天的天气只能通过过去几天已知的天气情况进行预测——而对于其他因素,譬如风力、气压等则没有考虑,这样的假设显然是不现实的。然而,由于这样经过简化的系统可以用来分析,我们常常接受这样的知识假设,虽然它产生的某些信息不完全准确。
  一个马尔科夫过程是状态间的转移仅依赖于前n个状态的过程。这个过程被称之为n阶马尔科夫模型,其中n是影响下一个状态选择的(前)n个状态。最简单的马尔科夫过程是一阶模型,它的状态选择仅与前一个状态有关。这里要注意它与确定性系统并不相同,因为下一个状态的选择由相应的概率决定。
 
    
  对于有M个状态的一阶马尔科夫模型,共有M^2个状态转移,因为任何一个状态都有可能是所有状态的下一个转移状态。每一个状态转移都有一个概率值,称为状态转移概率(从一个状态转移到另一个状态的概率)。所有的M^2个概率可以用一个状态转移矩阵表示。注意这些概率并不随时间变化而不同——这是一个非常重要(但常常不符合实际)的假设。
  下面的状态转移矩阵显示的是天气例子中可能的状态转移概率:   
  注:如果昨天是晴天,那么今天是晴天的概率为0.5,多云的概率为0.375。【每一行的概率之和为1】
  要初始化这样一个系统,我们需要确定起始日天气的(或可能的)情况,定义其为一个初始概率向量,称为π向量。也就是说,第一天为晴天的概率为1。
定义一个一阶马尔科夫过程如下:
 状态:三个状态——晴天,多云,雨天。
   π向量:定义系统初始化时每一个状态的概率。
   状态转移矩阵:给定前一天天气情况下的当前天气概率。

  任何一个可以用这种方式描述的系统都是一个马尔科夫过程。
3.3、隐藏模式(Hidden Patterns):隐马尔科夫

马尔科夫过程的局限性
  一个实际的问题是语音识别,我们听到的声音是来自于声带、喉咙大小、舌头位置以及其他一些东西的组合结果。所有这些因素相互作用产生一个单词的声音,一套语音识别系统检测的声音就是来自于个人发音时身体内部物理变化所引起的不断改变的声音。  一些语音识别装置工作的原理是将内部的语音产出看作是隐藏的状态,而将声音结果作为一系列观察的状态,这些由语音过程生成并且最好的近似了实际(隐藏)的状态。隐藏状态的数目与观察状态的数目可以是不同的。纯粹的语音可以由80个音素描述,而身体的发音系统会产生出不同数目的声音,或者比80多,或者比80少。
  在这种情况下,观察到的状态序列与隐藏过程有一定的概率关系。我们使用隐马尔科夫模型对这样的过程建模,这个模型包含了一个底层隐藏的随时间改变的马尔科夫过程,以及一个与隐藏状态某种程度相关的可观察到的状态集合。

4、马尔科夫模型:
马尔科夫链的节点是状态,边是转移概率,是条件概率分布的一种有向状态转移表达。

考虑一个系统,在每个时刻都可能处于N个状态中的一个,N个状态集合是 {S1,S2,S3,...SN}。我们现在用q1,q2,q3,…qn来表示系统在t=1,2,3,…n时刻下的状态。

Note: 每个状态都是一个向量分布,即在N个状态集合是 {S1,S2,S3,...SN}上的概率分布。

独立同分布建模
处理顺序数据的最简单的方式是忽略顺序的性质,将观测看做独立同分布,然而,这种方法无法利用数据中的顺序模式,例如序列中距离较近的观测之间的相关性。

马尔科夫模型( Markov model )
为了在概率模型中表示这种效果,我们需要放松独立同分布的假设。完成这件事的一种最简单的方式是考虑马尔科夫模型。

马尔科夫模型( Markov model )表示观测序列的联合概率分布

一阶马尔科夫链( first-order Markov chain )
一阶马尔科夫链( first-order Markov chain )模型中, N 次观测的序列的联合概率分布为

根据 d -划分的性质,给定时刻 n 之前的所有观测,我们看到观测 x n 的条件概率分布为

同质马尔科夫链( homogeneous Markov chain )
在这种模型的大部分应用中,条件概率分布 p(x n | x n−1 ) 被限制为相等的,对应于静止时间序列(数据会随着时间发生变化,但是生成数据的概率分布保持不变)的假设。这样,这个模型被称为同质马尔科夫链( homogeneous Markov chain )。例如,如果条件概率分布依赖于可调节的参数(参数的值可以从训练数据中确定),那么链中所有的条件概率分布会共享相同的参数值。

高阶马尔科夫链
二阶马尔科夫链

马尔科夫链的参数个数分析
假设观测是具有 K 个状态的离散变量,那么一阶马尔科夫链中的条件概率分布 p(x n | x n−1 ) 由 K − 1 个参数指定,每个参数都对应于 x n−1 的 K 个状态,因此参数的总数为 K(K − 1) 。

现在假设我们将模型推广到 M 阶马尔科夫链,从而联合概率分布由条件概率分布 p(x n | x n−M , . . . , x n−1 ) 构建。如果变量是离散变量,且条件概率分布使用一般的条件概率表的形式表示,那么这种模型中参数的数量为 K^M * (K − 1) 。

连续变量的马尔科夫链
对于连续变量来说,我们可以使用线性高斯条件概率分布,其中每个结点都是一个高斯概率分布,均值是父结点的一个线性函数。这被称为自回归( autoregressive )模型或者 AR 模型( Box et al., 1994; Thiesson et al., 2004 )。另一种方法是为 p(x n | x n−M , . . . , x n−1 ) 使用参数化的模型,例如神经网络。这种方法有时被称为抽头延迟线( tapped delay line ),因为它对应于存储(延迟)观测变量的前面 M 个值来预测下一个值。这样,参数的数量远远小于一个一般的模型(例如此时参数的数量可能随着 M 线性增长),虽然这样做会使得条件概率分布被限制在一个特定的类别中。

马尔科夫过程收敛性分析与采样
这里只讨论一阶同质的马尔科夫过程。

(一阶同质)马尔科夫模型有两个假设:

1.      系统在时刻t的状态只与时刻t-1处的状态相关;(也称为无后效性)

2.      状态转移概率与时间无关;(也称为齐次性或时齐性)

第一条具体可以用如下公式表示:

P(qt=Sj|qt-1=Si,qt-2=Sk,…)= P(qt=Sj|qt-1=Si)

其中,t为大于1的任意数值,Sk为任意状态

第二个假设则可以用如下公式表示:

P(qt=Sj|qt-1=Si)= P(qk=Sj|qk-1=Si)

其中,k为任意时刻。即任意时刻两个状态之间的转移概率是一样的,整个转移概率矩阵在所有时间步之间是共享参数的。

马氏链及其平稳分布         
马氏链的数学定义很简单,就是状态转移的概率只依赖于前一个状态,Markov Chain 体现的是状态空间的转换关系,下一个状态只决定与当前的状态
马氏链收敛定理

5、马尔科夫决策过程


算法练习:

参考资料:
http://blog.csdn.net/pipisorry/article/details/46618991#t4
https://www.cnblogs.com/zhuyp1015/archive/2012/06/18/2554088.html

--------------------- 
作者:女王の专属领地 
来源:CSDN 
原文:https://blog.csdn.net/julialove102123/article/details/78473686 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/u013049912/article/details/84851962