价值函数与贝尔曼方程

article/2025/8/2 22:29:22

一.价值函数

由于在面对不同的状态时,智能体需要选择最优的动作,到达更优的状态以得到更多的奖励.那么我们根据什么判别一个状态或动作的的好坏程度呢?我们引入价值函数。

价值函数的定义是:获得回报的期望

1.状态价值函数

对于状态来说,状态价值函数V_\pi (s)的定义就是:在状态S下智能体能够获得回报的期望值。利用q期望公式定义:V_\pi(s)=\mathbb{E}[G_t|S_t=s]。其中的角标\pi代表计算时按照的是策略\pi(不同的策略指导下,每个状态的状体价值函数不尽相同,大家可也思考下)。求这个期望的方式有很多种,例如动态规划法,蒙特卡洛法,时间差分法等等。

举个例子来说:当我们在状态s的时候,对于未来的动作选择一般呈树状,每个状态作为父节点连接可能的动作,动作又作为父节点连接做出动作之后可能到的状态。但我们之前定义的回报G_t只表示树中的一条通路折扣奖励加和,通路很多,计算这个回报可能很困难,在这里我们简化,去除每个“分支”,只保留主干,且省略动作。

假设只有如图几条通路,则我们根据期望的定义式,很容易理解t时刻的状态s,其状态价值函数V_\pi(s)就等于转移到每个通路上的概率(由策略决定)乘以每条路上得到的回报即

V_\pi(s)=\sum p_\pi G_i=0.1\times 100+0.4\times200+0.5\times300=240

 

2.动作-状态价值函数(动作价值函数)

类比于状态价值函数,动作-状态价值函数(简称做动作价值函数)Q_\pi(s,a),评判的是在某一状态下可选的几种动作的好坏。用期望的形式表示成Q_\pi(s,a)=\mathbb{E}[G_t|S_t=s,A_t=a],很容易理解。

3.Q-table

知道了状态价值函数与动作价值函数,我们就可以知道:当前状态的好坏,在当前状态下可选择的动作的好坏,我们就可以主动的选择好的动作,到达好的状态。所以我们可以提出一种查表方式的策略。可以定义一个表格(Q_table)来存储不同状态下不同动作的动作价值函数

Q-table
a1a2a3...an
S1Q_\pi(s1,a1)Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)
S2Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)
S3Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)
...
SnQ_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)Q_\pi(s,a)

  每当我们观测到当前的状态,就可以在表格中查找状态对应的行,选择动作价值函数最高的动作执行。所以这个输入一个状态,输出一个最佳动作的函数就是策略。更加优秀的做法就是用一个神经网络来拟合表格,我们之后会讲到。

二.贝尔曼方程

将状态-动作-状态的树画出来。我们之前将到过:状态下动作的选择是基于我们的船长——策略,动作执行过后转移到下一个状态的概率分布可以由转移函数描述。既然动作与状态,状态与动作之间存在比较紧密的关系,表征两种优劣程度的价值函数之间也应该有关系,我们分步来看。

1.价值函数之间的关系

 

 我认为,状态价值函数与其叶节点动作价值函数之间的关系很明显,就是一个加权累加,类似于全概率公式。

从数学公式上推导来说,先回顾两个价值函数的定义式:

V_\pi(s)=\mathbb{E}[G_t|S_t=s]

Q_\pi(s,a)=\mathbb{E}[G_t|S_t=s,A_t=a]

 又因为\mathbb{E}[G_t|s,a]=\sum_{a}^{} p_\pi(s,a)\mathbb{E}[G_t|s],将两个价值函数和策略的定义式分别代替期望式和概率,即得到了等式:

V_\pi(s)=\sum_{a}\pi(a|s)Q_\pi(s,a)

类似于上述,在进行动作价值函数与其叶节点的状态价值函数的计算就略显复杂,因为我们在进行完动作进入一个状态时会得到一个奖励,导致需要从回报的定义式出发进行推导,如下:

\mathbb{E}[G_t|s,a]=\mathbb{E}[R_t+ \gamma R_{t+1}+ \gamma^2 R_{t+2}+...+ \gamma^n R_{t+n}|s,a] =\mathbb{E}[R_t|s,a]+\mathbb{E}[\gamma^2R_{t+1}+...+\gamma^nR_{t+n}|s,a]

将这个期望的分为两个部分,第一部分是我们获得一步奖励的期望

