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

相关文章

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat