(详细)强化学习--贝尔曼方程

article/2025/8/2 22:49:04

原文链接:https://zhuanlan.zhihu.com/p/86525700

我有一个疑问,就是在推导过程中,状态s不是变量,st 是t阶段的状态相当于是一个常数,那么为什么st=s,常数在等号的左边,变量在等号的右边?

这里的st表示的是t时刻对应的状态,状态可能有多种,但是这里设t时刻的状态为s,所以st=s。比如说放学回家,你一共有三种状态,写作业、看电视、打游戏,在某一时刻(这里可以对应t)你的状态是什么,即st得状态。st得状态可以是写作业(状态s1)、看电视(状态s2)、打游戏(状态s3)。st=s1表示t时刻你的状态是你正在写作业

Bellman方程

Bellman方程是强化学习的基础和核心,在介绍强化学习的概念及应用时我们必须对贝尔曼方程有个全面的了解,不然后面的只是将很难理解和掌握,所以在这里我们首先介绍Bellman方程的基础知识。

首先我们需要弄清楚贝尔曼方程的三个主要概念,策略函数、状态价值函数、状态-动作价值函数(简称为动作价值函数)[1]

策略函数(Policy Function):策略函数是一个输入为s输出为a的函数表示为 [公式] ,其中s表示状态,a表示动作,策略函数的含义就是在状态s下应该选择的动作a。强化学习的核心问题就是最优化策略函数从而最大化后面介绍的价值函数。

状态价值函数(State Value Function):前面说过强化学习的核心问题是最优化策略函数,那么如何评价策略函数是最优的呢?状态价值函数是评价策略函数 [公式] 优劣的标准之一,在每个状态s下( [公式] , [公式] 为所有状态的集合),可以有多个动作a选择( [公式] , [公式] 为所有动作的集合),每执行一次动作,系统就会转移到另一个状态(状态有时有多个可能,每种状态都有一个概率转移到就是下文的 [公式] ),如何保证所有的动作能使系统全局最优则要定义价值函数,系统的状态价值函数的含义是从当前状态开始到最终状态时系统所获得的累加回报的期望,下一状态的选取依据策略函数(不同的动作a将导致系统转移到不同的状态)。所以系统的状态价值函数和两个因素有关,一个是当前的状态s,另一个是策略 [公式] 。从不同的状态出发,得到的值可能不一样,从同一状态出发使用不同的策略,最后的值也可能不一样。所以建立的状态价值函数一定是建立在不同的策略和起始状态条件下的。状态价值函数的具体形式如下:

[公式]

其中 [公式] ,其中 [公式] 表示从 [公式] 转移到 [公式] 时获得的回报, [公式] 是折损因子,取值为 [公式] 。可以将上面的状态价值函数的形式表示为递归的形式:

[公式]

其中 [公式] 表示在选择动作a时,状态由s转移到 [公式] 的概率,这里要注意,选定了动作之后不代表后面的状态就确定了,根据概率可能有好几种状态可以转移到,如后面的赌徒问题。但是也存在动作确定后,后面只有一种转移可能,这个时候 [公式] 。下面用赌徒问题和方格世界的例子来说明这个概念。

例1:赌徒问题[2]

一个赌徒利用硬币投掷的反正面结果来赌博。假如投掷结果是硬币的正面朝上,那么他就赢得他所压的赌注,如果是反面朝上,那么他输掉他的赌注。当这个赌徒赢满100美元或者他输掉他所有的钱时,赌博结束。每一轮投掷,赌徒必须取出他资金的一部分作为赌注,赌注金额必须是整数。这个问题可以表述为一个无折扣的、情节式的有穷马尔可夫决策过程。状态就是赌徒所拥有的资金, [公式] ,动作就是下赌注, [公式]

这里的每个动作a就对应2各状态,如当前状态 [公式][公式] ,设赌徒每局输赢的概率都为0.5,则下一状态为 [公式] 的概率为0.5,下一状态为 [公式] 的概率也为0.5。

例2:方格世界

图 1.方格世界图

如图有个 [公式] 的方格,每个方格都对应一个状态,共有16个状态,每个状态下对应4个动作

A={上,下,左,右 },当当前状态确定,动作确定之后对应的下一个状态也就确定了。

状态动作价值函数(State-action Value Function):动作价值函数也称为Q函数,相比于Value Function是对状态的评估,Q Function是对(状态-动作对)的评估,Q值的定义是,给定一个状态 [公式] ,采取动作 [公式] 后,按照某一策略 [公式] 与环境继续进行交互,得到的累计汇报的期望值。其数学表达形式是:

[公式]

[公式]

