马尔可夫决策过程
马尔可夫决策过程
个人在学习「马尔可夫过程」时(基于这本教材,强烈推荐),做了些总结,并将遇到了一些感到困惑自我解答了,在此整理并记录一下。
1. 马尔可夫性质
简单的一句话:当前状态 只取决于上一时刻 的状态。这个视频很生动地解释了这一性质。
2. 马尔可夫过程

「马尔可夫过程」也叫「马尔可夫链」,可以用元组
图中 绿圈 表示的
图中 蓝色 的那些数字与它所在的箭头就表示了「状态之间的转移概率」。将状态视为节点,转移概率视为单向边,看得出来它就是图结构。用「邻接矩阵」表示就得到了 状态转移矩阵
所以,我们可以像寻路(图搜索)一样,从一个状态出发去往某个状态,途径节点所构成的「路径」我们称为 「状态转移序列」,例如从
3. 马尔可夫奖励过程(MRP)

在「马尔可夫过程」的基础上添加
其中
1. 回报
计算「回报」需要 通过「状态转移序列」,而且计算出来的这个「回报」是指这个 序列起点状态的回报 。比如下图红线标出的选中的序列

取折扣因子
回报的计算过程可以用「秦九昭算法」进行简化,这也是开篇提及的那本教材中代码部分的做法。
2. 价值函数
以一个状态作为起点所生成的「状态转移序列」可以有很多,而且从一个状态转移到另外一个状态是有概率的,把这点考虑在内后,我们可以求得 从一个状态开始执行的所有可能状态转移序列的累积期望回报(这也是蒙特卡洛法的依据),这个期望值就称为起点状态的 「价值」。
所有状态的价值就组成了 「价值函数」,用
PS:可能有人会对贝尔曼期望方程推导的这一步感到困惑:

其实这么转换的依据是 「全期望公式」:

对于小型的马尔可夫链,可以直接通过矩阵运算将上述式子硬解出
4. 马尔可夫决策过程(MDP)

「马尔可夫过程」和「马尔可夫奖励过程」都是 自发改变 的随机过程;而如果有「外力」来共同改变这个随机过程,就有了「马尔可夫决策过程」。在「马尔可夫奖励过程」的基础上,再添加作为「外力」的 动作集合
图中黄色圆圈就表示「动作」,可以看出,在马尔可夫决策过程中,状态之间的切换必须通过动作。
通过与「马尔可夫奖励过程」的对比,来看看一些新概念:

二者都有蓝色虚线箭头,表示单向转移的概率(「决策过程」没有标出数字的蓝色箭头,是因为从那个动作出发只有一根箭头,概率为1);但明显「马尔可夫决策过程」还有一种黑色实线箭头,而且也没有标注表示概率的数字,是因为没有概率吗?

非也,这个黑色箭头也是要有概率的,只不过具体概率的多少是人为给定的,所有这样人为制定的从「状态」到「动作」的概率就称为 「策略」,用
还可以看到一个明显的不同,奖励过程中的 奖励值

既然「奖励函数」在动作身上,那我们也可以像「马尔可夫奖励过程」一样求得动作的「价值函数」,只不过这个「价值函数」表示的是,在策略
通过「动作价值函数」可以进一步求得「从状态
1. 贝尔曼期望方程
通过上述两个价值函数,可以得出各自的 贝尔曼期望方程:

5. 蒙特卡洛法求解
解析法的时间复杂度是
再求平均值时,推荐使用 增量式 方法:

6. 占用度量
即便是同一个「马尔可夫决策过程」,策略
我们可以定义 「状态访问概率」,顾名思义,表示在执行某个策略时,状态 被访问到的概率。这意味着它告诉我们在与MDP交互并执行某个策略时,智能体会花费多少时间在每个状态上,或者说智能体会以多大的概率处于每个状态。
设
注意,根据等比数列求和公式可知,
同样,我们定义 「占用度量」,它表示执行某个策略时,行动 被访问到的概率:
7. 最优策略
强化学习的目标通常是找到一个策略,使得智能体从初始状态出发能获得最多的期望回报。
因此,我们希望能找到一个最好的策略
对应的,最优策略下得到的「状态价值函数」也用
1. 贝尔曼最优方程
同样,我们可以写出这两个状态函数的 贝尔曼最优方程:

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验