概率论-马尔科夫-总篇

probability, Markov

Posted by democheng on November 23, 2018

简介

马尔科夫是前苏联著名的数学家,因马尔科夫链(Markov chains)马尔科夫过程(Markov processes)而出名。

PS:虽然Markov chains和Markov processes)都指向的是维基百科的Markov chains,在introduction里面,有两者的详细区分,这里把表格搬运一下:

  离散状态空间(Countable state space) 连续(Continuous or general state space)
离散时间(Discrete-time) (离散时间)在有限状态空间的马尔科夫链 Harris chain(在连续状态空间的markov chain)
连续时间(Continuous-time) 连续时间的马尔科夫过程 具有马尔科夫性质的连续随机过程

这很重要的概念是马尔科夫性质(Markov property),简单点说,马尔科夫性质就是”下一时刻的状态只与当前状态有关,跟当前状态之前的状态都无关“,用概率公式来表示就是:

马尔科夫模型(Markov model)

马尔科夫模型(Markov model)包含四个模型:

  系统状态完全可观测(fully observable) 系统状态部分可观测(partially observable)
自动系统(autonomous) 马尔科夫链(Markov chains) 隐马尔科夫模型(Hidden Markov model)
可控系统(controlled) 马尔科夫决策过程(Markov decision process) 部分可观测马尔科夫决策过程(Partially observable Markov decision process)

GitHub推荐项目

Markov chain的python代码示例可以参考markovify,可以用它处理文本,生成随机句子。

Hidden Markov Model的python代码示例可以参考hmmlearn,可惜现在已经没有人维护这个项目了。

Markov decision process的python代码示例可以参考pymdptoolbox,这个库是从对应的matlab代码移植过来的,喜欢matlab的小伙伴也可以用它。

Partially observable Markov decision process的代码可以参考AI-Toolbox,它是python封装的C++库,实现了MDPs和POMDPs。也可以参考POMDPy,它是python实现的POMDPs。

Markov chain

Markov chain跟自动驾驶的关系不如MDPs和POMDPs那么大,这里先空着,有空再来补。

Hidden Markov Model

Hidden Markov Model跟自动驾驶的关系不如MDPs和POMDPs那么大,这里先空着,有空再来补。

Markov decision process