【强化学习笔记】马尔可夫过程、马尔可夫奖励过程

news2024/11/16 7:23:52

文章目录

  • 1.马尔可夫过程
    • 1.1.随机过程
    • 1.2.马尔可夫性质
    • 1.3.马尔可夫过程
  • 2. 马尔可夫奖励过程
    • 2.1.回报
  • 2.2.价值函数
  • 3.马尔可夫决策过程

1.马尔可夫过程

马尔可夫过程(Markov process) 指具有 马尔可夫性质随机过程 ,也被称为马尔可夫链(Markov chain)。我们把定义中的两个定语(马尔可夫性质随机过程)拿出来,分别进行解释。

1.1.随机过程

首先是提到 随机过程 ,就不得不提到另外一个名词——概率论 。二者经常拿来做对比,看一下两者的区别:

  • 概率论 研究 静态 随机现象的统计规律。
  • 随机过程 研究 动态 随机现象的统计规律。

不过,二者当中都提到了一个新词——“随机现象”,可能有的人对这个词有疑惑,“随机现象” 又是什么呢?官方的定义是这样:

在一定条件下,在个别试验或观察中呈现不确定性,但在大量重复试验或观察中其结果又具有一定规律性的现象,称为随机现象

通俗来说,“随机现象” 就是某个不确定性的事情。比如:你参加本学期的期末考试,具体各门课程能考多少分是不确定的。但是,你会得出某些规律性的结论,比如专业课可能分数偏低,但公共课分数偏高等,所以:期末考试的分数就是一个随机现象。

那什么是概率论呢?概率论 是研究你期末考试成绩有哪些静态规律,比如某门课程考满分的概率、有多大的概率会及格、有多大概率会够拿奖学金的标准。它是对你已有数据的一个静态分析。

随机过程 则是研究你期末考试成绩有哪些动态规律 ,比如你考试成绩随着时间变化有何影响?早考的课是不是分数偏高、晚考的课会不会分数偏低等等。它是随着你考试过程进行的一个动态分析。

综上:

  • 随机现象: 期末考试各科能考多少分。
  • 概率论: 研究你期末考试分数有哪些静态的规律,比如你专业课考高分的概率、公共课满分的概率等。
  • 随机过程: 研究你期末考试分数有哪些动态的规律,比如你考试分数随时间的变化,早考的课是不是分数偏高、晚考的课会不会分数偏低等。(生活中,研究股票随着时间发生波动、天气随着时间发生变化,都是随机过程的例子)

1.2.马尔可夫性质

当且仅当 某时刻的状态 只取决于上一时刻的状态 时,一个随机过程被称为具有马尔可夫性质(Markov property),用公式表示为:

P ( S t + 1 ∣ S t ) = P ( S t + 1 ∣ S 1 , S 2 , … … , S t ) P(S_{t+1} | S_t) = P(S_{t+1} | S_1, S_2, ……, S_t) P(St+1St)=P(St+1S1,S2,……,St)

也就是说:下一个状态 S t + 1 S_{t+1} St+1 只取决于当前的状态 S t S_t St ;当前状态 S t S_t St 只取决于上一状态 S t − 1 S_{t-1} St1

1.3.马尔可夫过程

定义: 马尔可夫过程(Markov process) 指具有 马尔可夫性质随机过程 ,也被称为马尔可夫链(Markov chain)

我们通常用二元组 < S , P > <\mathcal{S,P}> <S,P> 来描述一个马尔可夫过程。其中 S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵(State Transition Matrix),状态转移矩阵定义了从任意状态 i i i 到任意状态 j j j 的转移的概率。

下图是一个含有6个状态的马尔可夫过程的简单例子。其中每个绿色圆圈表示一个状态,每个状态都有一定概率(包括概率为 0)转移到其他状态。

以状态 S 1 S_1 S1 为例,从状态 S 1 S_1 S1 到状态 S 1 S_1 S1 的概率为0.9;从状态 S 1 S_1 S1 到状态 S 2 S_2 S2 的概率为0.1;因此 P ( S 1 ∣ S 1 ) = 0.9 , P ( S 2 ∣ S 1 ) = 0.1 P(S_1|S_1)=0.9,P(S_2| S_1)=0.1 P(S1S1)=0.9,P(S2S1)=0.1
在这里插入图片描述
这个马尔可夫过程的状态转移矩阵(行列式元素 a i j a_{ij} aij 就代表从状态 i i i 到状态 j j j 的转移概率):

P = [ 0.9 0.1 0 0 0 0 0.5 0 0.5 0 0 0 0 0 0 0.6 0 0.4 0 0 0 0 0.3 0.7 0 0.2 0.3 0.5 0 0 0 0 0 0 0 1 ] P=\begin{bmatrix} 0.9 & 0.1 & 0 & 0 & 0 & 0 \\ 0.5 & 0 & 0.5 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0.6 & 0 & 0.4 \\ 0 & 0 & 0 & 0 & 0.3 & 0.7 \\ 0 & 0.2 & 0.3 & 0.5 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix} P= 0.90.500000.10000.2000.5000.30000.600.500000.300000.40.701

