强化学习笔记:马尔可夫过程 &马尔可夫奖励过程

1 马尔可夫性质 (Markov Property)

 

        我们设状态的历史为h_{t}=\left\{s_{1}, s_{2}, s_{3}, \ldots, s_{t}\right\}h_t包含了之前的所有状态)

        如果一个状态转移是符合马尔可夫性质的,也就是满足如下条件:

        也就是说,从当前状态s_t转移到状态s_{t+1}的概率,就直接等于它之前所有的状态转移到状态s_{t+1}的概率。

        换句话说,如果一个过程满足马尔可夫性质,那么就是说,这个过程未来状态和过去状态是独立的。未来的状态只取决于现在的状态。

 2 马尔可夫链(Markov Chain)

这个图里面有四个状态,这四个状态从s1​,s2​,s3​,s4​ 之间互相转移。转移概率就是边的权重。

2.1 状态转移矩阵

我们可以用状态转移矩阵来描述转移概率

 

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

 3 马尔可夫链

         上图是一个马尔可夫链的例子,我们这里有七个状态。比如说从 s1​ 开始到s2​ ,它有 0.4 的概率,然后它有 0.6 的概率继续停留在它当前的状态。

 

        所以给定了这个状态转移的马尔可夫链后,我们可以对这个链进行采样,这样就会得到一串的轨迹。

 4 马尔可夫奖励过程(Markov Reward Process)

  马尔可夫奖励过程(Markov Reward Process, MRP) 是马尔可夫链再加上了一个奖励函数。

        在 MRP 中,转移矩阵和状态都是跟马尔可夫链一样的,多了一个奖励函数(reward function)

        

         这里是我们刚才看的马尔可夫链,如果把奖励也放上去的话,就是说到达每一个状态,我们都会获得一个奖励。

        这里我们可以设置对应的奖励,比如说到达 s1​ 状态的时候,可以获得 5 的奖励,到达 s7​ 的时候,可以得到 10 的奖励,其它状态没有任何奖励。

        因为这里状态是有限的,所以我们可以用向量R=[5,0,0,0,0,0,10] 来表示这个奖励函数,这个向量表示了每个点的奖励大小。

4.1 return &value function

4.1.1 horizon

一个回合的长度(每个回合最大的时间步数),它是由有限个步数决定的。

4.1.2 return

把奖励进行折扣后所获得的收益。Return 可以定义为奖励的逐步叠加

         越往后得到的奖励,折扣得越多。这说明我们其实更希望得到现有的奖励,未来的奖励就要把它打折扣。

 4.1.3 state value function

        当我们有了 return 过后,就可以定义一个状态的价值了,就是 state value function

        对于 MRP,state value function 被定义成是 return 的期望

         Gt​ 是之前定义的 discounted return,我们这里取了一个期望,期望就是说从这个状态开始,你有可能获得多大的价值。

        这个期望也可以看成是对未来可能获得奖励的当前价值的一个表现,就是当你进入某一个状态过后,你现在就有多大的价值。

        这里的Value值怎么计算呢 ?我们看后面的4.4

4.2 为什么return有折扣因子?

  • 有些马尔可夫过程是带环的,它并没有终结,我们想避免这个无穷的奖励。(到某一个时刻T之后,reward接近于0,轨迹停止)
  • 我们对未来的评估不一定是准确的,我们不一定完全信任我们的模型。因为这种不确定性,所以我们对未来的预估增加一个折扣。我们想把这个不确定性表示出来,希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。
  • 如果这个奖励是有实际价值的,我们可能是更希望立刻就得到奖励,而不是后面再得到奖励(现在的钱比以后的钱更有价值)。【类比:通货膨胀,现在是10块钱和十年后的10块钱】
  • 有些时候可以把这个系数设为 0,γ=0:我们就只关注了它当前的奖励。我们也可以把它设为 1,γ=1:对未来并没有折扣,未来获得的奖励跟当前获得的奖励是一样的。

Discount factor 可以作为强化学习 agent 的一个超参数来进行调整,然后就会得到不同行为的 agent。

