强化学习——马尔可夫过程的理解

news2024/11/25 4:57:42

在这里插入图片描述

目录

  • 一、马尔可夫过程
    • 1.随机过程
    • 2.马尔可夫性质
    • 3.马尔可夫过程
    • 4.马尔可夫过程示例
  • 参考文献

一、马尔可夫过程

1.随机过程

  随机过程是概率论的“动态”版本。普通概率论研究的是固定不变的随机现象,而随机过程则专注于那些随时间不断变化的情况,比如天气怎样变化或者城市的交通如何流动。在随机过程中,我们把某一时刻发生的事情视为一组可能结果的集合,并且这些结果随时间不断变化。

  这个过程的特点是,一个时间点的情况往往会受到前一个时间点情况的影响。例如,如果我们知道现在的天气状况,我们就可以预测接下来天气变化的可能性。随机过程就是这样一种工具,帮助我们理解和预测那些随时间变化的复杂情况。

2.马尔可夫性质

  马尔可夫性质是一种特殊的规则,用于描述一些随机过程,例如天气变化或股市波动。这个规则的核心是:在这种过程中,下一步会发生什么,只取决于现在的状态,而和之前发生的事情无关。

  举个例子,如果你在玩一个掷骰子的游戏,那么下一次掷出什么数字只取决于你这一次掷的结果,和之前的掷骰子结果没有关系。这就是马尔可夫性质的一个简单应用。

虽  然看起来像是我们不用管历史,但实际上,现在的状态是由过去的状态一步步演变而来的。所以,通过现在的状态,我们其实间接地获得了历史的信息。这就像是只需要看最新的新闻标题,而不必去读整篇文章,你就能知道发生了什么事。

  这种性质让分析和预测变得更简单,因为你只需要关注现在,就能有理由推测未来会发生什么。马尔可夫性质在科学和工程中非常有用,因为它帮助我们用简洁的方式处理复杂的信息。

3.马尔可夫过程

  马尔可夫过程,又称为马尔可夫链,是一种特殊的随机过程,其核心特性是未来的状态仅由当前的状态决定,而不受之前状态的影响。我们通常用一个包含两个元素的组合 < S , P > <S, P> <S,P> 来描述马尔可夫过程: S S S 是有限的状态集合, P P P 是状态转移矩阵。

  状态集合就是该过程可能达到的所有不同状态。状态转移矩阵则是一个表格,记录了从任一状态转移到另一状态的概率。比如,如果一个过程有 n n n 个状态,此时 S = S= S={ s 1 , s 2 , . . . , s n s_{1},s_{2},...,s_{n} s1,s2,...,sn},状态转移矩阵 P P P 就会是一个 n × n n×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=\begin{bmatrix} 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{bmatrix} P= P(s1s1)P(s1sn)P(sns1)P(snsn)

  矩阵 P P P 中第 i i i 行第 j j j 列元素 P ( s j ∣ s i ) = P ( S t + 1 = s j ∣ S t = s i ) P(s_{j}|s_{i}) =P(S_{t+1}=s_{j}|S_{t}=s_{i}) P(sjsi)=P(St+1=sjSt=si),表示从状态 s i s_{i} si 转移到状态 s j s_{j} sj 的概率。从某个状态出发,到达其他状态的概率和必须为 1,即状态转移矩阵的每一行的和为 1。

  简单来说,马尔可夫过程就像是一个决策地图,指导你如何根据当前位置预测下一步的位置。每一步的决策只依赖于你现在所在的“地点”,而与你之前的路径无关。这种性质使得马尔可夫过程在预测和决策制定中非常有用,尤其是在那些变化快速且需要即时反应的场景中。

4.马尔可夫过程示例

在这里插入图片描述

