马尔科夫决策过程(MDP)
  近期在接触强化学习的项目,在这里对学习的知识进行记录,
希望可以持续下去介绍强化学习的相关知识。本人也是刚开始接触强化学习,所以有什么不对的地方,欢迎大家指正。
概念  马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程
与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。 
马尔科夫决策过程具有马尔可夫性(无后效性,及系统的下个状态只与当前状态信息有关,与更早的状态无关),但不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。
马尔科夫决策要求:
* 能够检测到理想的状态。
* 可以多次尝试(死了重来、输了重来等)。
* 系统的下个状态只与当前状态信息有关,而与更早之前的状态无关。在决策过程中还和当前采取的动作有关。定义马尔科夫决策过程可以用一个五元组(S, A,
P(:,:), R(:,:),γ)来描述,其中:
*  S是一组有限的状态集(state);
*  A是一组有限的动作集(action);
*  Pa(s,s')=Pr(St+1=s'|St=s,at=a)表示在时间 t 状态 s 采取动作 a 可以在时间 t+1 转换到状态 s' 的概率;
*  Ra(s,s')表示通过动作 a ,状态 s 转换到 s' 所带来的及时收益或回报(reword);
*  γ 是折扣因子,表示未来收益和当前收益之前的差别,意味着当下的 reward 比未来反馈的 reward 更重要。    马尔可夫决策过程并不要求 S
或者 A是有限的,但基础的算法中假设它们是有限的。
    通俗的来讲:     明天是打游戏还是学习?如果打游戏会挨打,学习会奖励小红花。挨了打会难受,得了小红花会高兴。   
在这个过程中,你相当于一个agent,你的action有两个,打游戏或学习,每个action的及时回报(reword)分别是挨打和小红花,选择打游戏之后你的状态改变为难受,选择学习后你的状态改变为高兴。那么长期的奖励就是选择学习则能考上大学,打游戏就考不上大学(这其实是一个持续的过程,暂时这么理解),你要做的就是让自己获得的奖励最大化(为了考上大学,所以就得少打游戏多学习~)。
     MDP的动态过程如下:智能体(agent)初始状态S0,然后从A中挑选一个动作a0执行,agent按照概率Pa 随机转移到下一个状态S1
,然后再执行动作a1,就转移到了S2,以此类推,可以用下图表示状态转移过程:




描述   
那么,如何让自己的奖励最大化呢?在这个问题中就是如何让自己尽可能考上大学,就需要做一个决策(policy),这个决策的目的就是能够让agent尽可能的得到最大化奖励。
    这就引出来,MDP的关键目的就在于寻找一个最好的策略(一般用π表示):对每个状态s,选择一个动作a,组成π中的一个<s,a>
。这个策略可以累积化最大收益R(T),这里T代表了整个过程持续的时间。  你可能会想这不是按照时间序列一步步来的吗?怎么就选择最优的策略呢?    
其实马尔科夫决策过程就是一个与时间序列有关的过程,除非到达最终状态停止(比如考上大学,或赢了一盘棋),不然每一次动作的执行,都会作为一个新的样本加入到训练数据中,为当前状态选择最优策略,且每一次动作的执行不能更改(落子无悔)。到达终止状态后,就再重新开始呗,不管输赢,就当积累经验了。 
一般情况下都会根据一定数量的数据集先进行训练,而不是直接拿过来就开始选择的。比如AlphaGo,都是
提前和大师以及和自己训练很多次下棋之后,摸清了规律,发现赢下一盘棋的最优的策略,才能在与世界围棋冠军下的时候不害怕,每一步都根据当前状态找最好的落子。
总结马尔科夫决策过程就是一个状态-动作的选择的过程。
这一篇文章主要讲了马尔科夫决策过程具体的内容,并没有给出怎么计算,下一次我们将讨论策略到底是什么、如何确定策略的好与坏以及如何确定最优策略,我们将会涉及到折扣因子
γ。
以上就是本篇内容,第一次写篇幅较小,望各位道友多多指教。