从马尔可夫奖励过程到马尔可夫决策到强化学习【01/2】

news2025/4/22 15:38:03

一、说明

        关于马尔可夫过程,如何将马尔可夫决策转化成决策依据,这里介绍的基本的思想路径,为读者将来设计和应用决策模型提供理论上的参考。

这是了解强化学习的一系列基础文章的后续文章。如果您有兴趣了解强化学习,请查看此处。

二、马尔可夫过程

        让我们尝试通过一个简单的例子来理解马尔可夫过程。(顺便说一句,我真的希望印度能赢得世界杯!)

        好吧,回到这个例子,假设下表代表了印度板球队在世界杯比赛中的历史表现。

|         | Winning | Losing | Drawing |
|---------|---------|--------|---------|
| Winning | 0.6     | 0.1    | 0.3     |
| Losing  | 0.3     | 0.4    | 0.3     |
| Drawing | 0.4     | 0.2    | 0.4     |

        注意:以上表格是转移矩阵,指把当前状态向量输入后,输出预测出可能的结果向量。 

        这里有 3 种可能的状态:(获胜、失败和平局)。现在,让我们想象一下球队目前的状态是“胜利”。使用上表中的转移概率:

  • 赢得下一场比赛的概率 = 0.6
  • 输掉下一场比赛的概率 = 0.1
  • 打平下一场比赛的概率 = 0.3

        如果球队目前处于“获胜”状态,并且我们想要预测两场比赛后的状态,我们可以连续应用这些概率。

        一场比赛后:

  • 获胜概率 = 0.6
  • 失败的概率 = 0.1
  • 打平概率 = 0.3

        两场比赛后:

  • 获胜概率 = (0.6 * 0.6) + (0.1 * 0.3) + (0.3 * 0.4) = 0.36 + 0.03 + 0.12 = 0.51
  • 失败概率 = (0.6 * 0.1) + (0.1 * 0.4) + (0.3 * 0.2) = 0.06 + 0.04 + 0.06 = 0.16
  • 打平概率 = (0.6 * 0.3) + (0.1 * 0.3) + (0.3 * 0.4) = 0.18 + 0.03 + 0.12 = 0.33

        因此,在两场比赛之后,如果球队以“获胜”状态开始,则他们仍有 51% 的机会获胜,16% 的机会输球,33% 的机会平局。

        这个简单的马尔可夫过程示例演示了如何根据板球队的历史表现概率对锦标赛中板球队比赛的潜在结果进行建模,从而帮助根据当前状态预测其未来状态。

        因此,这构成了随机强化学习问题的基础,我们可以使用马尔可夫决策过程对环境进行建模。

三、马尔可夫奖励过程

        现在,我们了解了马尔可夫过程,马尔可夫奖励过程是一个马尔可夫过程,我们可以将奖励与马尔可夫过程的状态转换联系起来,但不涉及决策或行动。马尔可夫奖励过程的关键组成部分是:

状态、转移概率、奖励、折扣因子

        折扣系数 (γ):

  • 代表未来奖励相对于即时奖励的重要性。
  • 有助于在价值评估中权衡未来奖励。

        让我们继续前面的例子来了解这个马尔可夫过程的价值函数。我们假设状态之间转换的奖励是:

|         | Winning | Losing | Drawing |
|---------|---------|--------|---------|
| Winning | +10     | -5     | 0       |
| Losing  | +8      | 0      | +2      |
| Drawing | +5      | -3     | 0       |

        状态的价值函数使用以下公式计算:

        MRP 的价值函数计算

        其中γ 表示折扣因子 ,s' 表示下一个状态,s 表示当前状态。

        上面的方程被称为贝尔曼方程,它可以帮助我们迭代计算每个状态的价值函数,提供马尔可夫奖励过程中从不同状态开始的预期累积奖励的估计。

        马尔可夫决策过程

        马尔可夫决策过程是马尔可夫奖励过程+行动。该流程的主要组成部分是:

{S, A, P, R, γ}

        其中马尔可夫决策过程成分之上的附加成分是与每个状态转换相关的又名动作。

