【详解+推导!!】马尔可夫决策过程

本文深入探讨了马尔可夫决策过程(MDP)的基础概念,包括马尔可夫性、随机过程、马尔可夫过程和马尔可夫决策过程。MDP是强化学习的核心,描述了智能体与环境交互的数学模型。文章还介绍了策略与累计回报,以及值函数的定义和两者的关系,旨在帮助读者理解强化学习算法的工作原理。
摘要由CSDN通过智能技术生成

马尔可夫决策过程, Markov Decision Process, MDP

一、为什么需要马尔可夫决策过程?

在这里插入图片描述
上图所展示的是强化学习的基本框架,描述的是智能体(Agent)与环境(Environment)交互的过程,在训练过程中,大致过程如下:

  1. 智能体会根据当前的环境状态S(state)做出决策,决定接下来采取动作A(action);
  2. 环境会根据智能体的动作A给予反馈R(或者说奖励Reward),并且由于该动作的产生,由状态S转换到S‘;
  3. 智能体在与环境不断的交互过程中产生大量的S、A、R的数据,以实际任务目标为导向,基于这些数据强化学习算法可以让智能体做出更正确的决策,也就是学习出了策略。

马尔可夫决策过程就是通过数学方式描述上述的过程,是强化学习的基础和核心。

二、马尔可夫决策过程

1. 马尔可夫性

  • 马尔可夫性是指系统的下一个状态 S t + 1 S_{t+1} St+1仅与当前状态 S t S_t St有关,而与之前的状态无关;
  • 马尔可夫性描述的是每一个状态的性质;
  • 可以这样理解, S t S_t St包含了之前全部状态 S 1 S_1 S1 S 2 S_2 S2,…, S t − 1 S_{t-1} St1的全部信息,只要知道 S t S_t St,之前的历史信息就可以抛弃了;

2. 随机过程

  • 在使用中重要的是如何描述一个状态序列;
  • 而数学中用来描述随机变量序列的方式就是随机过程
  • 如果这个随机过程中的每个状态都是符合马尔可夫性的,那么则称这个随机过程为马尔可夫随机过程

3. 马尔可夫过程

  • 马尔可夫过程定义为: ( S , P ) (S,P) (S,P)
  • 其中 S S S是有限状态集, P P P是状态转移概率(是一个矩阵,描述了 S S S中每一种状态到领一种状态的转移概率);
  • 下图展示了一名学生的7种状态,以及每种状态之间的转换概率:在这里插入图片描述
  • 所以某一名同学一天的状态可能为“课1-课2-课3-考过-睡觉”,这样一组状态序列可以称为马尔科夫链
  • 由此也可以看出,从一个状态出发,我们选择不同的动作,可以产生多组马尔可夫链。

4. 马尔可夫决策过程

  • 在马尔可夫过程的基础上加上动作和反馈就是马尔可夫决策过程;
  • 马尔可夫决策过程定义为: ( S , A , P , R , γ ) (S, A, P, R, \gamma) (S,A,P,R,γ);
  • S S S为有限状态集; A A A为有限动作集; P P P为状态转移概率; R R R为回报函数; γ \gamma γ为折扣因子(用来计算累积回报);

三、策略与累计回报

1. 策略

  • 强化学习的目标就是给定一个马尔可夫决策过程,去寻找最优的策略;
  • 我们可以把策略理解为在状态 s s s下选择某一个动作 a a a的概率;
  • 策略通常用符号 π \pi π来表示;
  • 数学形式表示为: π ( a ∣ s ) = p [ A t = a ∣ S t = s ] \pi(a | s) = p[A_t=a | S_t=s] π(as)=p[At=aSt=s]
  • 含义为:策略 π \pi π在每个状态 s s s指定一个每个动作 a a a的发生概率;
  • 如果策略 π \pi π是确定的,那么策略 π \pi π在每个状态下的每个动作的概率都是确定的。

