Chapter 3:有限Markov决策过程

2024-01-18 14:10

本文主要是介绍Chapter 3:有限Markov决策过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Chapter 3:Finite Markov Decision Processes

  • 2.1 Agent–Environment交互
    • Markov transition graph
  • 3.2 Goals and Rewards
    • 3.2.1 returns and episodes
    • 3.2.2 episodic tasks和continuing tasks的统一表示
  • 3.3 Policy and Value function
  • 3.4 Optimal Policies and Optimal Value Functions
  • 3.5 Optimality and Approximation

有限MDPs问题和老虎机问题一样,也是评价性反馈,但是和bandit问题不同的是,MDPs问题除了immediate reward还涉及到delayed reward,需要在直接奖励和延迟奖励之间权衡。

在bandit问题中,估计的是每个动作 a a a的value q ∗ ( a ) q_*(a) q(a);在MDPs中,估计的是每个状态 s s s下的每个动作 a a a的value q ∗ ( s , a ) q_*(s,a) q(s,a),或者估计给定最佳动作选择后每个状态的value v ∗ ( s ) v_*(s) v(s)

本章介绍了MDPs问题的数学结构的关键元素:如returns,value function,Bellman equation。函数和Bellman方程。与所有人工智能一样,该问题在适用范围和数学易处理性之间存在着一种权衡。

2.1 Agent–Environment交互

在这里插入图片描述
事件发生顺序:
在这里插入图片描述
在有限MDPs中,状态、动作和奖励 ( S , A , R ) (\mathcal{S,A,R} ) (S,A,R)集合都具有有限数量的元素。因此,随机变量 R t R_t Rt S t S_t St具有明确定义的离散概率分布,仅取决于先前的状态和动作。
在这里插入图片描述
函数 p : S × R × S × A → [ 0 , 1 ] p:\mathcal{S\times R\times S\times A} \rightarrow[0,1] p:S×R×S×A[0,1]是含有四个参数的普通确定性函数。函数 p p p表征了MDPs的动态。
在这里插入图片描述
Markov property: 状态 s s s必须包含有关过去的agent-environment互动的所有信息。本书假设该性质成立。

根据带有4个参数的函数 p p p,可以推导出其他有关environment的函数:
state-transition probabilities:
含有3个参数的函数 p : S × S × A → [ 0 , 1 ] p:\mathcal{S\times S\times A} \rightarrow[0,1] p:S×S×A[0,1]
在这里插入图片描述
expected rewards for state–action pairs:
含有2个参数的函数 p : S × A → R p:\mathcal{S\times A} \rightarrow \mathbb R p:S×AR
在这里插入图片描述
expected rewards for state–action-next state triples:
含有3个参数的函数 p : S × A × S → R p:\mathcal{S\times A \times S} \rightarrow \mathbb R p:S×A×SR
在这里插入图片描述

Markov transition graph

在这里插入图片描述
图种有两种节点:state nodes和action nodes

3.2 Goals and Rewards

如果采取的动作不仅有直接奖励,还有延迟奖励,那么目标变为最大化该行动带来的奖励(reward)累积和的期望价值(expected value)。
理解:最大化收到的reward总和(in the long run)。

3.2.1 returns and episodes

return G t G_t Gt:step t t t之后的收到的rewards之和
G t = R t + 1 + R t + 2 + . . . + R T ( 3.7 ) G_t=R_{t+1}+R_{t+2}+...+R_T(3.7) Gt=Rt+1+Rt+2+...+RT3.7

episodes:
当agent-environment交互能自然地分解为子序列时,把子序列叫作episodes,有些文献中也叫trials。
terminal state: 每个episode每集的结束状态。所有episodes都可以被认为是以相同的终端状态结束,但是对不同的结果有不同的奖励。
episodic tasks: 包括多个episodes的tasks。 S \mathcal S S表示非终结状态的集合, S + \mathcal S^+ S+表示非终结状态加终结状态的集合。终止时间 T T T是随机变量,根据不同的episode 变化。

continuing tasks: 不能被分解成episodes的tasks,实际情况中很多都是连续任务,此时式(3.7)不再适用,因为 T = ∞ T=\infin T=

所以我们用了一个稍微复杂一点的return定义,引入了discounting,便于计算。

折现
选择 A t A_t At最大化expected discounted return:
在这里插入图片描述
γ ∈ [ 0 , 1 ] \gamma\in [0,1] γ[0,1]:折现率
γ &lt; 1 \gamma&lt;1 γ<1:如果 R k R_k Rk有限,式(3.8)是有限。
γ = 0 \gamma=0 γ=0:myopic,只考虑了直接奖励。
γ \gamma γ越接近1,说明越有远见,考虑future reward越多。

递推关系:
在这里插入图片描述

3.2.2 episodic tasks和continuing tasks的统一表示

对于episodic tasks来说,虽然又很多个episodes,但是我们通常只考虑其中单个的episode。
所以可以统一表示为:
在这里插入图片描述
其中,KaTeX parse error: Expected 'EOF', got '\infine' at position 3: T=\̲i̲n̲f̲i̲n̲e̲表示continuing tasks; γ = 1 \gamma=1 γ=1表示episodic tasks。两个条件不能同时满足。

3.3 Policy and Value function

policy: 从状态到选择每个可能动作的概率的映射。 例如:现在有policy π \pi π,则 π ( a ∣ s ) \pi(a|s) π(as)表示 S t = s S_t=s St=s A t = a A_t=a At=a的概率。

value function: 在policy π \pi π 和state s s s 下的expected return记作 v π ( s ) v_\pi(s) vπ(s)
在这里插入图片描述
在这里插入图片描述
v π v_\pi vπ是policy π \pi π 的state-value function; q π q_\pi qπ是policy π \pi π 的action-value function。

Bellman equation: 在policy π \pi π 和state s s s 下的expected return记作 v π ( s ) v_\pi(s) vπ(s)
在这里插入图片描述
式(3.14)是 v π v_\pi vπ的Bellman Equation,表示一个state价值与其下一阶段的state价值之间的关系。

3.4 Optimal Policies and Optimal Value Functions

optimal state-value function:
在这里插入图片描述
optimal action-value function:
在这里插入图片描述
对于state-action pair s , a s,a s,a,函数 q ∗ ( s , a ) q_*(s,a) q(s,a)表示在状态 s s s中执行动作 a a a并且此后遵循最优策略 π \pi π的expected return。因此, q ∗ q_* q可以用 v ∗ v_* v表示:
在这里插入图片描述
Bellman optimality equation:
含义:最优policy下的state value必须等于该state下的最佳action的expected return。
在这里插入图片描述
Bellman optimality equation for v ∗ v_* v:式(3.18)与式(3.19)
Bellman optimality equation for q ∗ q_* q:式(3.20)
在这里插入图片描述

3.5 Optimality and Approximation

因为很多原因,现实中可能无法得到最优解policy,此时就需要近似。强化学习的Online性质使得有可能以更多的方式接近最优策略,以便为频繁出现的state做出正确的决策,而不用考虑到出现频率低的state。这是将强化学习与其他近似解决MDP的方法区分开来的一个关键属性。

这篇关于Chapter 3:有限Markov决策过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619235

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本