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

RL学习笔记-马尔可夫过程

        参考资料:蘑菇书、周博磊老师课程

        在强化学习中,智能体与环境交互是通过马尔可夫决策过程来表示的,因此马尔可夫决策过程是强化学习的基本框架。

马尔可夫性质

指一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态。如下:s代表状态,h代表历史所有状态。

马尔可夫过程 与 马尔科夫链

        马尔可夫过程是一组具有马尔可夫性质的随机变量序列,其中下一个时刻的状态只取决于当前状态。

        离散时间的马尔可夫过程也称为马尔可夫链(Markov chain)

 马尔科夫奖励过程(MRP)

        马尔可夫奖励过程(Markov reward process, MRP)是马尔可夫链加上奖励函数。奖励函数 R是一个期望,表示当我们到达某一个状态的时候,可以获得多大的奖励。另外还定义了折扣因子,以控制未来的奖励对当前价值的影响。

回报 与 价值 

回报:当前状态 t 的回报Gt表示未来T个时刻的奖励的叠加(同时要乘上折扣因子),折扣因子通常作为超参数学习。

价值:回报的期望

贝尔曼方程 

         价值是回报的期望,那么求 St 状态的价值就可以从St 开始生成很多条轨迹,然后求回报,最后对回报求均值。

        贝尔曼方程是另一种求价值的方法,也由价值是回报的期望那条公式推导出来的,定义了当前状态与未来状态的关系:

        

        把贝尔曼方程写成矩阵形式,可以求得一个解析解,但是当矩阵太大时,解析解就不好使了,复杂度太高。

马尔可夫决策过程(MDP)

        相对于马尔可夫奖励过程,马尔可夫决策过程多了决策(决策是指动作),其他的定义与马尔可夫奖励过程的是类似的。 

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

        策略定义了在某一个状态应该采取什么样的动作。知道当前状态后,我们可以把当前状态代入策略函数来得到一个特定动作的概率。策略函数Π

马尔可夫决策过程和马尔可夫奖励过程的转换 与 区别

决策过程:下一状态同时受当前状态和当前状态中所采取的动作影响。

奖励过程:下一状态只受当前状态影响。

        那么将决策过程当前状态所可能执行的所有动作的概率求和,即变成了奖励过程的状态转移函数:

        区别:左:奖励过程 右:决策过程

马尔可夫决策过程的价值函数

        决策过程的价值函数定义为:

        注意下标π,表示这里的价值函数仅在当前策略函数下生效,即对当前策略进行采样,来得到一个期望。因为前面说过,决策过程同时受状态和动作的影响,换一套策略函数,Gt中未来的状态可能就发生了变化。

        另外引入了一个 Q 函数(Q-function)。Q 函数也被称为动作价值函数(action-value function)。Q 函数定义的是在某一个状态采取某一个动作,它有可能得到的回报的一个期望,即

        Q函数即把价值函数中对策略函数使用动作采样,变成对一个特定动作采样。

        所以Q函数对该策略下所有的动作情况求和,就等于该策略下的价值函数:

贝尔曼期望方程 

         对把价值函数写成贝尔曼方程右侧的形式,然后对所有策略的价值函数求期望,注意是对所有策略的期望。

        对Q函数也可以做此操作,得到Q函数的贝尔曼期望方程:

        通过化简可得到当前状态价值和未来价值的关系,以及当前Q和未来Q的关系:

策略评估(预测)

 已知马尔可夫过程和当前的策略 π,计算价值函数,就是策略评估。也就是当前采取的策略有多大的价值。

预测 与 控制

预测:(评估一个给定的策略),输入是马尔可夫决策过程 <S,A,P,R,γ>和策略 π,输出是价值函数 Vπ。

控制:(搜索最佳策略),输入是马尔可夫决策过程 <S,A,P,R,γ>,输出是最佳价值函数(optimal value function)V∗ 和最佳策略(optimal policy)π∗。

预测和控制是马尔可夫决策过程里的核心问题。在强化学习中,通过解决预测问题,进而解决控制问题。

 策略迭代 与 价值迭代

策略迭代和价值迭代都是解决马尔可夫决策过程的控制问题的方法。

策略迭代

由两个步骤组成:策略评估和策略改进。