\mathbb{E}[R_t|s,a]=\sum_{s}p(s'|s,a)\times r(a)

剩下的部分\mathbb{E}[\gamma^2R_{t+1}+...+\gamma^nR_{t+n}|s,a]中的累加项同时提出一个衰减系数:

\gamma R_{t+1}+...+\gamma^nR_{t+n}=\gamma(R_{t+1} + ...+ \gamma^{n-1}R_{t+n})=\gamma G_{t+1}

就是这么神奇,那剩下的部分就变成了\mathbb{E}[\gamma G_{t+1}|s,a]=\gamma \mathbb{E}[G_{t+1}|s,a]

期望式可以由下一时刻状态价值函数根据转移概率权值累加替代,剩下的部分就成为\sum_ap(s'|s,a)V_{\pi}(s')

将前后两部分相加得到:Q_{\pi}(s,a)=R^a_s+\gamma \sum_ap(s'|s,a)V_{\pi}(s')(这里用R^a_s代替

一步奖励期望\mathbb{E}[R_t|s,a]=\sum_{s}p(s'|s,a)\times r(a)更加简洁)

到此为止,我们就得到了父子节点价值函数的推导关系:

V_\pi(s)=\sum_{a}\pi(a|s)Q_\pi(s,a)

Q_{\pi}(s,a)=R^a_s+\gamma \sum_ap(s'|s,a)V_{\pi}(s')

若将这段关系进行一次递归处理,我们就可以得到贝尔曼期望方程。 

二.贝尔曼期望方程——套娃

刚才我们计算的都是两层之间的,不同种类价值函数之间的关系。如果我们扩展到三层,如下图

 那么是否可以求得新的价值函数间的关系?即:同一类价值函数之间的关系。

我们很熟悉前两层的关系:V_\pi(s)=\sum_{a}\pi(a|s)Q_\pi(s,a)

 我们也很熟悉后两层的关系:Q_{\pi}(s,a)=R^a_s+\gamma \sum_ap(s'|s,a)V_{\pi}(s')

那么,如果将第二层关于Q_{\pi}(s,a)的等式代入第一个,那么不就很自然的消除了动作价值函数。

得到后继状态S'的状态价值函数V_{\pi}(S')当前状态S的状态价值函数V_{\pi}(S)之间的关系:V_{\pi}(s)=\sum_{a}\pi(a|s) \left ( R^a_s+\gamma\sum_sp(s'|s,a)V_{\pi}(s')\right )

同样的操作,动作价值函数之间的关系:

Q_{\pi}(s,a)=R^a_s+\gamma\sum_sp(s'|s,a)\sum_a\pi(a'|s')Q_{\pi}(s',a')

  那么,上述两个等式,我们把他们称为——贝尔曼期望方程

所谓“期望”,说明可以化为期望的形式,就是将概率加权求和变为期望,这里省略步骤

V_{\pi}(s)=\mathbb{E}_{\pi}[R_{t+1}+\gamma V_{\pi}(S_t+1)|S_t=s]

Q_{\pi}(s,a)=\mathbb{E}_{\pi}[R_{t+1}+\gamma Q_{\pi}(S_{t+1},A_{t+1})|S_t=s,A_t=a]

这就是贝尔曼期望方程最优的定义式,在知道状态转移\mathcal{P}的情况下,可以化成具体的加权求和


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

相关文章

强化学习: 贝尔曼方程与马尔可夫决策过程

强化学习: 贝尔曼方程与马尔可夫决策过程 一、简介 贝尔曼方程和马尔可夫决策过程是强化学习非常重要的两个概念,大部分强化学习算法都是围绕这两个概念进行操作。尤其是贝尔曼方程,对以后理解蒙特卡洛搜索、时序差分算法以及深度强化学习算…

贝尔曼方程(Bellman Equation)的解读

这个算法只适用于没有变化的环境 在解释下面几个专业术语前 我先来说一下这个Agent,中文的意思是 代理,代理人 但是实际上他大概表示的意思就相当于变量,就给你某一个状态贴上了一个标签一样 **状态(State) :**用一个数值来作为…

贝尔曼方程讲解

网格世界示例如下: 贝尔曼方程 在这个网格世界示例中,一旦智能体选择一个动作, 它始终沿着所选方向移动(而一般 MDP 则不同,智能体并非始终能够完全控制下个状态将是什么) 可以确切地预测奖励(…

Bellman 贝尔曼方程究竟是什么

贝尔曼方程是一种思想,而不是一个具体的公式 贝尔曼方程是由美国一位叫做理查德-贝尔曼科学家发现并提出的。 它的核心思想是:当我们在特定时间点和状态下去考虑下一步的决策,我们不仅仅要关注当前决策立即产生的Reward,同时也要…

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

原文链接:https://zhuanlan.zhihu.com/p/86525700 我有一个疑问,就是在推导过程中,状态s不是变量,st 是t阶段的状态相当于是一个常数,那么为什么sts,常数在等号的左边,变量在等号的右边&#x…

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

文章目录 什么是强化学习?(贝尔曼方程)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表记录了相连设备的…