4.3 马尔科夫奖励过程举例

         和4开篇说的例子是一样的:进入第一个状态的时候会得到 5 的奖励,进入第七个状态的时候会得到 10 的奖励,其它状态都没有奖励。

        我们现在可以计算每一个轨迹得到的奖励,比如我们对于这个s4​,s5​,s6​,s7​ 轨迹的奖励进行计算,这里折扣系数是 0.5。

  • 在 4​ 的时候,奖励为零。

  • 下一个状态s5​ 的时候,因为我们已经到了下一步了,所以我们要把 s5​ 进行一个折扣,s5​ 本身也是没有奖励的。

  • 然后是到 s6​,也没有任何奖励,折扣系数应该是\frac{1}{4}

  • 到达s7​ 后,我们获得了一个奖励,但是因为s7​ 这个状态是未来才获得的奖励,所以我们要进行三次折扣。

所以对于这个轨迹,它的 return 就是一个 1.25,类似地,我们可以得到其它轨迹的 return 。

4.4 贝尔曼等式(Bellman Equation)【动态规划方程】 

我们前面知道了,一个马尔科夫奖励过程的value function为:

 于是我们可以稍微改造一下

 整理一下,就有:

 这个就是贝尔曼等式 ,未来打了折扣的奖励加上当前立刻可以得到的奖励,就组成了这个 Bellman Equation。

        假设有一个马尔可夫转移矩阵是右边这个样子,Bellman Equation 描述的就是当前状态到未来状态的一个转移。

        假设我们当前是在s1​, 那么它只可能去到三个未来的状态:有 0.1 的概率留在它当前这个位置,有 0.2 的概率去到s2​ 状态,有 0.7 的概率去到s4​ 的状态

        所以我们要把这个转移乘以它未来的状态的价值,再加上它的 immediate reward 就会得到它当前状态的价值。

4.4.1 矩阵形式理解贝尔曼等式&贝尔曼等式的解析解

我们可以把 Bellman Equation 写成一种矩阵的形式

对于第i行,有:

 V(s_i)=R(s_i)+\gamma(P(s_1|s_i)V(s_1)+P(s_2|s_i)V(s_2)+......+P(s_N|s_i)V(s_N))

也即:

 当我们把 Bellman Equation 写成矩阵形式后,可以直接求解:

于是我们得到了一组解析解:

 

         我们可以通过矩阵求逆把这个 V 的这个价值直接求出来。但是一个问题是这个矩阵求逆的过程的复杂度是 O(N^3)。这导致处理大矩阵的时候是非常困难的。

        所以这种通过解析解去求解的方法只适用于很小量的 MRP。

4.5 迭代法解MRP的value

4.5.1 蒙特卡洛法(采样法)

 

 

4.5.1 动态规划法

         我们也可以用这个动态规划的办法,一直去迭代它的 Bellman equation,让它最后收敛,我们就可以得到它的一个状态。

        当这个最后更新的状态跟你上一个状态变化并不大的时候,更新就可以停止,我们就可以输出最新的 V′(s) 作为它当前的状态。

        所以这里就是把 Bellman Equation 变成一个 Bellman Update,这样就可以得到它的一个价值。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
马尔可夫决策过程(Markov Decision Process, MDP)是一种描述随机决策过程的数学模型。它是马尔可夫链的扩展,带有决策变量和收益函数的功能。 在MDP中,我们假设决策环境是不确定的,但是具有一定的概率分布。系统在多个状态之间转移,并且在每个状态下代理可以选择一个行动。这些行动会引起一定的转移概率,从而影响系统状态的变化,并给出对应的奖励。优化目标是找到一个最佳策略,以最大化长期累积奖励马尔可夫决策过程理论和应用是广泛用于人工智能、运筹学和控制系统等领域的一个重要理论。它提供了一种数学工具,用于解决具有不确定性和多种选择的决策问题。 在现实生活中,MDP的应用非常广泛。例如,在机器人路径规划中,我们可以使用MDP来确定机器人在不同状态下的最佳行动,以最小化时间成本或能量消耗。在金融领域,我们可以使用MDP来优化投资组合的配置,以最大化收益和降低风险。 此外,MDP还可以应用于资源管理、能源调度、自动化控制等许多领域。它提供了一个框架,将决策问题形式化为一个数学模型,并使用动态规划等方法来解决最优策略的问题。 总的来说,马尔可夫决策过程理论和应用是一个非常有用和强大的工具。它在解决决策问题时提供了一种系统化的方法,并在实践中得到了广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值