2. 累计回报

  • 已知马尔可夫决策过程 ( S , A , P , R , γ ) (S, A, P, R, \gamma) (S,A,P,R,γ),我们可以设定各种各样的策略 π \pi π,而强化学习的目标就是从众多的策略中选择回报最大的策略,为了评价每种策略 π \pi π的回报值,定义了累计回报
  • 给定策略 π \pi π,从状态 s 1 s_1 s1出发可能产生若干马尔可夫链,如:“ s 1 − s 2 − s 3 − s 4 − s 5 s_1 - s_2 - s_3 -s_4 - s_5 s1s2s3s4s5”,或者“ s 1 − s 2 − s 3 − s 5 s_1 - s_2 - s_3 - s_5 s1s2s3s5”,针对某一条确定的马尔可夫链,我们可以计算该链的累计回报:
    G 1 = R t + 1 + γ R t + 2 + γ 2 R t + 3 = ∑ k = 0 ∞ γ k R t + k + 1 G_1 = R_{t+1} + \gamma R_{t+2} + {\gamma}^2R_{t+3} = \sum_{k=0}^\infty \gamma^kR_{t+k+1} G1=Rt+1+γRt+2+γ2Rt+3=k=0γkRt+k+1
  • 但是由于策略 π \pi π具有随机性,所以对于某一个状态 s s s我们可以画出无限多条马尔可夫链,也就可以计算出无限多个累计回报 G 1 G_1 G1
  • 为了评价某一个状态 s s s的回报价值,我们将状态 s s s累计回报的期望作为评价指标,称为值函数

四、值函数

1. 值函数

  • 当智能体针对一个已知的马尔科夫决策过程,采用了策略 π \pi π,那么将累积回报在状态 s s s处的期望值定义为“状态-值函数”:
    ν ( s ) = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] = E π [ R t + 1 + γ ν ( S t + 1 ) ∣ S t = s ] (1) \begin{aligned} \nu(s) &= E_\pi \left[ \sum_{k=0}^\infty \gamma^kR_{t+k+1} | S_t=s \right] \\ &= E_\pi \left[ R_{t+1} + \gamma \nu(S_{t+1}) | S_t=s \right] \tag{1} \end{aligned} ν(s)=Eπ[k=0γkRt+k+1St=s]=Eπ[Rt+1+γν(St+1)St=s](1)

  • 将累计回报在状态 s s s处采取了行为 a a a的期望定义为“状态-行为值函数”:
    q π ( s , a ) = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] = E π [ R t + 1 + γ ν ( S t + 1 ) ∣ S t = s , A t = a ] (2) \begin{aligned} q_\pi(s,a) &= E_\pi \left[ \sum_{k=0}^\infty \gamma^kR_{t+k+1} | S_t=s, A_t=a \right] \\ &= E_\pi \left[ R_{t+1} + \gamma \nu(S_{t+1}) | S_t=s, A_t=a\right] \tag{2} \end{aligned} qπ(s,a)=Eπ[k=0γkRt+k+1St=s,At=a]=Eπ[Rt+1+γν(St+1)St=s,At=a](2)

2. “状态值函数”与“状态-行为值函数”