策略评估:即对当前的策略计算价值V。

策略改进:根据价值V求Q函数,求使得Q函数最大的策略(作为新策略),然后可以重复策略评估步骤,计算新策略下的价值函数。

若新策略的价值与当前策略的价值之间变化不大,则迭代结束。

结束后取最后一次Q函数的极大化的动作,即得到最优价值函数,下面的方程也叫贝尔曼最优方程:

贝尔曼最优方程表明:最佳策略下的一个状态的价值必须等于在这个状态下采取最好动作得到的回报的期望。 当马尔可夫决策过程满足贝尔曼最优方程的时候,整个马尔可夫决策过程已经达到最佳的状态。

价值迭代

        把贝尔曼方程拿来取使得价值最大的动作,进行迭代。

        迭代过程:

策略迭代和价值迭代的区别

        策略迭代是不断地通过计算价值,计算Q函数,取使得Q函数最大的动作来更新策略,重复的过程中每次都有做更新策略的操作。而价值迭代在迭代过程中只计算Q函数,然后通过取最大化Q函数来更新价值函数,直到收敛后再去求在最大价值下的策略。

相关文章:

RL学习笔记-马尔可夫过程

参考资料&#xff1a;蘑菇书、周博磊老师课程 在强化学习中&#xff0c;智能体与环境交互是通过马尔可夫决策过程来表示的&#xff0c;因此马尔可夫决策过程是强化学习的基本框架。 马尔可夫性质 指一个随机过程在给定现在状态及所有过去状态情况下&#xff0c;其未来状态的条件…...

LeetCode Hot 100:动态规划

LeetCode Hot 100&#xff1a;动态规划 70. 爬楼梯 class Solution { public:int climbStairs(int n) {if (n 0)return 0;vector<int> dp(n 1);// 初始化dp[0] 1;// 状态转移for (int i 1; i < n; i) {dp[i] dp[i - 1];if (i > 2)dp[i] dp[i - 2];}return …...

使用Python制作雪景图片教程

如果你想用Python写一个程序来输出有关“深夜雪”的诗意文本或描述&#xff0c;可以通过简单的字符串输出来实现。以下是一个示例代码&#xff0c;展示如何用Python来描绘深夜雪的场景。 # 定义深夜雪的描述 description """ 夜幕降临&#xff0c;天空洒下银色…...

S-Function

目录 S-Function介绍 生成S-Function的三种常用手段 使用手写S-函数合并定制代码 使用S-Function Builder块合并定制代码 使用代码继承工具合并定制代码 S-Function介绍 我们可以使用S-Function扩展Simulink对仿真和代码生成的支持。例如&#xff0c;可以使用它们&#xf…...

如何具备阅读JAVA JDK虚拟机源码能力

源码位置https://github.com/openjdk/jdk 核心实现源码[部分截图] /* * Copyright (c) 1995, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistr…...

Python | Leetcode Python题解之第514题自由之路

题目&#xff1a; 题解&#xff1a; Test "godding" target "d"i 0left i lc 0 right i rc 0while Test[left] ! target:left - 1lc 1if left -1:left len(Test) - 1while Test[right] ! target:right 1rc 1if right len(Test):right 0prin…...

Docker 镜像下载问题及解决办法

Docker 镜像下载问题及解决办法 我在杂乱的、破旧的村庄寂寞地走过漫长的雨季&#xff0c;将我年少的眼光从晦暗的日子里打捞出来的是一棵棵开花的树&#xff0c;它们以一串串卓然不俗的花擦明了我的眼睛&#xff0c;也洗净了我的灵魂。 引言 在使用 Docker 时&#xff0c;用户…...

2分钟搞定 HarmonyOs Next创建模拟器

官方文档参考链接&#xff1a; 创建模拟器-管理模拟器-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio - 华为HarmonyOS开发者https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-emulator-create-V5 1. 首先打开Device Manager 2. 进入这个界面后…...

方形件排样优化与订单组批问题探析

方形件排样优化与订单组批问题是计算复杂度很高的组合优化问题&#xff0c;在工业工程中有很广泛的应用背景。为实现个性化定制生产模式&#xff0c;企业会选择订单组批的方式&#xff0c;继而通过排样优化实现批量切割&#xff0c;加工完成后再按照不同客户需求进行分拣&#…...