四、马尔可夫决策过程中的策略

        在马尔可夫决策过程(MDP)中,策略规定了代理在不同状态下选择操作的策略或规则。策略定义代理的行为,并通过指定代理在给定状态下应采取的操作来指导决策。

3.1 保单类型

        确定性策略 (π):

  • 确定性策略为每个状态选择特定的操作。
  • 它将每个状态映射到单个操作。
  • 示例:在状态s中,策略可能指定“执行操作a 1​”。

        随机策略 (π):

  • 随机策略提供每个状态的操作的概率分布。
  • 它指定在一个状态中选择每个可能动作的概率。
  • 示例:在状态s中,策略可能指示“以 0.6 的概率采取行动 1​,0.3 的概率采取行动 2​,以0.1的概率采取行动 3​” 

        在州 's' 采取行动 'a' 的政策

        因此,对于给定的策略 (π),计算与状态相关的价值函数的贝尔曼方程可以表示为:

3.2 政策特点

  • 探索与利用:策略在探索(尝试不同的操作来收集信息)和利用(利用已知的操作以获得即时奖励)之间取得平衡。
  • 最优性:最优策略随着时间的推移最大化预期累积奖励。

最优策略 π*

  • 状态价值:根据引导智能体走向更高价值状态(从长远来看会带来更高奖励的状态)的能力来评估策略。

五、马尔可夫决策过程中的政策改进和评估

        让我们考虑一个简单的网格世界场景来说明马尔可夫决策过程 (MDP) 中的策略评估和策略改进。

        想象一个代理在 3x3 网格世界中导航。代理可以向上、向下、向左或向右移动,并且每一步都会收到 -1 的奖励,直到到达最终状态,它会收到 +10 的奖励。

5.1 政策评估

  1. 设置:
  • 考虑代理在网格中随机移动的初始策略。

2.价值迭代方程(策略评估):

  • 价值函数V ( s )估计当前策略下每个状态的预期累积奖励。
  • V ( s )的贝尔曼期望方程为:

V ( s ) = Σ(a) π ( a ∣ s ) Σ( s ′, r) ​p ( s ′, r ∣ s , a )[ r + γ ⋅ V ( s ′)]

