郭震 AI公众号:郭震AI

6 强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数

发布日期:

最近更新:

分类: 强化学习

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点4 个
图文要点6 张
正文规模1.7k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 4 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数结构图查看大图
强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数结构图

强化学习的核心是智能体在环境中试错,学习时要同时看状态、动作、奖励和策略更新。阅读时可以按「价值函数 -> 折扣因子 -> 状态动作 -> 奖励回报」建立结构,再回到正文里的代码、案例或指标做验证。

强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数核对图查看大图
强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「价值函数」,再查「折扣因子」。

在上一篇文章中,我们探讨了 Markov决策过程(MDP)的基本概念,包括状态、动作和奖励。这些构成了强化学习的基础框架。在本篇中,我们将深入讨论 MDP 中的重要元素之一:折扣因子与价值函数。这些概念不仅是理论上的重要工具,而且在实际应用中也具有重要的意义。

价值函数

在强化学习中,价值函数用于评估某一状态或状态-动作对的价值。一般而言,价值函数可以分为两类:

折扣因子价值函数判断卡查看大图
折扣因子价值函数判断卡

学习折扣因子和价值函数时,先看即时奖励和未来奖励如何合并。折扣越小,模型越看重眼前收益。

  1. 状态价值函数 V(s)V(s):给定一个状态 ss,它表示从该状态出发,在策略 π\pi 下,未来所能获得的期望回报。
  2. 动作价值函数 Q(s,a)Q(s, a):给定一个状态 ss 和一个动作 aa,它表示在状态 ss 下执行动作 aa,然后遵循策略 π\pi 所能获得的期望回报。

状态价值函数和动作价值函数的计算公式如下:

  • 状态价值函数:

    Vπ(s)=Eπ[t=0γtRtS0=s]V_\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid S_0 = s \right]
  • 动作价值函数:

Qπ(s,a)=Eπ[t=0γtRtS0=s,A0=a]Q_\pi(s, a) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid S_0 = s, A_0 = a \right]

在上面的公式中:

  • RtR_t 是在时间步 tt 获得的即时奖励。
  • γ\gamma折扣因子,其值在 [0,1][0, 1] 的范围内。

折扣因子

折扣因子 γ\gamma 是 MDP 中一个重要的超参数,它决定了未来奖励的当前值。其物理意义在于,随着时间的推移,未来的奖励会被“折扣”到现在的价值。具体来说:

强化学习阅读地图卡查看大图
强化学习阅读地图卡

读完《强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。

  • γ\gamma 接近 11 时,未来的奖励与当前的奖励几乎同等重要,模型将倾向于追求长期回报。
  • γ\gamma 接近 00 时,模型更看重当前的奖励,短期决策将成为优先考虑的因素。

案例分析

假设我们有一个简单的游戏,玩家在一个 1 到 10 的数字上进行“拿奖励”的游戏。每个时刻玩家都有机会选择一个数字 xx,获取该数字的奖励,而游戏会在 1010 轮后结束。

选择一个折扣因子 γ=0.9\gamma = 0.9 和一个奖励序列 R0,R1,,R9R_0, R_1, \ldots, R_9,我们可以计算每一步的状态价值。假设奖励序列为 Rt=10tR_t = 10 - t,那么我们可以通过以下方式计算从初始状态 S0S_0 取得的折现价值:

def compute_value(gamma, rewards):
    total_value = 0
    for t in range(len(rewards)):
        total_value += (gamma ** t) * rewards[t]
    return total_value

rewards = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
gamma = 0.9
value = compute_value(gamma, rewards)
print("折现价值:", value)

执行上述代码,我们将获得该游戏的总折现价值。

强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数应用复盘卡查看大图
强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数应用复盘卡

学完《强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。

强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数应用检查卡查看大图
强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数应用检查卡

如果想把《强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。

小结

在本篇中,我们深入探讨了 Markov决策过程中的折扣因子与价值函数,它们不仅为我们提供了量化决策的工具,也为强化学习算法的设计奠定了基础。我们看到,折扣因子的选择直接影响到代理(Agent)的决策行为,在不同的环境中可能需要进行不同的调整。

下一篇文章将继续讨论动态规划,它是强化学习中的一种重要方法,我们将介绍其基本思想和框架,如何利用动态规划来解决 MDP 的问题。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

强化学习从零学教程系列:Markov决策过程之折扣因子与价值函数适合谁读?

这是 强化学习入门 系列第 6 / 28 篇,适合正在学习强化学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇强化学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...