深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[价值函数]

分类目录:《深入理解强化学习》总目录


马尔可夫过程的基础上加入奖励函数和折扣因子,就可以得到马尔可夫奖励过程(Markov Reward Process)。一个马尔可夫奖励过程 ( S , P , r , γ ) (S, P, r, \gamma) (S,P,r,γ)构成,各个组成元素的含义如下所示:

  • S S S是有限状态的集合。
  • P P P是状态转移矩阵。
  • r r r是奖励函数,某个状态 s s s的奖励 r ( s ) r(s) r(s)指转移到该状态时可以获得奖励的期望。
  • γ \gamma γ是折扣因子(Discount Factor), γ \gamma γ的取值范围为 [ 0 , 1 ] [0, 1] [0,1]。引入折扣因子的理由为远期利益具有一定不确定性,有时我们更希望能够尽快获得一些奖励,所以我们需要对远期利益打一些折扣。接近1的 γ \gamma γ更关注长期的累计奖励,接近0的 γ \gamma γ更考虑短期奖励。

马尔可夫奖励过程中,一个状态的期望回报(即从这个状态出发的未来累积奖励的期望)被称为这个状态的价值(Value)。所有状态的价值就组成了价值函数(Value Function),价值函数的输入为某个状态,输出为这个状态的价值。我们将价值函数写成 V ( s ) = E [ G t ∣ S t = s ] V(s)=E[G_t|S_t=s] V(s)=E[GtSt=s],展开为:
V ( s ) = E [ G t ∣ S t = s ] = E [ R t + γ R t + 1 + γ 2 R t + 2 + ⋯ ∣ S t = s ] = E [ R t + γ G t + 1 ∣ S t = s ] = E [ R t + γ V ( S t + 1 ) ∣ S t = s ] \begin{aligned} V(s)&=E[G_t|S_t=s] \\ &=E[R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+\cdots|S_t=s] \\ &=E[R_t + \gamma G_{t+1}|S_t=s] \\ &=E[R_t + \gamma V(S_{t+1})|S_t=s] \\ \end{aligned} V(s)=E[GtSt=s]=E[Rt+γRt+1+γ2Rt+2+St=s]=E[Rt+γGt+1St=s]=E[Rt+γV(St+1)St=s]

其中, G t G_t Gt是之前定义的折扣回报(Discounted Return)。我们对 G t G_t Gt取了一个期望,期望就是从这个状态开始,我们可能获得多大的价值。所以期望也可以看成未来可能获得奖励的当前价值的表现,就是当我们进入某一个状态后,我们现在有多大的价值。

我们使用折扣因子的原因如下:

  • 有些马尔可夫过程是带环的,它并不会终结,折扣因子可以避免无穷的奖励。
  • 我们并不能建立完美的模拟环境的模型,我们对未来的评估不一定是准确的,我们不一定完全信任模型,因为这种不确定性,所以我们对未来的评估增加一个折扣。我们想把这个不确定性表示出来,希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。
  • 如果奖励是有实际价值的,我们可能更希望立刻就得到奖励,而不是后面再得到奖励(现在的钱比以后的钱更有价值)。
  • 我们也更想得到即时奖励。有些时候可以把折扣因子设为0( γ = 0 \gamma=0 γ=0),我们就只关注当前的奖励。我们也可以把折扣因子设为1( γ = 1 \gamma=1 γ=1),对未来的奖励并没有打折扣,未来获得的奖励与当前获得的奖励是一样的。折扣因子可以作为强化学习智能体的一个超参数(Hyperparameter)来进行调整,通过调整折扣因子,我们可以得到不同动作的智能体。

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022


http://www.niftyadmin.cn/n/5181209.html

相关文章

Ansible 企业实战详解

一、ansible简介1. ansible是什么2.ansible的特点ansible的架构图 二、ansible 任务执行1、ansible 任务执行模式2、ansible 执行流程3、ansible 命令执行过程 二 .Ansible安装部署1.yum安装2.ansible 程序结构3、ansible配置文件查找顺序4、ansible配置文件5.ansible自动化配置…

TSINGSEE视频汇聚管理与AI算法视频质量检测方案

一、建设背景 随着互联网视频技术的发展,视频监管在辅助安全生产、管理等方面发挥了不可替代的作用。但是,在监管场景中,仍然存在视频掉线、视频人为遮挡、视频录像存储时长不足等问题,对企业的日常管理和运转存在较大的安全隐患…

【Java 进阶篇】JQuery 案例:全选全不选,为选择添彩

在前端的舞台上,用户交互是一场精彩的表演,而全选全不选的功能则是其中一段引人入胜的剧情。通过巧妙运用 JQuery,我们可以为用户提供便捷的全选和全不选操作,让页面更富交互性。本篇博客将深入探讨 JQuery 中全选全不选的实现原理…

【多线程 - 07、中断线程 interrupt】

中断线程 Thread类中interrupt()、interrupted()和isInterrupted()方法 interrupt()方法 其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志&#xff0c…

【ATTCK】基于ATTCK识别网络钓鱼攻防战法

一、基于ATT&CK的钓鱼攻防战法(1) 通过ATT&CK识别钓鱼攻击可以采取以下步骤: 1. 收集数据:使用ATT&CK收集有关钓鱼攻击的数据,包括攻击者的行为模式、使用的工具和技术等。这可以通过监控网络流量、收集…

HMM与LTP词性标注之马尔科夫模型(HMM代码实现)

目录 原始代码请介绍下面代码的 整体流程 的和要实现的目的像debug一样逐行解释下面的代码 原始代码 import numpy as npstatus [rainy, sunny] # 隐藏序列 obs [walk, shop, clean] # 观测序列# 初始状态PI (必须是一维向量) init_probability np.array([0.6, 0.4]) # 状…

Spark DataFrame join后移除重复的列

在Spark&#xff0c;两个DataFrame做join操作后&#xff0c;会出现重复的列。例如&#xff1a; Dataset<Row> moviesWithRating moviesDF.join(averageRatingMoviesDF,moviesDF.col("movieId").equalTo(averageRatingMoviesDF.col("movieId")));其s…

从0到0.01入门 Webpack| 002.精选 Webpack面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…