2. 马尔可夫奖励过程

通俗理解:马尔可夫奖励过程 = 马尔可夫过程 + 奖励

  • 马尔可夫过程 是二元组 < S , P > <\mathcal{S,P}> <S,P> S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵。

  • 马尔可夫奖励过程 是四元组 < S , P , r , γ > <\mathcal{S,P,r,\gamma}> <S,P,r,γ> S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵, r r r 是奖励函数, γ \gamma γ 是奖励的折扣因子。

2.1.回报

在一个马尔可夫奖励过程中,从第 S t S_t St 时刻状态开始,直到终止状态时,所有奖励的衰减之和称为回报 G t G_t Gt(Return),公式如下:

G t = R t + γ R t + 1 + γ 2 R t + 2 + ⋯ = ∑ k = 0 ∞ γ k R t + k G_{t}=R_{t}+\gamma R_{t+1}+\gamma^{2} R_{t+2}+\cdots=\sum_{k=0}^{\infty} \gamma^{k} R_{t+k} Gt=Rt+γRt+1+γ2Rt+2+=k=0γkRt+k

下图是在马尔可夫过程的基础上改编的马尔可夫奖励过程。
在这里插入图片描述
假设采样了一条序列: S 1 ⟶ S 2 ⟶ S 3 ⟶ S 6 S_1 \longrightarrow S_2 \longrightarrow S_3 \longrightarrow S_6 S1S2S3S6,计算 γ \gamma γ 为0.5时,状态 s 1 s_1 s1 的回报 G 1 G_1 G1 为(指:从状态 s 1 s_1 s1 开始到终止状态的累计奖励)。

任意状态 s t s_t st 的回报 G t G_t Gt
G t = R t + γ R t + 1 + γ 2 R t + 2 + ⋯ = ∑ k = 0 ∞ γ k R t + k G_{t}=R_{t}+\gamma R_{t+1}+\gamma^{2} R_{t+2}+\cdots=\sum_{k=0}^{\infty} \gamma^{k} R_{t+k} Gt=Rt+γRt+1+γ2Rt+2+=k=0γkRt+k

状态 s 1 s_1 s1 的回报 G 1 G_1 G1
G t = r 1 + γ r 2 + γ 2 r 3 + γ 3 r 6 = ( − 1 ) + 0.5 × ( − 2 ) + 0. 5 2 × ( − 2 ) + 0. 5 3 × 0 = ( − 1 ) + ( − 1 ) + ( − 0.5 ) + ( 0 ) = − 2.5 \begin{aligned} G_{t} &= r_1 + \gamma r_2 + \gamma^{2} r_3 + \gamma^{3} r_6 \\ &= (-1) + 0.5 \times (-2) + 0.5^2 \times (-2) + 0.5^3 \times 0 \\ &= (-1) + (-1) + (-0.5) + (0) \\ &= -2.5 \end{aligned} Gt=r1+γr2+γ2r3+γ3r6=(1)+0.5×(2)+0.52×(2)+0.53×0=(1)+(1)+(0.5)+(0)=2.5

2.2.价值函数

3.马尔可夫决策过程

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

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

相关文章

C++GUI之wxWidgets(4)-编写应用涉及的类和方法(2)-wxDialog,wxCloseEvent

目录wxDialog包含类继承具体描述模态和无模态支持样式此类发出的事件wxWindow:&#xff1a;Close()wxCloseEvent具体描述使用此类的事件wxDialog 包含 #include <wx/dialog.h>类继承 描述主 具体描述 对话框是一个带有标题栏的窗口&#xff0c;有时还有一个系统菜单…

python-多线程、网络编程、正则表达式

目录 闭包 多线程 主线程 线程阻塞 同步锁 网络编程 正则表达式 re.match函数 re.search方法 re.match与re.search的区别 re.findall()方法 正则表达式的特殊规则 闭包 account0 def atm(num,flag):global accountif flag:accountnumaccountprint(account)else:acco…

免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)

免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)。 要从图像、照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要一个可以通过 OCR(光学字符识别)识别文本的应用程序。 图片文字识…

html圣诞树代码

一、前言 想做一个圣诞树&#xff0c;通过html实现了下 二、效果展示 三、代码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <meta name"viewport" cont…

245. 你能回答这些问题吗——线段树

给定长度为 N 的数列 A&#xff0c;以及 M 条指令&#xff0c;每条指令可能是以下两种之一&#xff1a; 1 x y&#xff0c;查询区间 [x,y] 中的最大连续子段和&#xff0c; 2 x y&#xff0c;把 A[x] 改成 y。 对于每个查询指令&#xff0c;输出一个整数表示答案。 输入格式…

RabbitMQ 第二天 高级 9 RabbitMQ 集群搭建 9.3 集群管理 9.5 负载均衡-HAProxy

RabbitMQ 【黑马程序员RabbitMQ全套教程&#xff0c;rabbitmq消息中间件到实战】 文章目录RabbitMQ第二天 高级9 RabbitMQ 集群搭建9.3 集群管理9.5 负载均衡-HAProxy9.5.1 安装HAProxy9.5.2 配置HAProxy第二天 高级 9 RabbitMQ 集群搭建 9.3 集群管理 rabbitmqctl join_cl…