对于状态价值函数和动作价值函数的区别,可以简单的认为,状态函数中,当前状态下选取哪个动作是未知数,需要求出一系列的动作集合(各不同状态下),形成一个完整的策略,然后使状态方程的值最大化,而动作价值函数是当前状态下的动作已知,求余下状态下的动作集合使动作方程的值最大化,具体数学形式如下:

[公式]

[公式]

动作和状态价值函数的关系

前面我们简单的将状态价值函数和状态-动作价值函数的关系描述为状态价值函数在当前状态的动作是不确定的, 所以它必须考虑到所用动作的情况然后取其期望,而状态-动作价值函数只是考虑特定的动作下的价值。最大化状态价值函数就是求当前状态的最大期望值,而最大化状态-动作价值函数就是求当前状态下一动作能带来的最大回报值,用数学的形式表示如下:

[公式]

[公式]

将公式(1-2)进一步化简可得:

[公式]

从上式可以看出状态方程比动作方程考虑了所有动作的情况。

注意:

这里需要注意几个表示价值的符号的意义, [公式]

[公式] 表示的是在状态s下,执行动作a的情况下状态转移到s'时得到的即时奖励。

[公式]

[公式]


下面举个例子说明状态价值函数和状态动作价值函数的含义[3]

图 2.状态价值计算图

如图2所示,是计算各状态价值的过程,其中设每一个状态下执行某个动作的概率都为0.5,即 [公式] ,折损因子 [公式] ,根据公式 [公式]

进行迭代求解,这里箭头从一个圆直接连接到另一个圆表示执行某动作之后,其能到达的状态只有一种, [公式] ,而箭头连接点的分出去三个箭头,表示执行该动作,将有可能到达三种状态,且概率分别为0.2,0.4,0.4。图中, [公式] 表示的是 [公式] ,以图中7.4值计算为例:

[公式]

对应的状态-动作价值是指在某个状态选取某个特定动作时所获得的价值,如在上述取7.4的状态下,取动作为 [公式] 的动作,此时a确定, [公式] ,根据公式:

[公式]

求得, [公式]

当要求最大状态价值函数和最大状态价值函数时,就是取获得最大价值的动作进行选取,如下图所示:

图 3.最优状态价值函数
图 4.最优状态-动作价值函数

参考

  1. ^贝尔曼方程推导 https://blog.csdn.net/hhy_csdn/article/details/89105908
  2. ^赌徒问题实验报告 https://wenku.baidu.com/view/d0253055312b3169a451a4f8.html
  3. ^马尔可夫决策过程 https://zhuanlan.zhihu.com/p/28084942

http://chatgpt.dhexx.cn/article/lLrxjaxp.shtml

相关文章

什么是强化学习?(贝尔曼方程)

文章目录 什么是强化学习?(贝尔曼方程)3.贝尔曼方程(Bellman equation)3.1贝尔曼期望方程(Bellman expectation equation)3.2 贝尔曼最优方程(Bellman optimality equation) 4. M D P MDP MDP 的动态编程(dynamic programming)4.1 M D P MD…

Bellman Equation 贝尔曼方程

Bellman equation(贝尔曼方程),是以Richard E.Bellman命名,是数值最优化方法的一个必要条件,又称为动态规划。它以一些初始选择的收益以及根据这些初始选择的结果导致的之后的决策问题的“值”,来给出一个决策问题在某一个时间点的…

贝尔曼方程详尽推导(无跳步|带图)