vue3组件通信--自定义事件

自定义事件是典型的子传父的方法。 为什么叫自定义事件呢&#xff1f;是因为我们用sendToy"getToy"这种格式写&#xff0c;很显然&#xff0c;在DOM中&#xff0c;没有叫sendToy的事件。 父组件FatherComponent.vue: <script setup> import ChildComponent fr…...

ubuntu 安装k3s

配置hostname的方法为 hostnamectl set-hostname k3sserver hostnamectlsudo apt-get update && sudo apt-get upgrade -y sudo apt-get install -y curl#手动下载v1.31.1k3s1 https://github.com/k3s-io/k3s/releases/tag/v1.31.1%2Bk3s1 #将k3s-airgap-images-amd64…...

SQL CHECK 约束:确保数据完整性的关键

SQL CHECK 约束:确保数据完整性的关键 在数据库管理中,确保数据的完整性和准确性是至关重要的。SQL(Structured Query Language)提供了多种约束条件来帮助实现这一目标,其中之一就是 CHECK 约束。本文将深入探讨 SQL CHECK 约束的概念、用法和优势,并展示如何在不同的数…...

C++ | Leetcode C++题解之第502题IPO

题目&#xff1a; 题解&#xff1a; typedef pair<int,int> pii;class Solution { public:int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) {int n profits.size();int curr 0;priority_queue<int, vect…...

《虚拟现实的边界:探索虚拟世界的未来可能》

内容概要 在虚拟现实&#xff08;VR&#xff09;技术的浪潮中&#xff0c;我们见证了其从实验室的奇想逐渐走向日常生活的非凡旅程。技术发展的背后是不断突破的创新&#xff0c;早期的设备虽然笨重&#xff0c;但如今却趋向精致、轻巧&#xff0c;用户体验显著提升。想象一下…...

Rust教程

2024 Rust现代实用教程&#xff1a;1.1Rust简介与安装更新––2024 Rust现代实用教程&#xff1a;1.2编译器与包管理工具以及开发环境–––––––––––...

测试代理IP的有效性和可用性

使用代理IP的有效性和可用性直接关系到用户的工作效率&#xff0c;尤其是在进行数据抓取、网络爬虫和保护个人隐私等场景中。 一、测试代理IP的必要性 代理IP的可用性测试是确保代理服务正常运行的重要步骤。测试代理IP的必要性主要体现在以下几个方面&#xff1a; 提升工作…...

散列表:为什么经常把散列表和链表放在一起使用?

散列表:为什么经常把散列表和链表放在一起使用? 在计算机科学中,散列表(哈希表)和链表是两种常见的数据结构。你可能会好奇,为什么它们经常被放在一起使用呢?让我们一起来深入探讨这个问题。 一、散列表的特点 散列表是一种根据关键码值(Key value)而直接进行访问的…...

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中&#xff0c;每一层都会添加自己的头部信息&#xff0c;最终形成完整的数据包。具体来说&#xff1a; 应用层生成的应用程序…...

PMP--一、二、三模、冲刺、必刷--分类--10.沟通管理--技巧--文化意识

文章目录 技巧一模10.沟通管理--1.规划沟通管理--文化意识--军事背景和非军事背景人员有文化差异文化意识&#xff1a;题干关键词 “两拨人的背景不同、文化差异、风格差异”。5、 [单选] 项目团队由前军事和非军事小组成员组成。没有军事背景的团队成员认为前军事团队成员在他…...

FileReader和FileWriter

FileReader 使用read()方法读取单个字符&#xff0c;下面是如何修改使程序性能更好的过程。 第一种&#xff1a;处理异常方式为throws Testpublic void test() throws IOException {//读取hello.txt&#xff0c;并显示内容// 创建文件对象File file new File("hello.txt…...

如何用Serial Port Plotter实现硬件数据可视化?4大核心功能解析

如何用Serial Port Plotter实现硬件数据可视化&#xff1f;4大核心功能解析 【免费下载链接】serial_port_plotter Displays real time data from serial port 项目地址: https://gitcode.com/gh_mirrors/se/serial_port_plotter 在硬件开发过程中&#xff0c;实时数据监…...

SDXL 1.0绘图工坊效果展示:多风格高清作品集,看看AI能画出多惊艳的图片