MariaDB上市:MySQL之父奋斗13年终敲钟 要写代码写到100岁

雷递网 雷建平 12月24日云数据库公司MariaDB日前与特殊目的公司Angel Pond Holdings完成合并&#xff0c;并在纽交所上市&#xff0c;新公司更名为MariaDB。MariaDB是2022年初与Angel Pond Holdings达成合并协议&#xff0c;对新公司的作价为6.72亿美元。MariaDB是MySQL之父Mic…

【技术应用】java基于UNIX域套接字(unix domain socket)连接redis

【技术应用】java基于UNIX域套接字unix domain socket连接redis一、前言二、实现思路三、代码实现1、java socket基于redis.sock连接redis2、Lettuce框架基于redis.sock连接redis一、前言 在公司工作中经常涉及到一些中小型项目&#xff0c;这些项目都会涉及使用redis数据库&a…

Redis5.0+——持久化——RDBAOF

Redis持久化-RDB 1.实现目标&#xff1a; 在redis持久化时&#xff0c;持久化dump.rdb文件放入到redis解压目录下的data目录下的6379目录下 2.前期准备 1.在redis-5.0.3解压目录下新建data数据目录 2.编辑前面配置的/etc/redis.conf配置文件 修改持久化文件位置 (1) 进入安…

MySQL热备之PXB备份与恢复

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

【语音处理】使用块反射器的基于DFT的系统中用于旁瓣抑制的正交预编码(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

Java中的多线程(下)

作者&#xff1a;~小明学编程 文章专栏&#xff1a;JavaEE 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 多线程案例 单例模式 饿汉模式 懒汉模式 阻塞式队列 为什么要引入阻塞队列 Java中的阻塞队列 模拟实现阻塞队列 定时器 标准库中的定时器 …

docker的虚悬镜像是什么?

虚悬镜像是什么? 答:仓库名、标签都是<none>的镜像,俗称:dangling image 我们使用Dockerfile写一个: 1:编写 from ubuntu CMD echo action is success2:构建 docker build . 注意没有 -t 产生原因: 1:构建时候因为编写错误导致 2:删除的时候 对于这样…

数据溢出的二进制原理

char 类型的数据占一个字节&#xff0c;一个字节有 8 位&#xff0c;最高位为符号位&#xff0c;1表示负数&#xff0c;0表示正数。在计算机中&#xff0c;数据用补码表示&#xff0c;正数的补码是它本身&#xff0c;负数的补码为 “符号位不变&#xff0c;其他位取反后再加1”…

Spring Cloud 系列之OpenFeign:(4)集成OpenFeign

目录 传送门 服务间调用 集成OpenFeign 说明文档 添加pom依赖 启用OpenFeign 声明OpenFeign接口 改造远程调用 定义OpenFeign接口 测试OpenFeign调用 传送门 Spring Cloud Alibaba系列之nacos&#xff1a;(1)安装 Spring Cloud Alibaba系列之nacos&#xff1a;(2)单…

离散数学数理逻辑部分【2】

文章目录命题逻辑等值演算公式的使用【重点】析取范式和合取范式【重点】范式存在定义【了解】求公式A的范式的步骤&#xff1a;【重点】极大项和极小项【重点】主合取范式和主析取范式【重点】等式演算求主析取范式【重点】真值表求主析取范式【了解】主范式的应用【重点】推理…

Python : 使用python实现教务管理系统(GUI界面+数据库)

一、设计目的 1.熟悉Python和相关软件的操作。 2.基于本学期所学Python知识&#xff0c;熟练应用掌握&#xff0c;制作符合要求的教务管理系统。 3.会对程序运行中的错误代码进行分析&#xff0c;找出合理的解决方案。 4.掌握tkinter开发流程&#xff0c;布局方法和主要组件&a…

C语言位域

如果程序的结构中包含多个开关量&#xff0c;只有 TRUE/FALSE 变量&#xff0c;如下&#xff1a; struct {unsigned int widthValidated;unsigned int heightValidated; } status; 这种结构需要 8 字节的内存空间&#xff0c;但在实际上&#xff0c;在每个变量中&#xff0c;…

JavaScript游戏开发(4)(笔记)

文章目录八、角色动作状态的管理8.1 准备部分8.2 角色状态改变的基本方式8.3 完善整个代码8.4 存在的问题九、简单的横板动作卷轴游戏9.1 准备部分9.2 输入管理器9.3 状态管理器9.4 背景管理器9.5 敌人管理器9.6 碰撞检测、UI绘制9.7 更多的角色状态与特效9.8 完善游戏附录素材…

跳槽、换房、不忘输出,与你分享我匆忙的 2022~

前些日子下班回家的瞬间&#xff0c;忽然想起去年春节还在跟老爸吐露职场的困境和对房子的无奈。哪曾想过了不到半年的时间竟全部解决&#xff0c;令我不禁感叹人生的捉摸不透。 让我姑且花点文字记录下&#xff0c;与你分享我这一年的匆匆忙忙&#xff5e; 目录前瞻&#xf…