贝尔曼方程推导(无跳步) 这两天学习MDP,对于贝尔曼方程有很大的困惑,而且找了很多资料都没有详尽的推导,我这里把详尽推导写出来,希望能帮到正在学习的同学们。 V π ( s ) E [ G t ∣ S t s ] E [ R t…

20张图深度详解MAC地址表、ARP表、路由表

本文我们以两个案例为例,深度来讲解一下网络中我们经常要用到的mac地址表、ARP表、路由表,掌握了这3张表,基本上就能够掌握了网络中数据通信的原理,成为网络中的武林高手! 数据网络的本质就是为了传递数据,…

观察交换机学习MAC地址表的过程

查看交换机的mac地址表 dis mac-address 此时路由表为空 为pc配置IP地址 由pc3 ping 数据包 通过发送arp数据包 可使交换机学习到 pc3的mac地址 此时交换机学习到了pc3的mac地址 通过 E0/0/1接口 通过数据抓包可见 ping pc4 交换机也学习到了相应的mac地址

LAN---MAC表简介(MAC地址分类、MAC地址表生成方式、MAC表报文转发方式、MAC地址表分类、AC地址老化、端口安全、安全MAC地址分类、MAC地址漂移、MAC地址防漂移)

MAC表简介 介绍MAC表的定义、由来和作用。 MAC(MediaAccessControl)地址用来定义网络设备的位置。MAC地址由48比特长、12位的16进制数字组成,0到23位是厂商向IETF等机构申请用来标识厂商的代码,24到47位由厂商自行分派&#xff0c…

华为交换机MAC地址表分类与实验

MAC地址表分类: 动态表项由接口通过对报文中的源MAC地址学习方式动态获取到,这类MAC地址有老化的时间,并且可以自己修改,老化时间越短,交换机对周边的网络变化越敏感,适合在网络拓扑变化比较环境中&#xf…

华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...

MAC地址表 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。 交换机的工作原理 交换机在接收到数据帧…

MAC地址表+端口安全+MAC地址漂移

目录 一、MAC地址表的组成 二、端口安全(Port Security) 三、MAC地址漂移 1、配置接口mac地址学习优先级(MAC地址表就不会被抢占覆盖了) 2、配置不允许相同优先级接口mac地址漂移(不要轻易配置) 四、…

怎么管理思科交换机MAC地址表?

【欢迎关注微信公众号:厦门微思网络】 实验目的 1、理解交换机的工作原理 2、掌握交换机MAC地址表的管理方法 实验拓扑 【欢迎关注微信公众号:厦门微思网络】 实验需求 1、根据实验拓扑图,完成设备的基本配置; 2、测试主机之间…

交换机MAC地址表实验任务

一、实验目的 1、掌握交换机学习MAC地址的过程 二、实验内容 1、跟据所给题目完成MAC地址表实验 三、实验过程 1、实验任务说明 如图1-1所示,在GNS3软件中,使用一台三层交换机(S3950)以及两台PC机,进行配置后根据…

MAC地址、MAC地址表、端口安全、MAC地址漂移

一、MAC地址 mac地址主要工作在数据链路层,主要用于单个广播域内的数据传输 1.组成 总共48Bit,前24bit是通过向IETF等机构申请用来标识厂商的代码,后24bit由是厂商分配给产品的唯一数值 2.作用 mac地址工作在数据链路层 数据的封装和解封…

网络之MAC地址表学习

MAC地址表是在交换机中记录局域网主机和对应接口关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。 MAC表一般包含动态MAC地址、静态MAC地址和黑洞MAC地址。 动态MAC地址:由接口通过报文中的源MAC地址学习获得,表项可老化&…

linux mac地址表 大小写吗,04-MAC地址表命令

1MAC地址表配置命令 MAC地址表中对于接口的相关配置,目前只能在二层以太网端口以及二层聚合接口等二层接口上进行。 本章节内容只涉及单播的静态、动态、黑洞MAC地址表项的配置。有关静态组播MAC地址表项的相关介绍和配置内容,请参见“IP组播配…

SW转发与MAC地址表

一个心胸狭隘的人讲不出来大格局的话,一个没有使命感的人呢讲不出来有责任的话。—翟鸿燊 文章目录 一、MAC地址表二、拓扑三、基础配置与分析四、SW的数据转发五、MAC地址表安全5.1 攻击原理5.2 防御措施 一、MAC地址表 1、作用: MAC表记录了相连设备的…

1、MAC地址表项实验配置步骤

实验拓扑图&#xff1a; 实验配置思路&#xff1a; 1、查看动态MAC地址表项 2、配置静态MAC地址表项 3、配置黑洞MAC地址表项 静态表项和黑洞表项都优于动态表项 静态表项和黑洞表项重启后不会消失&#xff0c;动态表项重启之后会消失 实验摘要重点命令&#xff1a; <Hua…

华为-MAC地址表

一. MAC地址表的定义 MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系&#xff0c;以及接口所属VLAN等信息。设备在转发报文时&#xff0c;根据报文的目的MAC地址查询MAC地址表&#xff0c;如果MAC地址表中包含与报文目的MAC地址对应的表项&#xff0c;则直接…

MAC地址表

MAC地址表 MAC地址表记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系&#xff0c;是VLAN内数据转发的决策表&#xff0c;是决定交换机转发行为的标准&#xff0c;交换机就是根据这张表负责将数据帧传输到指定的主机上的。 MAC表一般包含动态MAC地址、静态MAC…

win+E打开文件资源管理器,但是打开的是快速访问

当使用快捷键&#xff0c;WinE的时候&#xff0c;打开的不是此电脑&#xff0c;而是快速访问的界面的时候&#xff0c;可以进行如下的处理&#xff1a; 1、继续WinE&#xff0c;然后找到查看&#xff0c;如下&#xff1a; 将快速访问换成->此电脑就可以了&#xff0c;这样就…

Win10 文件夹右键菜单打不开,快速访问点击卡死

如题&#xff0c;win10文件夹卡死了&#xff0c;人也好焦虑~ --------------------------------------------------------------- 一通百度&#xff0c;最后发现是右键菜单的问题&#xff0c;不知道安装啥软件&#xff0c;给我在文件夹右键菜单里加入了有问题的项&#xff0c;…