当前位置: 首页 > news >正文

强化学习各种符号含义解释

s,{s}' :状态

a : 动作

r : 奖励

R : 奖励函数

S : 非终结状态

S^{+} : 全部状态,包括终结状态

A : 动作集合

ℛ : 奖励集合

\boldsymbol{P} : 转移矩阵

t : 离散时间步

T : 回合内最终时间步

S_t : 时间t的状态

A_t : 时间t动作

R_t : 时间t的奖励,通常为随机量,且由A_tS_t决定

G_t : 回报

G_t^{(n)} : n步回报

G_t^{\lambda} : \lambda 折扣回报

\pi : 策略

\pi(s) : 根据确定性策略\pi, 状态s时所采取的动作

\pi(a|s) : 根据随机性策略\pi, 在状态s时执行动作a的概率

p({s}',r|s,a) : 根据状态s和动作a,使得状态转移成{s}'且获得奖励r的概率

p({s}'|s,a) : 根据转态s和动作a,使得状态转移成{s}'的概率

v_{\pi}(s) : 根据策略\pi,状态s的价值(回报期望)

v_{\star}(s) : 根据最优策略,状态s的价值

q_{\pi}(s,a) : 动作价值函数,根据策略\pi,在状态s时执行动作a的价值

q_{\star}(s,a) : 根据最优策略,在状态s时执行动作a的价值

V,V_t : 状态价值函数的估计

Q,Q_t : 动作价值函数的估计

\tau : \tau = (S_0, A_0,R_0,S_1,A_1,R_1,...) 状态,动作,奖励的轨迹

\gamma : \gamma \in [0,1] , 奖励折扣因子

\epsilon : 根据\epsilon-贪婪策略,执行随机动作的概率

\alpha, \beta : 步长

\lambda : 资格迹的衰减速率

R(\tau) 是轨迹\tau\gamma-折扣化回报,R(\tau)=\sum_{t=0}^{\infty}\gamma^{t}R_t

p(\tau) 是轨迹的概率:

        p(\tau) = \rho_0(S_0)\prod_{t=0}^{T-1}p(S_{t+1}|S_t),对于\rho_0(S_0)是起始状态分布

        p(\tau|\pi)=\rho_0(S_0)\prod_{t=0}^{T-1}p(S_{t+1}|S_t,A_t)\pi(A_t|S_t),\rho_0(S_0)是起始状态分布

J(\pi)是策略\pi的期望回报,J(\pi)=\int_{\tau}p(\tau|\pi)R(\tau)=\mathbb{E}_{\tau\sim\pi}[R(\tau)]: 对于这个公式的理解为策略\pi可以产生很多轨迹\tau,产生每个轨迹的概率为p(\tau|\pi),而每个轨迹\tau的奖励为R(\tau),所以总的策略\pi可以获得的奖励的期望就是所有轨迹的概率乘与该轨迹的奖励的积分。对于右边期望描述的就是对于服从策略\pi的轨迹\tau,求轨迹的奖励值R(\tau)的期望。

\pi^{\star}是最优策略,最优策略就是能够获得最大的策略期望的策略,即为\pi^{\star}=arg max_{\pi}J(\pi)

v_{\pi}(s)是状态s在策略\pi下的价值,也就是这个状态能够获得的期望回报。

v_{\star}(s)是状态s在最优策略\pi下的价值,也就是这个状态能够在最优策略下获得的期望回报,最终都转化为了奖励的计算。

q_{\pi}(s,a)是状态s在策略\pi下执行动作a的价值(期望回报)

q_{\star}(s,a)是状态s在最优策略下执行动作a的价值(期望回报)

V(s)是对MRP(Markov Reward Process)中从状态s开始的状态价值的估计

V^{\pi}(s)是对MDP(Markov Decision Process)中在线状态价值函数的估计,给定策略\pi,有期望回报:

V^{\pi}(s)\approx v_{\pi}(s)=\mathbb{E}_{\tau\sim\pi}[R(\tau)|S_0=s]

其中MP,MRP,MDP参考:MP、MRP、MDP(第二节) - 知乎 (zhihu.com)

Q^{\pi}(s,a)是对MDP下在线动作价值函数的估计,给定策略 \pi,有期望回报:

 Q^{\pi}(s,a)\approx q_{\pi}(s,a)=\mathbb{E}_{\tau\sim\pi}[R(\tau)|S_0=s,A_0=a]

V^{\star}(s)是对MDP下最优动作价值函数的估计,根据最优策略,有期望回报:

V^{\star}(s)\approx v_{\star}(s) = max_{\pi}\mathbb{E}_{\tau\sim\pi}[R(\tau)|S_0=s]

Q^{\star}(s,a)是对MDP下最优动作价值函数的估计,根据最优策略,有期望回报:

Q^{\star}(s,a)\approx q_{\star}(s,a) = max_{\pi}\mathbb{E}_{\tau \sim\pi}[R(\tau)|S_0=s,A_0=a]

A^{\pi}(s,a)是对状态s和动作a的优势估计函数:

A^{\pi}(s,a)=Q^{\pi}(s,a) - V^{\pi}(s) 

 在线状态价值函数v_{\pi}(s)和在线动作价值函数q_{\pi}(s,a)的关系:

v_{\pi}(s)=\mathbb{E}_{a\sim\pi}[q_{\pi}(s,a)]

如上图所示:状态s对应多个动作a1,a2,执行一个动作之后,又可能转移到多个状态中去, 所以v_{\pi}(s)的值就是在状态s之下能够采取的所有动作的动作价值函数的期望,即为

v_{\pi}(s)=\mathbb{E}_{a\sim\pi}[q_{\pi}(s,a)]

另一种写法:

 v_{\pi}(s)=\sum_{a \in A}\pi(a|s)q_{\pi}(s,a)

这里写的是v_{\pi}(s)q_{\pi}(s,a)之间的关系,同理另外一种转换关系是,执行一个动作之后得到的及时奖励值+下一个状态的状态价值函数的折扣,即为

v_{\pi}(s)=\sum_{a\in A}\pi(a|s)(R_s^a+\gamma\sum_{s'\in S}P_{ss'}^av_{\pi}(s'))

P_{ss'}^a是在状态s执行动作a转移到s'的概率,这样就把v_{\pi}(s)v_{\pi}(s')关联起来了。另一种写法如下:

v_{\pi}(s)=\mathbb{E}_{a\sim \pi(\cdot |s),s'\sim p(\cdot |s,a)}[R(s,a)+\gamma v_{\pi}(s')]

最优状态价值函数v_{\star}(s)和最优动作价值函数q_{\star}(s,a)的关系是:

v_{\star}(s)=max_{a}q_{\star}(s,a)

上面的公式很好理解,在最优策略下,给一个状态s,这个策略肯定能够选到最好的动作去执行,那么当前状态的价值函数就不是去求所有动作价值函数的期望了,而是就等于动作价值函数最大的那个值。

a_{\star}(s)是在最优策略下,状态s执行的最优动作

a_{\star}(s)=argmax_{a}q_{\star}(s,a)

 在线动作价值函数的贝尔曼方程:

q_{\pi}(s,a)=\mathbb{E}_{s' \sim p(\cdot |s,a)}[R(s,a)+\gamma\mathbb{E}_{a' \sim \pi(\cdot|s')}[q_{\pi}(s',a')]]

另外一种写法是:

q_{\pi}(s,a)=R_s^a+\gamma\sum_{s' \in S}p_{ss'}^{a}\sum_{a' \in A}\pi(a'|s')q_{\pi}(s',a') 

上面是 q_{\pi}(s,a)q_{\pi}(s',a')的关系,下面是q_{\pi}(s,a)v_{\pi}(s')的关系:

q_{\pi}(s,a)=R_s^a+\gamma\sum_{s' \in S}P_{ss'}^av_{\pi}(s')

另外一种写法是:

q_{\pi}(s,a)=R_s^a+\gamma\mathbb{E}_{s' \sim p(\cdot|s,a)}[v_{\pi}(s')] 

 最优状态价值函数的贝尔曼方程:

v_{\star}(s)=max_a \mathbb{E}_{s' \sim p(\cdot | s,a)}[R(s,a)+\gamma v_{\star}(s')]

 另外一种写法是:

v_{\star}(s)=max_aR_s^a+\gamma \sum_{s' \in S}P_{ss'}^av_{\star}(s')

 最优动作价值函数的贝尔曼方程:

q_{\star}(s,a)=\mathbb{E}_{s' \sim p(\cdot |s,a)}[R(s,a)+\gamma max_{a'}q_{\star}(s',a')]

另外一种写法是:

q_{\star}(s,a)=R_s^a+\gamma \sum_{s' \in S}P_{ss'}^amax_{a'}q_{\star}(s',a') 

 

相关文章:

强化学习各种符号含义解释

:状态 : 动作 : 奖励 : 奖励函数 : 非终结状态 : 全部状态,包括终结状态 : 动作集合 ℛ : 奖励集合 : 转移矩阵 : 离散时间步 : 回合内最终时间步 : 时间t的状态 : 时间t动作 : 时间t的奖励,通常为随机量,且由和决定 : 回报 : n步…...

Axure基础详解二十:中继器随机抽奖效果

效果演示 组件 一、中继器 建立一个“中继器”内部插入一个“正方形”,给“正方形”添加一个【样式效果】>>【选中状态】填充背景为红色,字体白色。在中继器表格中插入两列数据函数:【xuhao】(序号列,按12345……填写&…...

企业信息化与电子商务>供应链信息流

1.供应链信息流概念 供应链信息流是指整个供应链上信息的流动。它是一种虚拟形态,包括了供应链上的供需信息和管理信息,它伴随着物流的运作而不断产生。因此有效的供应链管理作为信息流的管理主要作用在于及时在供应链中传递需求和供给信息,…...

【Proteus仿真】【STM32单片机】防火防盗GSM智能家居设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用声光报警模块、LCD1602显示模块、DS18B20温度、烟雾传感器模块、按键模块、PCF8591 ADC模块、红外检测模块等。 主要功能: 系统运行…...

快速入门ESP32——开发环境配置PlatformIO IDE

相关文章 快速入门ESP32——开发环境配置Arduino IDE 快速入门ESP32——开发环境配置PlatformIO IDE 一、下载安装二、验证 一、下载安装 下载安装 vscode 安装PlatformIO插件 创建工程 二、验证 写一个简单的函数来验证一下功能 void setup() {// put your setup cod…...

Oxygen XML Editor 26版新功能

▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 2023年10月26日,罗马尼亚SyncRO Soft公司发布Oxygen XML Editor、Oxygen Web Author和Oxygen Publish Engine 26版本。 1. Oxygen XML Editor 26新功能简介 AI助手 帮助写作者通过执行重复任务、审查语法、生成结构…...

Pikachu漏洞练习平台之SSRF(服务器端请求伪造)

注意区分CSRF和SSRF: CSRF:跨站请求伪造攻击,由客户端发起; SSRF:是服务器端请求伪造,由服务器发起。 SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标…...

WPF异步编程

在WPF应用程序中进行异步编程是非常重要的,因为这有助于保持用户界面的响应性,特别是当执行长时间运行的操作时,例如访问网络资源、进行大量的数据处理或调用耗时的I/O操作。 WPF的异步编程通常围绕以下几个关键概念: Dispatcher…...

同态加密定义,四大发展阶段总结,FHE系统正式定义-全同态加密

目录 同态加密定义 为什么采用电路模型? 四大发展阶段 总结 FHE系统正式定义...

网上的搜索

Internet中蕴含的信息资源非常丰富,但如何在这浩瀚如海的信息空间内快速找到自己所需要的资源呢?我们需要借助于搜索引擎。在网络上,提供搜索功能的网站非常多,如百度、谷歌、搜狗等,另外有一些门户网站也提供了搜索功能&#xf…...

【算法-哈希表2】快乐数 和 两数之和

今天,带来哈希表相关算法的讲解。文中不足错漏之处望请斧正! 理论基础点这里 1. 快乐数 分析题意 出题者已经把题意明确告诉我们了: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&am…...

MR外包团队:MR、XR混合现实技术应用于游戏、培训,心理咨询、教育成为一种创新的各行业MR、XR形式!

随着VR、AR、XR、MR混合现实等技术逐渐应用于游戏开发、心理咨询、培训、教育各个领域,为教育、培训、心理咨询等行业带来了全新的可能性。MR、XR游戏开发、心理咨询是利用虚拟现实技术模拟真实场景,让学生身临其境地参与学习和体验,从而提高…...

【P1008 [NOIP1998 普及组] 三连击】

[NOIP1998 普及组] 三连击 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。 题目描述 将 1 , 2 , … , 9 1, 2, \ldots , 9 1,2,…,9 共 9 9 9 个数分成 3 3 3 组&#xff…...

机器学习算法——集成学习

目录 1. Bagging 1. Bagging Bagging(bootstrap aggregating:自举汇聚法)也叫装袋法,其思想是通过将许多相互独立的学习器的结果进行结合,从而提高整体学习器的泛化能力,是一种并行集成学习方法。 工作流…...

java springboot在当前测试类中添加临时属性 不影响application和其他范围

目前 我们的属性基本都写在 application.yml 里面了 但是 如果 我们只是想做一下临时变量的测试 有没有办法实现呢? 显然是有的 这里 我们还是先在application.yml中去写一个 test属性 下面加个prop 然后 我们尝试在测试类中 获取一下这个属性 直接用 Value 读取…...

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!由于工作量大,准备整8个系列完事,-----系列5

文章目录 前言一、原始程序---计算原型,开始训练,计算损失二、每一行代码的详细解释2.1 粗略分析2.2 每一行代码详细分析 前言 承接系列4,此部分属于原型类中的计算原型,开始训练,计算损失函数。 一、原始程序—计算原…...

milvus数据库的数据管理-插入数据

一、插入数据 1.准备数据 数据必须与数据库中定义的字段元数据一致,与集合的模式匹配 import random data [[i for i in range(2000)],[str(i) for i in range(2000)],[i for i in range(10000, 12000)],[[random.random() for _ in range(2)] for _ in range(2…...

系列一、请谈谈你对JVM的理解?Java8的虚拟机有什么更新?

一、请谈谈你对JVM的理解?Java8的虚拟机有什么更新? JVM是Java虚拟机的意思。它是建立在操作系统之上的,由类加载器子系统、本地方法栈、Java栈、程序计数器、方法区、堆、本地方法库、本地方法接口、执行引擎组成。 (1&#xff0…...

恕我直言,大模型对齐可能无法解决安全问题,我们都被表象误导了

是否听说过“伪对齐”这一概念? 在大型语言模型(LLM)的评估中,研究者发现了一个引人注目的现象:当面对多项选择题和开放式问题时,模型的表现存在显著差异。这一差异根源在于模型对复杂概念的理解不够全面&…...

Apache Airflow (九) :Airflow Operators及案例之BashOperator及调度Shell命令及脚本

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...