简介
马尔科夫是前苏联著名的数学家,因马尔科夫链(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那么大,这里先空着,有空再来补。