图1 马尔可夫过程示例

  图1展示了一个包含6个状态的简单马尔可夫过程。图中的每个绿色圆圈代表一个状态,每个状态都可以按照一定的概率(包括零概率)转移到其他状态。特别的,状态 s 6 s_{6} s6 通常被称为终止状态,因为它不再转移到其他状态,而是永远以1.0的概率转移到自己。

  状态之间的转移通过虚线箭头表示,箭头旁边的数字显示了转移发生的概率。对于每个状态,从它出发到其他状态的转移概率之和必须等于1。例如,状态 s 1 s_{1} s1 有90%的概率保持在当前状态,10%的概率转移到另一个特定状态 s 2 s_{2} s2。状态 s 2 s_{2} s2有50%的概率返回先前的状态 s 1 s_{1} s1,有50%的概率前往另一个新状态 s 3 s_{3} s3

  这个马尔可夫过程的状态转移矩阵:

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

  给定一个马尔可夫过程后,我们可以从某个特定的初始状态出发,按照状态转移矩阵中规定的概率,逐步生成一个状态序列。这个过程被称为采样。通过采样,我们能够模拟出从一个初始状态开始,状态如何随机地转移和变化,形成一系列连续事件,这有助于我们理解和预测该马尔可夫过程的行为特征。例如,从 s 1 s_{1} s1 出发,可以生成序列 s 1 → s 2 → s 3 → s 6 s_{1} \to s_{2} \to s_{3} \to s_{6} s1s2s3s6 或序列 s 1 → s 1 → s 2 → s 3 → s 4 → s 5 → s 3 → s 6 s_{1} \to s_{1} \to s_{2} \to s_{3} \to s_{4} \to s_{5} \to s_{3} \to s_{6} s1s1s2s3s4s5s3s6

参考文献

[1] 动手学强化学习

[2] 强化学习(Reinforcement Learning)

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

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

相关文章

OpenHamrony 实战开发——LiteOS-M内核的中断管理

在程序运行过程中&#xff0c;当出现需要由CPU立即处理的事务时&#xff0c;CPU暂时中止当前程序的执行转而处理这个事务&#xff0c;这个过程叫做中断。当硬件产生中断时&#xff0c;通过中断号查找到其对应的中断处理程序&#xff0c;执行中断处理程序完成中断处理。 通过中…

Ubuntu安装VScode

Ubuntu安装VScode 前言&#xff1a; 1、Ubuntu安装VScode比较方便 2、我更喜欢source insight 1、获取到linux版本的VScode安装包 VSCode 下载地址是&#xff1a;https://code.visualstudio.com/ 2、得到安装包 3、复制到ubuntu中&#xff0c;使用命令安装 sudo dpkg -i cod…

jmeter分布式集群压测

目的&#xff1a;通过多台机器同时运行 性能压测 脚本&#xff0c;模拟更好的并发压力 简单点&#xff1a;就是一个人&#xff08;控制机controler/调度机 master&#xff09;做一个项目的时候&#xff0c;压力有点大&#xff0c;会导致结果不理想&#xff0c;这时候找几个人&a…

国际护士节庆祝活动向媒体投稿有方法很轻松

作为一名医院职工,我肩负着医院对外信息宣传的重任。在国际护士节这个特殊的日子里,我们医院举办了一系列庆祝活动,以表彰护士们的辛勤付出和无私奉献。然而,在将这些活动信息投稿至媒体的过程中,我最初却遭遇了诸多挑战。 起初,我采用传统的邮箱投稿方式,将精心撰写的稿件发送…

Docker运行出现iptables: No chain/target/match by that name报错如何解决?

在尝试重启 Docker 容器时遇到的错误信息表明有关 iptables 的配置出了问题。这通常是因为 Docker 需要配置网络&#xff0c;而 iptables 规则没有正确设置或被意外删除。具体到你的错误信息中&#xff0c;报错 iptables: No chain/target/match by that name 表示 Docker 尝试…

Java后端的接口参数两个interger 类型情况解决

get请求 &#xff0c;对应请求头 RequestParm, post请求&#xff0c; 对应请求体 &#xff0c;RequestBody 两个Integer参数情况 GetMapping("/insertStaffClass")public R<Void> insertStaffClass(RequestParam Integer staffId,RequestParam List<Integ…

Floyd+二分,蓝桥杯国赛2022[环境治理]

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 0环境治理 - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 考虑我们治理时间越长&#xff0c;灰尘度和越低&#xff0c;具有单调性 考虑 二分治理天数mid&#xff0c;1~n可以降低与其相连边 mid / n 点…

PyQt5中的QGraphicsView()

