深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[计算马尔可夫奖励过程价值的蒙特卡洛方法]

分类目录:《深入理解强化学习》总目录


文章《[深入理解强化学习——马尔可夫决策过程马尔可夫奖励过程-[贝尔曼方程]]](https://machinelearning.blog.csdn.net/article/details/134407229)》介绍了计算马尔可夫奖励过程价值的解析方法,但解析解的计算复杂度是 O ( n 3 ) O(n^3) O(n3),其中 n n n是状态个数,因此这种方法只适用很小的马尔可夫奖励过程。求解较大规模的马尔可夫奖励过程中的价值函数时,可以使用动态规划(Dynamic Programming)算法、蒙特卡洛方法(Monte-Carlo Method)和时序差分(Temporal Difference)算法(动态规划和蒙特卡洛方法的一个结合)。

首先我们用蒙特卡洛方法来计算价值。如下文所示,蒙特卡洛方法就是当得到一个马尔可夫奖励过程后,我们可以从某个状态开始,把小船放到状态转移矩阵里面,让它“随波逐流”,这样就会产生一个轨迹。产生一个轨迹之后,就会得到一个奖励,那么直接把折扣的奖励即回报 g g g算出来。算出来之后将它积累起来,得到回报 G t G_t Gt。当积累了一定数量的轨迹之后,我们直接用 G t G_t Gt除以轨迹数量,就会得到某个状态的价值。

蒙特卡洛方法来计算价值
输入:随机产生轨迹的个数 N N N
(1) i = 0 ; G t = 0 i=0; G_t=0 i=0;Gt=0
(2) while    i ≠ N \ \ i\neq N   i=N
(3) \quad 从状态 s s s和时刻 t t t开始生成一个轨迹
(4) \quad 使用生成的轨迹计算回报: g = ∑ i = t H − 1 γ i − t r i g=\sum_{i=t}^{H-1}\gamma^{i-t}r_i g=i=tH1γitri
(5) G t = G t + g \quad G_t=G_t+g Gt=Gt+g
(6) i = i + 1 \quad i = i + 1 i=i+1
(7) V t ( s ) = G t N V_t(s)=\frac{G_t}{N} Vt(s)=NGt

比如我们要计算 s 1 s_1 s1状态的价值,可以从 s 1 s_1 s1状态开始,随机产生很多轨迹。把小船放到状态转移矩阵里面,然后它就会“随波逐流”,产生轨迹。每个轨迹都会得到一个回报,我们得到大量的回报,比如1000个回报,然后直接取平均值,就可以等价于现在 s 1 s_1 s1的价值,因为 s 1 s_1 s1的价值 V t ( s 1 ) V_t(s_1) Vt(s1)定义了我们未来可能得到多少的奖励。这就是蒙特卡洛采样的方法。

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022


http://www.niftyadmin.cn/n/5197977.html

相关文章

cloud的初级使用方法

初学者可以通过以下步骤开始使用云计算服务。在这里,我将以Amazon Web Services(AWS)为例,因为它是一个领先的云服务提供商,但其他云平台的流程也有相似之处。 步骤1:创建 AWS 账户 访问 AWS 主页&#xf…

使用writev将多个小数据包合并发送,使用sysconf(_SC_IOV_MAX)查看writev函数最多允许数组大小

服务器代码使用《select在标准输出和套接字上进行监控》里边的selectServerInTCPIPbook.c代码,gcc selectServerInTCPIPbook.c -o selectServerInTCPIPbook进行编译,然后执行./selectServerInTCPIPbook 8080在8080端口上监听。 关于writev的使用&#…

如何判断sql注入流量特征

如何判断sql注入流量特征 以dvwa的sql注入为例 首先构造一个完整的sql注入请求包 GET /dvwa_2.0.1/vulnerabilities/sqli/?id1&SubmitSubmit HTTP/1.1 Host: 10.9.47.41 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.…

基于蜜獾算法优化概率神经网络PNN的分类预测 - 附代码

基于蜜獾算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蜜獾算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蜜獾优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

win10手机投屏到电脑的操作方法

工具/原料: 系统版本:iOS 15.3,HarmonyOS 2.0.0,windows10系统 品牌型号:iPhone 13,HUAWEI Mate 40 Pro,联想小新air14 方法/步骤:方法一:安卓手机使用无线投屏功能投屏到win10电脑 1、保持手…

YOLOv8 热力图可视化 | 已适配最新版

源码地址:https://github.com/jacobgil/pytorch-grad-cam 首先要安装一个包: pip install grad-cam -i https://pypi.tuna.tsinghua.edu.cn/simple源代码如下: # pip install grad-cam -i https://pypi.tuna.tsinghua.edu.cn/simple import warningswarnings.filterwarning…

Keras训练一个基本体系化的分类模型流程案例

Keras训练一个基本体系化的分类模型流程案例 import numpy as np from keras.datasets import mnist from keras.utils import np_utils # 导入keras提供的numpy工具包 from keras.models import Sequential from keras.layers import Dense from keras.optimizers impo…

机器学习赋予用户“超人”的能力来打开和控制虚拟现实中的工具

原创 | 文 BFT机器人 最近,剑桥的研究人员开发了一种虚拟现实应用程序,只需用户手部的移动即可打开和控制一系列3D建模工具。 来自剑桥大学的研究人员利用机器学习开发了“HotGestures”类似于许多桌面应用程序中使用的热键(快捷键&#xff…