在哪里:

  • π ( a ∣ s ) 是根据策略在状态s下采取动作a的概率。
  • p ( s ', r ∣ s , a ) 是在状态 s 中采取动作 a 时,以奖励r转移到状态'的概率。
  • γ是折扣因子。

3、迭代:

  • 迭代所有状态,根据贝尔曼方程更新值估计,直到收敛。

5.2 政策改进

有多种技术和算法可用于马尔可夫决策过程 (MDP) 中强化学习的策略改进。这些方法的重点是增强代理的策略,以随着时间的推移实现更高的累积奖励。

贪心策略改进

  • 方法:选择在每个状态下最大化价值函数的行动。
  • 流程:根据当前价值函数更新策略以支持具有最高估计值的行动。
  • 目标:旨在通过偏向看似最有回报的行动,使政策更具剥削性。

5.3 政策迭代:

  • 方法:政策评估和政策改进步骤交替进行。
  • 流程:迭代评估当前策略并根据评估进行更新。
  • 目标:通过基于价值估计迭代细化策略,努力收敛到最优策略。

5.4 值迭代:

  • 方法:使用贝尔曼最优方程通过迭代更新确定价值函数。
  • 过程:通过重复应用贝尔曼方程直到收敛来计算每个状态的值估计。
  • 目标:专注于获得最优价值函数,以便根据这些估计来改进政策。

        除了这些技术之外,还有基于 Q 的学习、蒙特卡罗策略改进和 Actor-Critic 方法来改进策略,我们将在另一篇文章中讨论这些方法。

六、可观察和部分可观察马尔可夫过程

        可观察马尔可夫决策过程(MDP)是强化学习中的一个场景,其中代理在决策过程中可以完全访问环境的当前状态。简单来说:

  • 代理确切地知道环境中每一时刻发生的事情。
  • 它具有有关当前情况的清晰且完整的信息。
  • 决策仅依赖于当前状态,不需要过去的额外信息。
  • 这种类型的 MDP 是理想化的,代表代理的观察完美反映环境状态的场景,允许基于准确的信息直接做出决策。

        在部分可观察马尔可夫决策过程(POMDP)中,代理缺乏对环境状态的完整和直接访问。相反,它收到的观察结果不明确且不完整,无法完全揭示真实状态。这种不确定性给决策带来了挑战,因为智能体必须根据观察和过去的行动维持对可能状态的信念。

        关键点:

  • 信息不完整:代理缺乏有关环境状态的完整详细信息。
  • 不确定的观察结果:收到的观察结果没有精确地指定状态,从而导致模糊性。
  • 信念空间:代理根据观察到的信息维护可能状态的概率

        在 POMDP 中工作:

  • 信念更新:使用观察和过去的知识不断更新关于可能状态的信念。
  • 政策制定:制定考虑不确定性的策略,以根据对潜在状态的信念做出决策。

        希望到目前为止您已经对马尔可夫过程、价值函数有了基本的了解,并对与马尔可夫过程相关的策略有了直观的了解。

参考资料:

机器学习5:关于期望的深入讨论_对一个概率分布求期望有什么

机器学习系列4:期望到底是个啥?_机器学习中的期望乐观度 

回到未来:使用马尔可夫转移矩阵分析时间序列数据_马尔科夫转移概率矩阵应用案例 

 @souptik.reach.095。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1346075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秒杀系统的设计思路(应对高并发,超卖等问题的解决思路)

首先我们先看一下设计秒杀系统时,我们应该考虑的问题。 解决方案: 一.页面静态化结合CDN内容分发 前端把能提前放入cdn服务器的东西都放进去,反正把所有能提升效率的步骤都做一下,减少真正秒杀时候服务器的压力。 秒杀活动的页面…

day5--java基础编程:异常,内部类

6 异常 6.1 异常概述 出现背景: 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式&#xff0c…

EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.【EI级】 Matlab实现TCN-BiGRU-Mult…

petalinux

基于网络参考,运行一个xilinx pcie rc的参考,选择vcu118平台(基于microblaze):该参考通过pcie rc对挂在的外部ssd进行读写测试 Zynq PCI Express Root Complex design in Vivado - FPGA Developer 1,安装…

使用YOLOv8和Grad-CAM技术生成图像热图

目录 yolov8导航 YOLOv8(附带各种任务详细说明链接) 概述 环境准备 代码解读 导入库 定义letterbox函数 调整尺寸和比例 计算填充 应用填充 yolov8_heatmap类定义和初始化 后处理函数 绘制检测结果 类的调用函数 热图生成细节 参数解释 we…

Netty(一)-NIO

一、Netty 现在的互联网环境下,分布式系统大行其道,而分布式系统的根基在于网络编程,而Netty恰恰是Java领域网络编程的王者。如果要致力于开发高性能的服务器程序,高性能的客户端程序,必须掌握Netty。 1、NIO NIO&…

鸿蒙(OpenHarmony)系统之智能语音部件(1)

本文重点参考: OpenHarmony/ai_intelligent_voice_framework 一、总体概述 1. 功能简介及架构 智能语音组件包括智能语音服务框架和智能语音驱动,主要实现了语音注册及语音唤醒相关功能。 智能语音组件架构图如下图所示: (1&a…

分库分表之Mycat应用学习四

4 分片策略详解 分片的目标是将大量数据和访问请求均匀分布在多个节点上,通过这种方式提升数 据服务的存储和负载能力。 4.1 Mycat 分片策略详解 总体上分为连续分片和离散分片,还有一种是连续分片和离散分片的结合,例如先 范围后取模。 …

弱电工程计算机网络系统基础知识

我们周围无时无刻不存在一张网,如电话网、电报网、电视网、计算机网络等;即使我们身体内部也存在许许多多的网络系统,如神经系统、消化系统等。最为典型的代表即计算机网络,它是计算机技术与通信技术两个领域的结合。 计算机网络的…

C语言函数篇——sqrt()函数

sqrt()函数介绍: sqrt()函数是C语言中用于计算一个数的平方根的数学函数。它接受一个浮点数作为参数,并返回该数的平方根。 sqrt()函数的语法: double sqrt(double x); 其中,x是要计算平方根的数。 sqrt()函数的应用案例&#x…

【中小型企业网络实战案例 五】配置可靠性和负载分担

【中小型企业网络实战案例 三】配置DHCP动态分配地址-CSDN博客 【中小型企业网络实战案例 四】配置OSPF动态路由协议 【中小型企业网络实战案例 二】配置网络互连互通-CSDN博客 【中小型企业网络实战案例 一】规划、需求和基本配置_大小企业网络配置实例-CSDN博客 配置VRRP联…

matlab导出高清图片,须经修改后放入latex(例如添加文字说明,matlab画图不易操作)

一、背景 我们在写文章时,使用matlab画图后,如果不需要对图片进行额外修改或调整,例如添加文字说明,即可直接从matlab导出eps格式图片,然后插入到latex使用。 通常latex添加图片,是需要eps格式的。 但很…

matplotlib单变量和双变量可视化

使用seaborn 库的tips数据集,其中包含了某餐厅服务员收集的顾客付小费的相关数据(评论区) 单变量可视化 直方图 直方图是观察单个变量最常用的方法。这些值是经过"装箱"(bin)处理的 直方图会将数据分组后绘…

通用定时器PWM波输出原理

1通用PWM波输出原理 总结&#xff1a;PWM波周期或频率由ARR决定&#xff0c;PWM波占空比由CCRx决定 1通用PWM模式 1.1PWM模式1 PWM模式1&#xff1a; 递增&#xff1a;CNT < CCRx&#xff0c;输出有效电平1 CNT > CCRx&#xff0c;输出无效电平0 递减&#xff1a;CNT …

蜕变,我的2023

作者&#xff1a;苍何&#xff0c;前大厂高级 Java 工程师&#xff0c;阿里云专家博主&#xff0c;CSDN 2023 年 实力新星&#xff0c;土木转码&#xff0c;现任部门技术 leader&#xff0c;专注于互联网技术分享&#xff0c;职场经验分享。 &#x1f525;热门文章推荐&#xf…

uniapp中组件库的丰富NumberBox 步进器的用法

目录 基本使用 #步长设置 #限制输入范围 #限制只能输入整数 #禁用 #固定小数位数 #异步变更 #自定义颜色和大小 #自定义 slot API #Props #Events #Slots 基本使用 通过v-model绑定value初始值&#xff0c;此值是双向绑定的&#xff0c;无需在回调中将返回的数值重…

【Linux专区】如何配置新服务器 | 添加普通用户到sudoers | 配置vim | git免账号密码pull push

&#x1f49e;&#x1f49e;欢迎来到 Claffic 的博客&#x1f49e;&#x1f49e; &#x1f449; 专栏&#xff1a;《Linux专区》&#x1f448; &#x1f4ac;前言&#xff1a; 时隔131天&#xff0c;你的好友Claffic重新发文了&#xff01;(✿◕‿◕✿) 上期已经带大家白嫖了阿…

MFC - 给系统菜单(About Dialog)发消息

文章目录 MFC - 给系统菜单(About Dialog)发消息概述笔记resource.h菜单的建立菜单项的处理MSDN上关于系统菜单项值的说法END MFC - 给系统菜单(About Dialog)发消息 概述 做了一个对话框程序, 在系统菜单(在程序上面的标题栏右击)中有"关于"的菜单. 这个是程序框架…

Git:常用命令(一)

取得项目的Git 仓库 从当前目录初始化 1 git init 初始化后&#xff0c;在当前目录下会出现一个名为.git 的目录&#xff0c;所有Git 需要的数据和资源都存放在这个目录中。不过目前&#xff0c;仅仅是按照既有的结构框架初始化好了里边所有的文件和目录&#xff0c;但我们还…

考pmp有用么?

PMP考出来究竟有什么用&#xff0c;这个问题一直是站在边缘的朋友经常思考的问题&#xff0c;其实我想说的是&#xff0c;当能力和经验都充足的时候&#xff0c;可能这单单的一张证书就能有莫大的作用&#xff0c;帮助你实现目前所追求的东西。 当我利用这张证书达到我的目的之…