美文网首页
【强化学习】马尔科夫决策过程Markov Decision pr

【强化学习】马尔科夫决策过程Markov Decision pr

作者: ShowMeCoding | 来源:发表于2020-10-23 23:04 被阅读0次

马尔科夫决策过程其实是强化学习里面的一个基本框架,它的环境是fully observation,就是全部可以观测的。

马尔科夫性质(Markov Property)

The future is independent of the past given the present(未来的转移跟过去是独立的,它只取决于现在)

状态转移矩阵(State Transition Matrix)

每一行描述了从一个节点到所有其它节点的概率

马尔科夫奖励过程(Markov Reward Process, MRP)

马尔科夫链再加上一个奖励函数,奖励函数是一个期望,就是说当你达到某一个状态的时候,可以获得多大的奖励

为什么需要discounted factor

    1. 第一点是有些马尔可夫过程是带环的,它并没有终结,我们想避免这个无穷的奖励
    1. 另外,我们想把这个不确定性表示出来,希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。
    1. 另外如果这个奖励是有实际价值的了,我们可能是更希望立刻就得到奖励,而不是后面再得到奖励。
    1. 在人的行为里面来说的话,大家也是想得到即时奖励。
    1. 另外,在有些时候,这个系数也可以把它设为 0。比如说,当我们设为 0 过后,然后我们就只关注了它当前的奖励。我们也可以把它设为 1,设为 1 的话就是对未来并没有折扣,未来获得的奖励跟我们当前获得的奖励是一样的。这个系数其实是应该可以作为强化学习 agent 的一个 hyper parameter 来进行调整,然后就会得到不同行为的 agent。

Bellman Equation

就是当前状态与未来状态的迭代关系,表示当前状态的值函数可以通过下个状态的值函数来计算。Bellman Equation 因其提出者、动态规划创始人Richard Bellman 而得名 ,也叫作“动态规划方程”。

马尔科夫决策过程Markov Decision Process(MDP)

相对于MRP, 马尔可夫决策过程(Markov Decision Process) 多了一个decision ,其它的定义跟MRP都是类似的。这里我们多了一个决策,多了一个 action,那么这个状态转移也多了一个 condition,就是你采取某一种行为,然后你未来的状态会不同。它不仅是依赖于你当前的状态,也依赖于在当前状态你这个 agent 它采取的这个行为会决定它未来的这个状态走向。对于这个价值函数,它也是多了一个条件,多了一个你当前的这个行为,就是说你当前的状态以及你采取的行为会决定
你在当前可能得到的奖励多少。

MDP里面的状态转移跟MRP以及MP的一个差异

  1. 马尔可夫过程的转移是直接就决定。比如当前状态是 s,那么就直接通过这个转移概率决定了下一个状态是什么。
  2. 但对于 MDP,它的中间多了一层这个行为 a ,就是说在你当前这个状态的时候,首先要决定的是采取某一种行为,那么你会到了某一个黑色的节点。到了这个黑色的节点,因为你有一定的不确定性,当你当前状态决定过后以及你当前采取的行为过后,你到未来的状态其实也是一个概率分布。所以你采取行为后,你可能有多大的概率到达某一个未来状态,以及另外有多大概率到达另外一个状态。所以在这个当前状态跟未来状态转移过程中这里多了一层决策性,这是MDP跟之前的马尔可夫过程很不同的一个地方。在马尔可夫决策过程中,行为是由 agent 决定,所以多了一个 component,agent 会采取行为来决定未来的状态转移。

Dynamic Programming

动态规划是说我们把可以把一个问题分解成一个最佳子结构,当我们可以把一些子结构都可以解决的话,那么它就可以组成一个最优的解。MDP是满足动态规划的要求的,就是在 Bellman Equation 里面,我们可以把它分解成一个递归的一个结构。当我们把它分解成一个递归的结构的时候,如果我们的子问题子状态能得到一个值,那么它的未来状态因为跟子状态是直接相连的,那我们也可以继续推算出来,所以这个价值函数就可以储存它以及重用它的最佳的解。所以动态规划是解MDPprediction和control一个非常有效的方式。

相关文章

网友评论

      本文标题:【强化学习】马尔科夫决策过程Markov Decision pr

      本文链接:https://www.haomeiwen.com/subject/xssbmktx.html