SDXL 1.0绘图工坊效果展示&#xff1a;多风格高清作品集&#xff0c;看看AI能画出多惊艳的图片 1. 开篇&#xff1a;当AI成为数字艺术家 想象一下&#xff0c;你只需要输入一段文字描述&#xff0c;就能在几秒钟内获得一张细节丰富、风格多样的高清图像——这不是科幻电影&am…...

Symfony Doctrine Bridge 编译器传递深度解析:RegisterMappingsPass 与 RegisterUidTypePass 源码解读

Symfony Doctrine Bridge 编译器传递深度解析&#xff1a;RegisterMappingsPass 与 RegisterUidTypePass 源码解读 【免费下载链接】doctrine-bridge Provides integration for Doctrine with various Symfony components 项目地址: https://gitcode.com/gh_mirrors/do/doctr…...

别再用multiprocessing了!:用subinterpreter + shared_memory构建单进程10万QPS无锁API网关(附压测对比图)

第一章&#xff1a;Python 无锁 GIL 环境下的并发模型实战案例Python 的全局解释器锁&#xff08;GIL&#xff09;长期被视为 CPU 密集型并发的瓶颈&#xff0c;但现代 Python 生态已通过多进程、协程、外部 C 扩展及子解释器等机制&#xff0c;在特定场景下实现真正意义上的“…...

FireRed-OCR Studio详细步骤:从GitHub克隆→模型下载→服务启动全记录

FireRed-OCR Studio详细步骤&#xff1a;从GitHub克隆→模型下载→服务启动全记录 1. 项目介绍 FireRed-OCR Studio是一款基于Qwen3-VL模型开发的工业级文档解析工具。它能将扫描文档、PDF截图等图像内容精准转换为结构化Markdown格式&#xff0c;特别擅长处理以下内容&#…...

【毕业设计】SpringBoot+Vue+MySQL 兴顺物流管理系统平台源码+数据库+论文+部署文档

摘要 随着电子商务和全球贸易的快速发展&#xff0c;物流行业在现代经济体系中的重要性日益凸显。高效、智能的物流管理系统能够显著提升企业的运营效率&#xff0c;降低管理成本&#xff0c;并优化客户体验。然而&#xff0c;传统的物流管理方式仍存在信息孤岛、数据冗余、流程…...

数字丛林的领地宣言:信息素如何重构机房安全逻辑

在恒温23℃、湿度40%的密闭机房中&#xff0c;服务器嗡鸣与人体代谢正上演一场无声战争。当测试工程师在敏捷冲刺期连续奋战12小时&#xff0c;汗腺分泌的化学物质与臭氧反应形成独特“技术印记”——这不仅是生物学上的领地标记&#xff0c;更是机房安全管理的新隐喻。一、信息…...

立知lychee-rerank-mm快速上手:无需代码,网页界面轻松实现文档相关性打分

立知lychee-rerank-mm快速上手&#xff1a;无需代码&#xff0c;网页界面轻松实现文档相关性打分 你是不是经常遇到这样的困扰&#xff1f;在搜索引擎里输入一个问题&#xff0c;结果返回的答案五花八门&#xff0c;真正有用的信息却藏在好几页之后。或者&#xff0c;你的智能…...

【秣厉科技】LabVIEW工具包——OpenCV 实战:Mat 类在工业视觉中的高效数据流转

1. Mat类&#xff1a;工业视觉的数据高速公路 在工业视觉系统中&#xff0c;图像数据就像流水线上的零件&#xff0c;需要快速准确地传递到各个处理环节。OpenCV的Mat类就是这条流水线上的传送带&#xff0c;而LabVIEW则是控制整个生产线的智能大脑。我第一次在半导体检测项目…...

2026生成式引擎优化(GEO)深度实测报告:基于Hakuna Matata平台的五大主流大模型对抗性测试全景分析

摘要&#xff1a;本文以“Hakuna Matata”测试平台为基准场&#xff0c;针对百度文心一言、Moonshot AI&#xff08;Kimi&#xff09;、腾讯元宝、阿里千问、字节豆包五大国内主流生成式AI平台&#xff0c;开展了一场史无前例的生成式引擎优化&#xff08;GEO&#xff09;对抗性…...