how to

3-马尔科夫决策过程

Sep 26, 2024
notesjulyfun技术学习hrl
6 Minutes
1082 Words
  • ref: https://hrl.boyuai.com/chapter/1/%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E5%86%B3%E7%AD%96%E8%BF%87%E7%A8%8B

  • 状态转移矩阵 𝒫,表示状态对转移概率,为方阵,第 𝑖 行第 𝑗 个表示 𝑠𝑖 转移到 𝑠𝑗 概率

MRP 问题

  • 下方 𝑠 表示状态集合中的元素,𝑆𝑡 表示某时刻状态取值
  • 𝑅𝑡: 随机变量,𝑡 时刻获得的奖励(实际)
  • 𝑟(𝑠): 转移到状态 s 获得的奖励的期望
  • 𝑅𝑡: 随机变量,𝑡 时刻获得的奖励
  • 𝑟(𝑠): 转移到状态 s 获得的奖励的期望******
  • 𝐺𝑡: 一个马尔科夫过程中,从状态 𝑆𝑡 开始到无穷步后衰减奖励之和
  • 𝛾: 这里引入了衰减系数,则有 𝐺𝑡=𝑅𝑡+𝛾𝑅𝑡+1+𝛾2𝑅𝑡+2..=𝑘=0𝛾𝑘𝑅𝑡+𝑘
  • 𝑉(𝑠): 价值函数, 为一个状态的期望回报 =𝔼[𝐺𝑡|𝑆𝑡=𝑠]=𝔼[𝑅𝑡+𝛾𝑉(𝑆𝑡+1)|𝑆𝑡=𝑠]=𝑟(𝑠)+𝛾𝑠𝑆𝑝(𝑠|𝑠)𝑉(𝑠)
    • 上一行等号最右边叫做贝尔曼方程,由 V 和邻接 V 组成
    • 𝒱[𝑉(𝑠1)𝑉(𝑠𝑛)]𝑇
    • 奖励函数列向量 𝑟(𝑠𝑖) 组成
    • 贝尔曼方程矩阵形式: 𝒱=(𝐼𝛾𝒫)1 此法复杂度 𝑛3,不适用于大数据

MDP 问题

  • 𝐴:动作集合
  • 𝑟(𝑠,𝑎):期望奖励同时取决于状态和动作
  • 𝑃(𝑠|𝑠,𝑎) :状态转移概率也是,故马尔可夫矩阵不再有用

策略

  • 𝜋(𝑎|𝑠):状态 𝑠 下采取 𝑎 的概率
  • 𝑉𝜋(𝑠)𝔼𝜋[𝐺𝑡|𝑆𝑡=𝑠] 状态价值函数 state-value function,即还不确定 𝑎
  • 𝑄𝜋(𝑠,𝑎)=𝔼𝜋[𝐺𝑡|𝑆𝑡=𝑠,𝐴𝑡=𝑎] 动作价值函数 action-value function,即确定了 𝑎
    • 𝑉𝜋(𝑠)=𝑎𝐴𝜋(𝑎|𝑠)𝑄𝜋(𝑠,𝑎)
    • 𝑄𝜋(𝑠,𝑎)=𝑟(𝑠,𝑎)+𝛾𝑠𝑆𝑃(𝑠|𝑠,𝑎)𝑉𝜋(𝑠)
    • 𝑠𝜋𝑎𝑖𝑃𝑠

贝尔曼期望方程

  • 代入即可,要么由 V 和邻接 V 组成,要么由 Q 和邻接 Q 组成
  • 𝑉𝜋(𝑠) 表示为关于下一个状态的等式
  • 𝑄𝜋(𝑠,𝑎) 同样表示为关于下一个状态和动作的等式
  • default
  • 𝐴𝑆 的例子
  • default

边缘化求状态价值函数

  • 边缘化:将 MDP 转化为 MRP:状态期望奖励 = 所有动作奖励 × 动作概率,状态转移到 s' 概率=所有动作转移到 s' 概率×动作概率

蒙特卡洛方法

  • 随机采样若干条序列,计算统计回报,用于计算状态价值函数
  • 𝑉(𝑠)𝑉(𝑠)+1𝑁(𝑠)(𝐺𝑉(𝑠)), 这是增量更新,𝐺 由实际采样计算得到
  • 代码实现更新方法:先获得一个序列,对该序列从后往前计算
1
def MC(episodes, V, N, gamma):
2
# 这里 episode 是一个采样序列
3
for episode in episodes:
4
G = 0
5
# 由于 G 的定义跟后续状态有关,只能从后往前计算.
6
# 所以最后一个状态没有良好的 G(G = 0)
7
for i in range(len(episode) - 1, -1, -1):
8
(s, a, r, s_next) = episode[i]
9
G = r + gamma * G
10
N[s] = N[s] + 1
11
V[s] = V[s] + (G - V[s]) / N[s]

占用度量

  • 𝜈0(𝑠) : MDP 的初始状态分布(在状态 𝑠 的概率)
  • 𝑃𝜋𝑡(𝑠) : 策略 𝜋 下智能体 𝑡 时刻为状态 𝑠 的概率
  • 𝜈𝜋(𝑠) : 状态访问分布𝜈𝜋(𝑠)=(1𝛾)𝑡=0𝛾𝑡𝑃𝜋𝑡(𝑠) ,指策略下所有步在状态 𝑠 的概率的衰减加权和
    • 似乎需要确定 𝜈0.
  • 性质(离散形式类似于 MDP 贝尔曼期望方程):
  • default
  • 𝜌𝜋(𝑠,𝑎) (1𝛾)𝑡=0𝛾𝑡𝑃𝜋𝑡(𝑠)𝜋(𝑎|𝑠) : 占用度量,就是动作状态访问分布,等于状态访问分布乘动作权重,表示策略下所有步在该(状态-动作对)的概率的衰减加权和
  • 定理 1: 占用度量相同 策略相同
  • 定理 2: 合法占用度量 𝜌 ,可生成该占用度量的唯一策略为:

𝜋𝜌(𝑠,𝑎)=𝜌(𝑠,𝑎)𝑎𝜌(𝑠,𝑎)

最优策略

  • 定理:有限状态和动作集合中,必然存在一个策略,在任意状态下的状态价值函数均不劣于其他策略
    • 感性上确实能理解
  • 𝑉(𝑠),𝑄(𝑠,𝑎) : …
  • 重要:𝑉(𝑠)=max𝑎𝒜𝑄(𝑠,𝑎),只需选最好的一个动作即可。这是一个循环依赖,需要解方程

贝尔曼最优方程

  • 由上面导出
  • default
Article title:3-马尔科夫决策过程
Article author:Julyfun
Release time:Sep 26, 2024
Copyright 2025
Sitemap