尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
强化学习数学原理精读:基本概念与马尔可夫决策过程
说实话第一次翻开这本《强化学习的数学原理》中文版的时候我心里是有点发怵的。市面上讲强化学习的书不少但大多走“先把框架搭起来”的路线公式能省就省概念解释靠比喻硬撑。这一本不一样它从第一章就开始老老实实地跟你谈概率、期望、随机变量连“奖励”这种东西都要用数学语言重新定义一遍。如果你只是想调个库跑个demo这章可能显得有点绕但如果你想让自己的思维真正跟上强化学习这套体系第一章基本概念就是你绕不过去的门槛。这章的内容其实不复杂来来回回就是几个名词状态、动作、奖励、策略、回报、马尔可夫性质。但奇怪的地方在于这些词你单独看全都认识组合在一起就开始打架。我第一遍读完脑子里只留下一个模糊的感觉强化学习就是让智能体靠试错去最大化累积奖励。等我把笔记重新整理完才意识到那一堆看似简单的关系背后藏着整套理论大厦的地基。这篇笔记我尽量用“人话”把原书的推导逻辑串一遍再附上我自己踩过的坑和记笔记时的一些习惯希望能帮你少走点弯路。1. 这本书的定位以及为什么第一章这么“劝退”先说说我对这本书的整体印象。它是一本典型的“原理型”教材作者默认你已经掌握了概率论、线性代数和一点点最优化方法。它不像某些入门书那样恨不得把强化学习包装成“调参的艺术”而是从数学上把每个概念的定义、符号、性质讲清楚。换句话说它回答的是“强化学习为什么是这样的”而不是“强化学习怎么用”。第一章作为全书起点的分量非常重因为它要把后续所有章节都会用到的“通用语言”一次性建立起来。这一章出现的符号和定义后面的策略迭代、价值迭代、时序差分、策略梯度全都要反复使用。如果第一章糊弄过去到后面你会发现自己连公式都读不顺畅。我见过不少同学跳过前两章直接看DQN结果回头补基础时花了更多时间。从内容组织上看第一章先定义了智能体与环境交互的框架然后引入策略、回报、状态转移这些核心要素最后把问题归结为“找一个策略来最大化期望回报”。这个逻辑链条非常清晰但作为初学者容易在“期望”这个环节卡住。原书在这里毫不含糊地使用了概率分布的语言这正是它和市面上大部分科普书拉开差距的地方。我个人觉得读这一章时要做好“被符号轰炸”的心理准备但不必恐慌。你不需要一次记住所有符号你需要的是理解每一个符号所代表的“物理意义”。最好的办法是手里拿一支笔把公式抄一遍再用自己的话在旁边批注。我的笔记里就写满了这种“人话注释”后面我会分享几个例子。2. 核心概念拆解从交互框架到数学定义2.1 智能体与环境到底谁在跟谁交互强化学习的标准场景是一个智能体agent在一个环境environment中不断地做决策。书里用一个循环图来描述这个过程在时刻 t智能体观察当前状态 S_t根据策略选择动作 A_t环境收到动作后转移到新状态 S_{t1}同时返回一个奖励 R_{t1}然后进入下一轮。这个流程看似朴素但里面藏着几个容易混淆的细节。首先状态和奖励的时间戳是错位的你在 t 时刻做出动作但对应的奖励和下一时刻状态是在 t1 才出现。原书用 R_{t1} 和 S_{t1} 而不是 R_t 和 S_t就是为了强调“奖励和转移是在动作之后发生的”。我第一次看的时候在这里栽过跟头老是想着“作了动作A_t之后应该得到R_t”后来才意识到这是记号习惯问题不是本质区别但顺着记号去理解问题会顺畅很多。其次环境并不一定都是“上帝视角”的。在数学原理层面我们通常假设环境是概率性的也就是说状态转移不是确定的。比如你在某个状态执行同一个动作环境可能以 0.7 的概率把你送到状态A以 0.3 的概率送到状态B。这个概率就叫转移概率记作 p(s’|s, a)。这个概念在后面的贝尔曼方程里会反复出现第一章先打个底。提示记不住符号的时候试着把 p(s’|s,a) 读成“我知道当前状态s、选择了动作a之后下一个状态是s’的可能性有多大”。这样读几遍符号就不再是负担了。2.2 奖励与回报别把短视收益和长期收益搞混奖励reward是强化学习里唯一来自环境的“反馈信号”本质是一个实数。它告诉智能体“刚才那步走得好不好”。书里特别强调奖励是即时反馈不代表长期收益。真正决定智能体行为优劣的是回报return也就是从当前时刻开始未来所有奖励的某种累积。这里就引入了折扣因子discount factorγ取值范围是[0,1]。回报的定义是G_t R_{t1} γ R_{t2} γ^2 R_{t3} ... Σ_{k0}^{∞} γ^k R_{tk1}这个公式我每看一次都会重新感叹它的精妙。γ 在里面的作用一方面是为了让无穷级数收敛当γ1时另一方面代表了“智能体看待未来收益的耐心程度”。γ越接近1说明智能体越看重长远收益γ越接近0说明它越短视只在乎眼前利益。这个解释虽然简单但实操中很多人忽略了一个问题γ的取值会直接影响最优策略。比如在围棋这类回合制任务里你希望γ1因为每一手棋对未来都很关键但在股票交易这种场景里γ设得太高可能导致策略过于激进因为远期收益不确定性太大。在叙事上我习惯把回报想成“你从这一局游戏开始到游戏结束为止能累积到的总得分”。如果一盘棋下到中盘你说“现在的回报是多少”就是指从这步起一路走到终局的得分总和。这个类比帮我在理解值函数时省了很大力气。2.3 策略智能体的行为法则策略policy是强化学习的核心对象它定义了智能体在每个状态下如何选择动作。书里区分了确定性策略和随机性策略。确定性策略就是“看到状态s就输出固定的动作a”记作 a π(s)。随机性策略则是给定状态s之后在动作空间上定义一个概率分布记作 π(a|s)表示“在状态s下选择动作a的概率”。读到随机性策略的时候很多人会问为什么非要随机确定性地选最优动作不好吗书里的回答很直接在很多场景下你不知道哪个动作是最优的随机探索是获取信息的手段而且在和对手博弈时随机策略可以避免被预判。从数学上说随机策略把策略从“函数”推广到了“条件分布”这让后续的政策梯度方法有了施展空间。我在笔记里给这两种策略各画了一个小例子一个格子世界里有四个动作确定性策略在S3时选“向右”随机性策略则在S3时给“向上 0.1、向下 0.2、向左 0.3、向右 0.4”的概率。这样一对比符号的含义马上具象了。2.4 轨迹与回合一次交互的时间线把“状态-动作-奖励-下一状态”这条链拉长就得到轨迹trajectory的概念。一般来说一条轨迹长这样S_0, A_0, R_1, S_1, A_1, R_2, S_2, A_2, R_3, ...有些任务有天然的终止状态比如下棋分出胜负、游戏通关或失败这样的任务叫回合制任务episodic tasks。另一些任务没有终止概念比如机器人持续控制、投资组合管理它们叫持续任务continuing tasks。这两种任务的差别会在后续章节里造成算法上的分支。回合制任务好办因为每局结束就可以算一次完整回报持续任务就比较麻烦没有终止点回报公式里γ1就成了保证收敛的必要条件。第一章在这里虽然只是简单提了一嘴但它是后面理解蒙特卡洛方法和时序差分方法的前提。3. 马尔可夫性质与马尔可夫决策过程3.1 马尔可夫性质为什么“过去不重要”马尔可夫性质是整个强化学习最核心的假设没有之一。它的定义是给定当前状态 S_t未来状态 S_{t1} 的条件概率分布与历史状态 S_0, S_1, ..., S_{t-1} 无关。用公式表示就是p(S_{t1} | S_t, S_{t-1}, ..., S_0, A_t) p(S_{t1} | S_t, A_t)我一开始看到这个公式觉得这是废话——当前状态当然决定了未来。后来才意识到这个假设其实非常强。它要求智能体在决策时不需要翻旧账所有影响未来的信息都必须被压缩到“当前状态”这一条里。换句话说你要想让强化学习工作就得把“你从哪来”“你之前做过什么”这些信息全部塞进状态定义里。举一个经典例子在自动驾驶场景中如果“当前状态”只包含车辆此刻的速度和位置那显然不满足马尔可夫性质因为前几秒的加速度轨迹会影响未来安全性。要想满足马尔可夫性质就得把状态定义扩充到包含最近几帧的速度变化、路面信息等。原书援引了“朝向目标的路径”这种直观例子但真正理解这个假设的分量还是得靠自己在设计状态表示时踩坑。3.2 MDP的五元组以及一个被忽略的细节把马尔可夫性质嫁接到交互框架上就得到了马尔可夫决策过程Markov Decision ProcessMDP。书里给出的五元组是S状态集合A动作集合p状态转移概率p(s’|s,a)r奖励函数r(s,a) 或 r(s,a,s’)γ折扣因子我特别想提醒你注意奖励函数的记号。很多教材把奖励函数写成 r(s,a)表示“在状态s下选择动作a的期望即时奖励”但在实际采样中你真正观察到的奖励 R_{t1} 是在转移到 S_{t1} 之后才得到的数值它可能取决于转移到的具体目的地 s’也就是 r(s,a,s’)。书里在第一章使用的是比较通用的形式没有把问题复杂化但你在自行阅读文献时一定要先搞清楚作者到底用的是哪一种记号否则很容易在推导贝尔曼方程时看晕。MDP的优雅之处在于它把“环境”这个概念完全抽象成了一个转移概率分布和一个奖励函数。一旦你用这两个对象描述你的问题强化学习就变成了“在已知或未知的MDP上寻找最优策略”的数学问题。这种抽象能力正是原理型教材带给你的最大收益。3.3 为什么回报被定义成随机变量这是第一章里我最初没跟上的地方G_t 明明在公式里是一串奖励相加怎么就成了随机变量后来我理解了关键在于你站在 t 时刻往回看未来状态 S_{t1}, S_{t2}, ... 在你眼中是服从转移概率分布的随机变量。只要状态是随机的对应奖励也是随机的那么 G_t 作为一个“由随机变量组成的函数”自然就是随机变量。这个认识非常关键。因为如果 G_t 是随机变量那我们说“某个策略好”就不能单看一次运行的回报而要看它的期望值。这正是下一章引入状态价值函数 v_π(s) 的铺垫。换句话说第一章在拼命告诉你强化学习的一切决策标准都是在“期望”意义下定义的。你可以把 G_t 的随机性类比成“掷骰子决定下一局的分数”——你不能因为某次掷出高分就认定这个骰子好得看很多次之后的总分期望。4. 学习笔记方法论我是怎么啃下这一章的4.1 用两栏笔记法对抗符号轰炸面对这种公式密集的章节我强烈推荐用两栏笔记法。右栏照抄原书的公式和定义左栏用完全口语化的语言解释这个公式“到底在说什么”。比如说右栏写π(a|s) Pr(A_t a | S_t s)左栏我就写“在状态s时选择动作a的概率是多少这就是策略。策略不是建议而是一张‘各状态选动作概率表’。”这种把公式翻译成“人话”的过程能逼着你确认自己是不是真的懂了还是只是在嘴上跟着念。我的经验是单纯看一遍书能记住的东西非常少但如果你把每个定义都亲手抄一遍、再用自己的话解释一遍这章内容基本就焊死在脑子里了。每次看到一个符号忘记了含义先翻自己的左栏会比翻原书更快、更有效。4.2 画时间线图理清S_t、A_t、R_{t1} 的顺序不少初学者容易被时间戳绕晕我的解决办法是画一条时间轴... → S_t → A_t → R_{t1} → S_{t1} → A_{t1} → R_{t2} → ...然后同时标出“决策时刻t”和“奖励产生时刻t1”。这样你会很直观地看到S_t 和 A_t 是“因”R_{t1} 和 S_{t1} 是“果”。这个因果顺序是理解 MDP 动态过程的关键也是后面推导值函数递推关系时不会搞错下标的基础。笔记里我特意用红色标注了“奖励总是比动作晚一拍出现”后来这个习惯帮我避免了不少低级错误。4.3 写代码验证概念哪怕只是伪代码数学书看累了我会写点小代码来验证概念。比如用Python生成一个简单的随机策略遍历一个3×3格子世界的所有状态计算每个状态下的期望单步奖励其实就是做一个查表操作。这个练习本质上没有任何算法含量但它能让你亲手实现“策略是分布”“奖励是随机变量”这些概念把抽象的公式变成可触摸的对象。import numpy as np # 简化版4个状态2个动作 # P[s][a] 下一个状态的概率分布 # R[s][a] 即时奖励期望 P np.zeros((4, 2, 4)) R np.zeros((4, 2)) # 填充示例数据状态0动作0 - 以0.8到状态10.2停留状态0 P[0][0][1] 0.8 P[0][0][0] 0.2 R[0][0] 1.0 # 随机策略每个状态等概率选择动作 policy np.ones((4, 2)) / 2 # 计算期望即时奖励 expected_reward np.zeros(4) for s in range(4): for a in range(2): expected_reward[s] policy[s][a] * R[s][a] print(expected_reward)这代码没什么实际用途但对建立“策略是概率”“期望即时奖励是策略和奖励函数的乘积和”这两个直觉非常有效。我第一次跑通的时候突然就觉得书里的公式没那么“飘”了。4.4 常见易错点自查清单第一遍学习时我整理了四个最容易出错的地方你可以用来对照自检把 R_t 和 R_{t1} 搞混。很多推导的起点是 G_t R_{t1} γG_{t1}如果你对错时间下标整个贝尔曼方程就废了。随机策略 π(a|s) 和状态转移概率 p(s’|s,a) 搞混。前者是智能体控制的动作选择概率后者是环境控制的状态转移概率两者方向完全相反——一个是从状态到动作一个是从状态动作到新状态。忽视回报是随机变量。不少人下意识把 G_t 当常数对待等到计算期望时才反应过来推导已经乱套了。不理解马尔可夫性质的“信息压缩”含义。总想着“增加历史信息”是万能的却忽略了状态设计是前提不满足马尔可夫性质时所有依赖该假设的理论结论都不再成立。5. 阅读顺序与搭配练习的建议第一章不是那种可以一目十行刷完的章节。我建议你至少读两遍第一遍快速浏览抓住“强化学习解决什么问题、有哪些要素、目标是什么”这条主干第二遍精读争取把每个定义和公式都推导、复述一遍。两遍之间可以间隔两三天让潜意识有个消化期这个过程作用比你想的大。如果你还想找点配套练习原书后面一般会附一些思考题务必动手做。另外可以自己去构造一个极小的MDP比如2个状态、2个动作把所有概念套进去算一遍。比如计算某个固定策略下的期望回报、验证马尔可夫性质成立与否、改变γ观察回报差异。这种“手算编程”的组合拳对初学者来说比任何视频课都管用。我自己的节奏是每天晚上花40分钟读加抄写两天读完第一章然后用一个下午做练习和代码验证。整个过程不赶进度因为我清楚这一章对后面所有章节的影响是决定性的。6. 从基本概念到算法思维我的几点体会读完第一章最让我受用的其实并不是某个具体公式而是它建立起的“算法思维”框架。强化学习本质上是在不确定环境中用数值优化方法做决策第一章把“智能体”“环境”“奖励”这些词从文学描述翻译成了数学对象这让你在后续面对复杂算法时思维方式会完全不一样。有一点必须提醒这一章的叙事风格比较“定义先行”它先把每个概念扔给你再慢慢展开联系。很多读者会觉得前面几页内容零散好像每个概念都是孤立的。这时候不要慌等你读到回报定义里出现策略、走到价值函数章节再看到期望时前面那些概念会像拼图一样自动拼起来。这种“先给零件再组装机器”的安排其实是数学书的典型节奏跟它较劲不如顺着它走。在实操层面我建议你在读完这一章后至少做到三件事能独立写出 MDP 五元组对应的具体问题实例能在给定策略下计算一条轨迹的回报序列能解释清楚为什么回报必须做折扣处理。这三件事如果都能顺利完成你已经拿到后续章节的入场券了。我个人在实际学习中的一个小技巧是每当读到新概念就回头翻一眼第一章里对应的定义把新知识和旧定义捆在一起记忆。比如读到策略梯度方法里的策略 π 时我会默想一遍“这是状态到动作的条件概率分布”而不是只把它当成一个抽象记号。这样一路下来第一章的内容会被反复激活不会背了后面忘了前面。另外说一个让很多人忽视的细节书上有些公式的证明过程里会用到概率论的分解技巧比如把联合概率写成条件概率的乘积。如果你把第一章读完觉得哪里卡壳大概率是概率基础不牢。这时候回头补一下条件概率、全期望公式和随机变量的函数期望能省出后面十倍的复习时间。千万别觉得这些是“高数”的老知识就不管强化学习里到处都是它们的影子。希望这篇笔记能帮你在读这本《强化学习的数学原理》时少一点发怵、多一点方向。这一章只是起点但它决定你能走多远。
RELATED

