深入理解强化学习——马尔可夫决策过程:马尔可夫过程和马尔科夫链

news2024/11/19 3:33:41

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


马尔可夫过程是一组具有马尔可夫性质的随机变量序列 S 1 , S 2 , ⋯   , S t S_1, S_2, \cdots, S_t S1,S2,,St,其中下一个时刻的状态 S t + 1 S_{t+1} St+1只取决于当前状态 S t S_t St 。我们设状态的历史为 h t = { S 1 , S 2 , ⋯   , S t } h_t=\{S_1, S_2, \cdots, S_t\} ht={S1,S2,,St} h t h_t ht包含了之前的所有状态),则马尔可夫过程满足条件:
p ( S t + 1 ∣ S t ) = p ( S t + 1 ∣ S 1 , S 2 , ⋯   , S t ) = p ( S t + 1 ∣ h t ) p(S_{t+1}|S_t)=p(S_{t+1}|S_1, S_2, \cdots, S_t)=p(S_{t+1}|h_t) p(St+1St)=p(St+1S1,S2,,St)=p(St+1ht)

从当前 S t S_t St 转移到 S t + 1 S_{t+1} St+1 ,它是直接就等于它之前所有的状态转移到 S t + 1 S_{t+1} St+1

离散时间的马尔可夫过程也称为马尔可夫链(Markov Chain)。马尔可夫链是最简单的马尔可夫过程,其状态是有限的。例如,下图里面有4个状态,这4个状态在 s 1 , s 2 , s 3 , s 4 s_1, s_2, s_3, s_4 s1,s2,s3,s4之间互相转移。比如从 s 1 s_1 s1开始, s 1 s_1 s1有0.1的概率继续存留在 s 1 s_1 s1状态,有0.2的概率转移到 s 2 s_2 s2,有0.7的概率转移到 s 4 s_4 s4。如果 s 4 s_4 s4是我们的当前状态,它有0.3的概率转移到 s 2 s_2 s2,有0.2的概率转移到 s 3 s_3 s3,有0.5的概率留在当前状态。
马尔可夫过程
我们通常用元组 ( S , P ) (S, P) (S,P)描述一个马尔可夫过程,其中是 S S S有限数量的状态集合, P P P是状态转移矩阵(State Transition Matrix)。假设一共有 n n n个状态,此时。状态转移矩阵定义了所有状态对之间的转移概率,即:
P = [ p ( s 1 ∣ s 1 ) ⋯ p ( s n ∣ s 1 ) ⋮ ⋱ ⋮ p ( s 1 ∣ s n ) ⋯ p ( s n ∣ s n ) ] P=\left[\begin{array}{c} p(s_1|s_1) & \cdots &p(s_n|s_1) \\ \vdots & \ddots & \vdots\\ p(s_1|s_n) &\cdots &p(s_n|s_n) \end{array}\right] P= p(s1s1)p(s1sn)p(sns1)p(snsn)

