第 2 章 马尔可夫决策过程

第 2 章 马尔可夫决策过程策略评估智能体与环境之间的交互 智能体得到环境的状态后 它会采取动作 并把这个采取的动作返还给环境 环境得到智能体的动作后 它会进入下一个状态 把下一个状态传给智能体 1 马尔可夫奖励过程马尔可夫奖励过程 Markovreward MRP 是马尔可夫链加上奖励函数 在马尔可夫奖励过程中 状态转移矩阵和状态都与马尔可夫链一样 只是多了奖励函数 rewardfuncti 奖励函数 R 是一个期望 表示当我们到达某一个状态的时候 可以获得多大的奖励 这里另外定义了折扣因子

马尔可夫奖励过程(Markov reward process, MRP) 是马尔可夫链加上奖励函数。在马尔可夫奖
励过程中,状态转移矩阵和状态都与马尔可夫链一样,只是多了奖励函数(reward function)
。奖励函数 R 是一个期望,表示当我们到达某一个状态的时候,可以获得多大的奖励。这里另外定义了折扣因子 γ。如果状态数是有限的,那么 R 可以是一个向量。

 其中, Gt 是之前定义的折扣回报(discounted return) 。我们对 Gt 取了一个期望,期望就是从这个状态开始,我们可能获得多大的价值。

当我们有了一些轨迹的实际回报时,怎么计算它的价值函数呢?
 

1.2)贝尔曼方程

 贝尔曼方程描述的就是当前状态到未来状态的一个转移

第 2 章 马尔可夫决策过程 1.3)计算马尔可夫奖励过程价值的迭代算法

2. 马尔可夫决策过程

第 2 章 马尔可夫决策过程

 在当前状态与未来状态转移过程中多了一层决策性,这是马尔可夫决策过程与之前的马尔可夫过程/马尔可夫奖励过程很不同的一点.马尔可夫决策过程,它的中间多了一层动作 a ,即智能体在当前状态的时候,首先要决定采取某一种动作,这样我们会到达某一个黑色的节点

第 2 章 马尔可夫决策过程

第 2 章 马尔可夫决策过程

 第 2 章 马尔可夫决策过程

第 2 章 马尔可夫决策过程 

 马尔可夫决策过程的不同之处在于有一个智能体控制船,这样我们就可以尽可能多地获得奖励。

第 2 章 马尔可夫决策过程 

2.3) 预测与控制

第 2 章 马尔可夫决策过程 

 在马尔可夫决策过程里面,预测和控制都可以通过动态规划解决。要强调的是,这两者的区别就在于,预测问题是给定一个策略,我们要确定它的价值函数是多少。而控制问题是在没有策略的前提下,我们要确定最佳的价值函数以及对应的决策方案。实际上,这两者是递进的关系,在强化学习中,我们通过解决预测问题,进而解决控制问题

第 2 章 马尔可夫决策过程 在控制问题中,问题背景与预测问题的相同,唯一的区别就是:不再限制策略。也
就是动作模式是未知的,我们需要自己确定

 第 2 章 马尔可夫决策过程

 控制问题要做的就是,给定同样的条件,求出在所有可能的策略下最优的价值函数是什么,最优策略是什么

2.4)动态规划

 策略评估的核心思想就是把如式 (2.39) 所示的贝尔曼期望备份反复迭代,然后得到一个收敛的价值函数的值。

第 2 章 马尔可夫决策过程 

第 2 章 马尔可夫决策过程 

第 2 章 马尔可夫决策过程 

 第 2 章 马尔可夫决策过程

第 2 章 马尔可夫决策过程 

 策略迭代和价值迭代来解决马尔可夫决策过程的控制问题

2.7)策略迭代

策略迭代由两个步骤组成:策略评估和策略改进(policy improvement)。在初始化的时候,我们有一个初始化的状态价值函数 V 和策略 π ,然后在这两个步骤之间迭代

第一个步骤是策略评估,当前我们在优化策略 π,在优化过程中得到一个最新的策略。我们先保证这个策略不变,然后估计它的价值,即给定当前的策略函数来估计状态价值函数。第二个步骤是策略改进,得到状态价值函数后,我们可以进一步推算出它的 Q 函数。得到 Q 函数后,我们直接对 Q 函数进行最大化,通过在Q 函数做一个贪心的搜索来进一步改进策略。这两个步骤一直在迭代进行。

第 2 章 马尔可夫决策过程
 



 图 2.21b 上面的线就是我们当前状态价值函数的值,下面的线是策略的值。策略迭代的过程与踢皮球一样。我们先给定当前已有的策略函数,计算它的状态价值函数。算出状态价值函数后,我们会得到一个Q 函数。我们对 Q 函数采取贪心的策略,这样就像踢皮球,“踢”回策略。然后进一步改进策略,得到一个改进的策略后,它还不是最佳的策略,我们再进行策略评估,又会得到一个新的价值函数。基于这个新的价值函数再进行 Q 函数的最大化,这样逐渐迭代,状态价值函数和策略就会收敛。

 对于每个状态,策略改进会得到它的新一轮的策略,对于每个状态,我们取使它得到最大值的动作,即

第 2 章 马尔可夫决策过程

 第 2 章 马尔可夫决策过程

2.8)价值迭代

第 2 章 马尔可夫决策过程 

 第 2 章 马尔可夫决策过程

 总结第 2 章 马尔可夫决策过程

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222558.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:31
下一篇 2026年3月17日 下午3:31


相关推荐

  • vue的$on方法_or指令的作用是

    vue的$on方法_or指令的作用是v-on监听事件可以用v-on指令监听DOM事件,并在触发时运行一些JavaScript代码。事件代码可以直接放到v-on后面,也可以写成一个函数。示例代码如下:<divid

    2022年7月30日
    6
  • 分布式爬虫理解

    分布式爬虫理解我们大多时候玩的爬虫都是运行在自己的机子 就是单机模式之前我们为了提高爬虫的效率 说过多进程相关的 今天来讲讲什么是分布式爬虫 一 什么是分布式 你开发一个网站想要给别人访问就需要把网站部署到服务器当网站用户增多的时候一个服务器就不满足需求了于是就会把网站部署到多个服务器上这种情况通常叫集群 就是把整个网站的所有功能 都同时部署到不同的服务器上一般会使用 ngnix 作负载均衡 不过有些功能并发量并不是很高比如一些后台的管理 所以就有人想要不如把这个网站的功能都拆分出来 让每一个模块只负责

    2026年3月16日
    2
  • 嵌入式Linux开发流程_嵌入式开发一般采用什么方式

    嵌入式Linux开发流程_嵌入式开发一般采用什么方式在学习嵌入式开发的过程中,尤其是开始入门时,包括各种各样的教程,都是在讲学习linux,很少讲如何利用linux来开发属于自己的嵌入式项目,也就是没有一个全局的概念,简单理解,大概流程如下:一、建立开发环境   操作系统当然是LInux,或者在win系统下安装虚拟机,通过网络下载相应的GCC交叉编译器进行安装,或者安装产品厂家提供的交叉编译器。  这一步,就相当于在win系统下,要

    2025年7月17日
    7
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    24
  • 继BAT、字节后阅文推出作家“龙虾”WriteClaw 网文创作迎人机交互新范式丨新经济视界

    继BAT、字节后阅文推出作家“龙虾”WriteClaw 网文创作迎人机交互新范式丨新经济视界

    2026年3月16日
    3
  • 如何在OpenClaw中进行模型分级配置?

    如何在OpenClaw中进行模型分级配置?

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号