在这里插入图片描述

  • 二者关系的推导:
    • 如图2.5B所示, s s s处的状态值函数等于策略 π \pi π在状态 s s s下,选择每一种行为 a a a的概率 π ( a ∣ s ) \pi(a|s) π(as) ( s , a ) (s,a) (s,a)处的状态-行为值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)的乘积的累加,数学形式如下:
      ν π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) (3) \nu_\pi(s) = \sum_{a\in A} \pi(a|s) q_\pi(s,a) \tag{3} νπ(s)=aAπ(as)qπ(s,a)(3)
    • 如图2.5C所示, ( s , a ) (s,a) (s,a)处的状态-行为值函数,等于该处的反馈 R s a R_s^a Rsa加上,折扣因子乘以,每种状态 s ′ s' s的概率 P s s ′ a P_{ss'}^a Pssa乘上状态 s ′ s' s处的状态值函数 ν π ( s ′ ) \nu_\pi(s') νπ(s)的累加,数学形式如下:
      q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a ν π ( s ′ ) (4) q_\pi(s,a) = R_s^a + \gamma\sum_{s' \in S}P_{ss'}^a\nu_\pi(s') \tag{4} qπ(s,a)=Rsa+γsSPssaνπ(s)(4)
  • 公式(1)的推导:
    • 将公式(4)带入公式(3)得到:
      ν π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a ν π ( s ′ ) ) \nu_\pi(s) = \sum_{a\in A} \pi(a|s) \left( R_s^a + \gamma\sum_{s' \in S}P_{ss'}^a\nu_\pi(s') \right) νπ(s)=aAπ(as)(Rsa+γsSPssaνπ(s))
  • 公式(2)的推导:
    在这里插入图片描述
    • 如上图C所示,将 S = s ′ S=s' S=s带入公式(3)可得:
      ν π ( s ′ ) = ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) (5) \nu_\pi(s') = \sum_{a'\in A} \pi(a'|s') q_\pi(s',a') \tag{5} νπ(s)=aAπ(as)qπ(s,a)(5)
    • 将公式(5)带入公式(4)可得:
      q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) q_\pi(s,a) = R_s^a + \gamma\sum_{s' \in S}P_{ss'}^a\sum_{a'\in A} \pi(a'|s') q_\pi(s', a') qπ(s,a)=Rsa+γsSPssaaAπ(as)qπ(s,a)
  • 举个例子
    在这里插入图片描述
    • 如上图所示, s 4 s_4 s4的状态值函数 ν ( s 4 ) = 7.4 \nu(s_4)=7.4 ν(s4)=7.4计算过程如下:
      ν ( s 4 ) = 0.5 ∗ 10 + 0.5 ∗ ( 1 + 0.2 ∗ ( − 1.3 ) + 0.4 ∗ ( 2.7 ) + 0.4 ∗ 7.4 ) = 7.39 ≈ 7.4 \begin{aligned} \nu(s_4) &= 0.5*10 + 0.5*(1+0.2*(-1.3)+0.4*(2.7)+0.4*7.4) \\ &= 7.39\approx7.4 \end{aligned} ν(s4)=0.510+0.5(1+0.2(1.3)+0.4(2.7)+0.47.4)=7.397.4

五、什么是强化学习算法?

  • 定义一个离散时间、有限范围内的折扣马尔科夫决策过程: M = ( S , A , P , r , ρ 0 , γ , T ) M=(S, A, P, r, \rho_0, \gamma, T) M=(S,A,P,r,ρ0,γ,T),其中 r r r为立即回报函数, ρ 0 \rho_0 ρ0为初始状态分布, T T T为水平范围(步数限制,正因此如此叫做折扣);
  • 定义 τ \tau τ为一个轨迹序列, τ = ( s 0 , a 0 , s 1 , a 1 , . . . ) \tau = (s_0, a_0, s_1, a_1, ...) τ=(s0,a0,s1,a1,...)
  • τ \tau τ的累计回报为 R = ∑ t = 0 T γ t r t R=\sum_{t=0}T\gamma^tr_t R=t=0Tγtrt
  • 而强化学习算法的目标就是找到一个策略 π \pi π,最大化累计回报,也就是:
    π = arg max ⁡ π ∫ R ( τ ) p π ( τ ) d τ \pi = \argmax_\pi \int {R(\tau)p_\pi(\tau)} d\tau π=πargmaxR(τ)pπ(τ)dτ
  • 59
    点赞
  • 337
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
马尔可夫决策过程是指在马尔可夫过程的基础上加入了动作控制的过程。在马尔可夫决策过程中,我们可以根据当前状态来决定下一步应该采取的动作,以达到最优的决策结果。一个典型的实例是机器人导航问题。假设我们有一个机器人在一个迷宫中,机器人的目标是找到迷宫的出口。每个迷宫的状态可以表示为机器人所处的位置,而机器人的动作可以是向上、向下、向左或向右移动。根据当前的位置和迷宫的布局,机器人可以根据马尔可夫决策过程来选择下一步的动作,以最大化找到出口的概率。通过不断地观察当前状态和采取相应的动作,机器人可以逐步学习并改进其决策策略,以提高找到出口的效率。这个例子展示了马尔可夫决策过程在实际问题中的应用。 #### 引用[.reference_title] - *1* *2* [马尔可夫决策过程——木筏到快艇的升级之路](https://blog.csdn.net/HEU_Yutianqi/article/details/123986711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [马尔可夫过程及其例题分析](https://blog.csdn.net/weixin_42570192/article/details/122162200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值