相关推荐

AI项目故障急救手册:5大故障域与20分钟定位法

AI项目故障急救手册:5大故障域与20分钟定位法

1. 这份“项目急救手册”不是文档,是新人在真实项目现场的呼吸节奏刚接手一个AI项目时,你大概率会经历这样一段沉默的窒息期:模型训练突然中断,日志里只有一行红色报错;API返回500但前端没报错,后端日志却空…

📅 2026/10/22 22:10:45
GDB调试实战:从崩溃现场到core文件的高效定位指南

GDB调试实战:从崩溃现场到core文件的高效定位指南

大概两年前,我们有个常驻服务总在凌晨三四点崩溃。日志最后一行清清楚楚写着“已建立连接”,后面就再没动静了。当时团队排查手段比较原始,无非是到处插printf,把可疑模块一个个注释掉,结果折腾了三天,连方…

📅 2026/10/22 22:10:45
CityEngine规则库:可编程城市建模的CGA核心实践

CityEngine规则库:可编程城市建模的CGA核心实践

简介:本资源为CityEngine建筑规则库,面向城市规划师、三维建模设计师及GIS可视化从业者,解决大规模城市景观快速建模效率低、规则开发门槛高的核心痛点。压缩包含4061个文件,总大小395.68MB,主体为2686张建筑纹理与效果…