矩阵 P P P中第 i i i行第 j j j列元素 p ( s i ∣ s j ) = p ( S t + 1 = s j ∣ S t = s j ) p(s_i|s_j)=p(S_{t+1}=s_j|S_t=s_j) p(sisj)=p(St+1=sjSt=sj)表示从状态 s i s_i si转移到状态 s j s_j sj的概率,我们称 P ( s ′ ∣ s ) P(s'|s) P(ss)为状态转移函数。从某个状态出发,到达其他状态的概率和必须为1,即状态转移矩阵的每一行的和为1。状态转移矩阵类似于条件概率(Conditional Probability),它表示当我们知道当前我们在状态 s t s_t st时,到达下面所有状态的概率。所以它的每一行描述的是从一个节点到达所有其他节点的概率。

给定一个马尔可夫过程,我们就可以从某个状态出发,根据它的状态转移矩阵生成一个状态序列(Episode),这个步骤也被叫做采样(sampling),生成这些序列的概率和状态转移矩阵有关。

参考文献:
[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.coloradmin.cn/o/1204639.html

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

相关文章

JVM:如果是你,你如何解决跨代引用的问题?(记忆集和卡集)

这部分内容主要是为了稍后介绍各款垃圾收集器时做前置知识铺垫,如果对这部分内容感到枯燥或者疑惑,可以先放下看,等后续遇到要使用它们的实际场景、实际问题时再结合问题,再回来阅读和理解。 记忆集和卡集 前面在分代收集理论那…

第十六章,反射与注解例题

package 例题; import java.lang.reflect.Constructor;class 例题1Demo {//变量String s;int i, i2, i3;private 例题1Demo() {//无参构造方法}protected 例题1Demo(String s, int i) {//有参构造方法this.s s;this.i i;}public 例题1Demo(String... strings) throws NumberF…

jupyter lab常用插件集合

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

032-从零搭建微服务-定时服务(一)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):mingyue: 🎉 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…

【Git】第二篇:基本操作(创建本地仓库)

我们知道,git是一个版本控制器,可以帮我们控制管理电脑上所有格式的文档。 而我们需要使用git管理文件的时候,我们必须将这些文件放到git仓库中,只有在git仓库中的文件才可以被我们的git追踪管理 创建本地仓库 创建本地仓库是需…

【BMC】jsnbd介绍

jsnbd介绍 本文主要介绍一个名为jsnbd的开源项目,位于GitHub - openbmc/jsnbd,它实现了一个前端(包含HTML和JS文件)页面,作为存储服务器,可以指定存储内容;还包含一个后端的代理,这…

5. HTML常用标签

5.1 标签语义 学习标签是有技巧的&#xff0c;重点是记住每个标签的语义。简单理解就是指标签的含义。即这个标签是用来干嘛的。 根据标签的语义&#xff0c;在合适的地方给一个最为合理的标签。可以让页面结构给清晰。 5.2 标题标签 <h1>-<h6>(重要) HTML提供了…

【C++】类和对象(1)--初识

目录 一 类的引入 二 类的定义 1 类的两种定义方式: (1) 声明和定义全部放在类体中 (2) 类声明放在.h文件中&#xff0c;成员函数定义放在.cpp文件中 2 成员变量命名规则的建议 三 类的访问限定符及封装 1 访问限定符 2 封装 四 类的作用域 五 类的实例化 六 类对象…

图的表示与基础--Java

1.图的基础知识 该图片来自于&#xff1a; https://b23.tv/KHCF2m6 2.稀疏图与稠密图 G(V,E)&#xff1a;V顶点个数&#xff0c;E边的个数 稀疏图&#xff1a;E<<V 一般用邻接表表示(数组链表) 稠密图&#xff1a;E接近V 一般用邻接矩阵表示&#xf…

Java-多线程基础篇

前言&#xff1a; 以下是看马老师的视频以及自己阅读《Java多线程编程实战指南》所总结的基础内容&#xff0c;只是个人理解&#xff0c;如有不对还请大家指正。 1.线程的概念&#xff1a; 来自于百度百科&#xff1a;线程是独立调度和分派的基本单位。在Unix System V及Sun…

测试行业爬了7年,从功能测试到高级测试,工资也翻了好几倍

我在测试行业爬了7年。从功能测试到现在成为高级测试&#xff0c;我的工资也翻了好几倍。 入门阶段&#xff08;功能测试&#xff09; 个人认为&#xff0c;测试的前景还不错&#xff0c;只要你肯努力&#xff1b;刚出来的时候在鹅厂做外包功能测试。每天都很悠闲。点了两年&a…

Java16新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15 的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特性 今天我们来一起看一下…

【深圳1024开发者城市聚会】主理人视角的聚会现场,一起来看看有啥不一样的东西

【深圳1024开发者城市聚会】主理人视角的聚会现场&#xff0c;一起来看看有啥不一样的东西 今年的1024&#xff0c;我们在深圳&#xff0c;玩点不一样的… 文章目录 1 活动背景2 活动宣传3 活动准备4 活动现场布置会场会场引导签到深圳站视频展播前半程议题分分享简单茶歇后半场…

轻量封装WebGPU渲染系统示例<28>- MRT纹理(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/MRT.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源码如下: export class MRT {private mRscene new RendererScene();initial…

错误:FUNCTION simple_notebook.count does not exist.解决方法

0 引入问题 小王&#xff1a;你这个数据有问题啊&#xff0c;有时候还会报错 小腾&#xff1a;怎么会有问题呢&#xff0c;代码写的一点毛病也没有 小王&#xff1a;没问题怎么会报错&#xff0c;你赶紧看看&#xff0c;项目上线甲方看到了报给老板咱俩就寄了 小腾&#xff1a…

【LeetCode刷题笔记】二叉树(一)

102. 二叉树的层序遍历 解题思路: 1. BFS广度优先遍历 ,使用队列,按层访问 解题思路: 2. 前序遍历 , 递归 ,在递归方法参数中,将 层索引

对于联邦政府来说,零信任只是一个开始

今年早些时候&#xff0c;美国空军国民警卫队的一名拥有绝密安全许可的成员向社交媒体平台 Discord 泄露了国家安全文件。 据报道&#xff0c;这些文件迅速传播到其他平台&#xff0c;其中包含有关美国和北约在俄罗斯军事行动的敏感信息&#xff0c;包括有关预期武器交付的详细…

Python 如何实现 Strategy 策略设计模式?什么是 Strategy 策略设计模式?

策略模式&#xff08;Strategy Design Pattern&#xff09;是一种对象行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;并使得这些算法可以相互替换&#xff0c;使得客户端代码可以独立于算法的变化而变化。策略模式属于对象行为模式。 主要角色&#xff1a; 策略接口…

postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录

项目是python代码开发, urls.py 路由中访问路径代码如下: urlpatterns [path(reportmanagement/<int:pk>/, views.ReportManagementDetail.as_view(), namereport-management-detail),] 对应view视图中代码如下: class ReportManagementDetail(GenericAPIView):"…