文章目录 1. 简介2. 一个简单的示例2. 加载一幅图片3. 常用方法示例 1. 简介 QGraphicsView是PyQt5中用于显示图形场景的小部件&#xff0c;它提供了许多常用的方法来控制视图的行为和属性。下面是一些常用的QGraphicsView方法&#xff1a; setScene(scene): 设置要显示的场景…

初识C语言——第十九天

for循环 1.简单概述 2.执行流程 3.建议事项&#xff1a;

vue从入门到精通(一):初始Vue

一&#xff0c;Vue是什么 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一方面&#xff0c;当与现代…

长难句打卡 5.13

And in Europe, some are up in arms over a proposal to drop a specific funding category for social-science research and to integrate it within cross-cutting topics of sustainable development. 在欧洲&#xff0c;有些人正竭力反对一项“终止专用于社会科学研究的…

java spring boot动态数据库获得配置信息连接多数据源(数据库)

数据库 数据库文件和代码文件 https://download.csdn.net/download/qq_34631220/89304173 链接&#xff1a;https://pan.baidu.com/s/1xoh6xiSRx4nW_gKvR1QPjg 提取码&#xff1a;i7b7 –来自百度网盘超级会员V5的分享 文章位置 添加链接描述 说明&#xff1a;事务只能单库…

JUC下的Future 详解

java.util.concurrent.Future 是Java并发编程中一个重要的接口&#xff0c;它代表一个异步计算的结果。当你提交一个任务到执行器&#xff08;如ExecutorService的submit方法&#xff09;&#xff0c;它会返回一个Future对象。这个对象允许你查询任务是否完成、取消任务、获取任…

软件需求工程习题

1.&#xff08;面谈&#xff09;是需求获取活动中发生的需求工程师和用户间面对面的会见。 2.使用原型法进行需求获取&#xff0c;&#xff08;演化式&#xff09;原型必须具有健壮性&#xff0c;代码质量要从一开始就能达到最终系统的要求 3.利用面谈进行需求获取时&#xf…

vue3使用依赖注入实现跨组件传值

父组件Index.vue: <script setup> import { onMounted, provide, ref } from vue import Child from ./Child.vue import ./index.cssconst count ref(0)provide(count, count)const handleClick () > {count.value }onMounted(() > {}) </script><tem…

基于SpringBoot + MySQL的宠物医院管理系统设计与实现+毕业论文+指导搭建视频

系统介绍 项目的使用者可以避免排队挂号&#xff0c;比较方便&#xff0c;也方便于宠物医院的管理。现在的宠物本系统根据华阳社区宠物医院管理工作流程将系统使用者划分为三类&#xff0c;分别为、宠物医生、宠物主人以及系统管理人员&#xff0c;以下是对该三类类用户的具体…

基于百川大语言模型的RSS新闻过滤应用【云服务器+公网网页,随时随地看自己DIY订阅的新闻内容】

背景 目前从公众号、新闻媒体上获得的新闻信息,都是经过算法过滤推荐的,很多时候会感到内容的重复性和低质量,因为他们也要考虑到自己的利益,并非完全考虑用户想要的、对用户有价值的信息。这时,如果要获取自己认为重要的信息,定制化开发自己的筛选算法更好。 效果 素材…

自托管站点监控工具 Uptime Kuma 搭建与使用

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 Uptime Kuma 是一个类似 Uptime Robot 的站点监控工具&#xff0c;它可以自托管在自己的 Nas 或者 VPS 上&#xff0c;用来监控各类站点、数据库等 监控类型&#xff1a;支持监控 HTTP(s) / TCP / HTTP(s…

vue数据大屏并发请求

并发? 处理并发 因为js是单线程的&#xff0c;所以前端的并发指的是在极短时间内发送多个数据请求&#xff0c;比如说循环中发送 ajax , 轮询定时器中发送 ajax 请求. 然后还没有使用队列, 同时发送 的. 1. Promise.all 可以采用Promise.all处理并发&#xff0c; 当所有pro…

ComfyUI 介绍及入门

介绍 ComfyUI 是一种用户界面&#xff0c;它采用了基于节点的流程设计&#xff0c;用于操作一种名为 Stable Diffusion 的技术。这种设计允许用户通过自定义流程来实现更精确的工作流程&#xff0c;并确保结果的可重复性。在 ComfyUI 中&#xff0c;每个模块都承担着特定的任务…