📅 2026/10/22 22:10:45
MORE NEWS

更多资讯

📰

前端转 AI 100 天 Day 28:CI/CD——GitHub Actions 自动化部署

前端转 AI 第 28 天:CI/CD - GitHub Actions 自动化部署 昨日回顾 Day 27 把项目 Docker 化了,docker compose up -d 就能跑。 但还有个问题——每次改代码都要手动做这些事: # 每次提交后手动跑 pytest # 跑测试 d…

📰

freehire 架构深度解析:Go 单体 + 60 个 run-once Worker + 事务性 Outbox,330 万职位如何持续流转

freehire 架构深度解析:Go 单体 60 个 run-once Worker 事务性 Outbox,330 万职位如何持续流转 【免费下载链接】freehire freehire — the open-source search engine for job seekers 项目地址: https://gitcode.com/GitHub_Trending/fr/freehire …

📰

词元经济学:日均140万亿调用量下的成本坍塌机制与Token工厂盈利边界

【摘要】国内日均词元调用量2年增长超1000倍,2026年3月突破140万亿;同等智能水平推理成本年降约10倍,头部独立服务商毛利率却跌至-24%。本文拆解推理成本坍塌的引擎机制与三类玩家毛利分化逻辑,给出5步效率治理SOP与可量化失效边界…

📰

无头 Chrome 自动填表投递:freehire auto-apply 如何做到“所有必答项都有答案才提交“

无头 Chrome 自动填表投递:freehire auto-apply 如何做到"所有必答项都有答案才提交" 【免费下载链接】freehire freehire — the open-source search engine for job seekers 项目地址: https://gitcode.com/GitHub_Trending/fr/freehire freehir…

📰

langchain 构建智能体 Agent

1.理解 Agent 1.1 什么是 Agent? 在大模型应用开发中,智能体通常指一种以大语言模型为推理与决策核心,结合记忆 、 工具调用与环境交互能力,能够进行规划决策并执行复杂任务以达成目标的软件系统 Agent 的关键能力: …

📰

3 步跑通 Vue3 + TypeScript 后台模板 vue-next-admin:布局、权限、国际化都在哪改

3 步跑通 Vue3 TypeScript 后台模板 vue-next-admin:布局、权限、国际化都在哪改 【免费下载链接】vue-next-admin 🎉🎉🔥基于vue3.x 、Typescript、vite、Element plus等,适配手机、平板、pc 的后台开源免费模板库&a…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