当前位置: 首页 > ai >正文

MDP相关内容


马尔可夫决策过程(Markov Decision Process, MDP)

马尔可夫决策过程(MDP)是强化学习中的核心数学框架,用于建模智能体在不确定环境中的序列决策问题。它提供了一个形式化的方式来描述如何在动态环境中做出最优决策。


一、MDP 定义

MDP 是一个五元组:

M = ( S , A , P , R , γ ) \mathcal{M} = (\mathcal{S}, \mathcal{A}, P, R, \gamma) M=(S,A,P,R,γ)

其中:

  • S \mathcal{S} S:状态空间(State Space)
  • A \mathcal{A} A:动作空间(Action Space)
  • P ( s ′ ∣ s , a ) P(s' | s, a) P(ss,a):状态转移概率函数
  • R ( s , a ) R(s, a) R(s,a) R ( s , a , s ′ ) R(s, a, s') R(s,a,s):奖励函数
  • γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ[0,1]:折扣因子(Discount Factor)

二、基本概念

2.1 马尔可夫性质(Markov Property)

下一时刻的状态只依赖于当前状态和当前动作:

P ( s t + 1 ∣ s t , a t ) = P ( s t + 1 ∣ s 0 , a 0 , . . . , s t , a t ) P(s_{t+1} | s_t, a_t) = P(s_{t+1} | s_0, a_0, ..., s_t, a_t) P(st+1st,at)=P(st+1s0,a0,...,st,at)

2.2 策略(Policy)

策略 π ( a ∣ s ) \pi(a|s) π(as) 是从状态到动作的概率分布。

  • 确定性策略: π ( s ) = a \pi(s) = a π(s)=a
  • 随机性策略: π ( a ∣ s ) \pi(a|s) π(as)

2.3 值函数(Value Function)

状态值函数:

V π ( s ) = E π [ G t ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ G_t | S_t = s \right] Vπ(s)=Eπ[GtSt=s]

动作值函数:

Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q^\pi(s, a) = \mathbb{E}_\pi \left[ G_t | S_t = s, A_t = a \right] Qπ(s,a)=Eπ[GtSt=s,At=a]

其中回报定义为:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots Gt=Rt+1+γRt+2+γ2Rt+3+


三、Bellman 方程

3.1 Bellman 期望方程

对于任意策略 π \pi π,有:

V π ( s ) = ∑ a π ( a ∣ s ) [ R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V π ( s ′ ) ] V^\pi(s) = \sum_a \pi(a|s) \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^\pi(s') \right] Vπ(s)=aπ(as)[R(s,a)+γsP(ss,a)Vπ(s)]

Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q^\pi(s,a) = R(s,a) + \gamma \sum_{s'} P(s'|s,a) \sum_{a'} \pi(a'|s') Q^\pi(s',a') Qπ(s,a)=R(s,a)+γsP(ss,a)aπ(as)Qπ(s,a)

3.2 Bellman 最优方程

最优值函数定义为:

V ∗ ( s ) = max ⁡ π V π ( s ) , Q ∗ ( s , a ) = max ⁡ π Q π ( s , a ) V^*(s) = \max_\pi V^\pi(s), \quad Q^*(s,a) = \max_\pi Q^\pi(s,a) V(s)=πmaxVπ(s),Q(s,a)=πmaxQπ(s,a)

其满足以下最优 Bellman 方程:

V ∗ ( s ) = max ⁡ a [ R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V ∗ ( s ′ ) ] V^*(s) = \max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^*(s') \right] V(s)=amax[R(s,a)+γsP(ss,a)V(s)]

Q ∗ ( s , a ) = R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) max ⁡ a ′ Q ∗ ( s ′ , a ′ ) Q^*(s,a) = R(s,a) + \gamma \sum_{s'} P(s'|s,a) \max_{a'} Q^*(s',a') Q(s,a)=R(s,a)+γsP(ss,a)amaxQ(s,a)


四、MDP 的求解方法

根据是否知道环境模型(如 P P P R R R),分为两类:


4.1 已知模型(Model-Based Methods)

适用于完全已知 MDP 的情况。

(1) 策略迭代(Policy Iteration)

步骤:

  1. 初始化任意策略 π 0 \pi_0 π0
  2. 对当前策略进行评估(计算值函数)
  3. 对当前策略进行改进(贪心更新策略)
  4. 重复直到策略收敛
(2) 值迭代(Value Iteration)

直接求解最优值函数:

V k + 1 ( s ) = max ⁡ a [ R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V k ( s ′ ) ] V_{k+1}(s) = \max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V_k(s') \right] Vk+1(s)=amax[R(s,a)+γsP(ss,a)Vk(s)]

提取策略:

π ∗ ( s ) = arg ⁡ max ⁡ a [ R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V ∗ ( s ′ ) ] \pi^*(s) = \arg\max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^*(s') \right] π(s)=argamax[R(s,a)+γsP(ss,a)V(s)]

(3) 线性规划法(Linear Programming)

将 Bellman 最优方程转化为线性规划问题求解。


4.2 未知模型(Model-Free Methods)

当环境模型未知时,只能通过采样来学习策略。

(1) 蒙特卡洛方法(Monte Carlo Methods)
  • 基于完整的 episode 来估计值函数
  • 不使用 bootstrapping
  • 只适用于回合任务(episodic tasks)
(2) 时间差分学习(Temporal Difference Learning)
  • TD(0)、SARSA、Q-learning 是典型代表
  • 使用 bootstrapping 方法更新值函数
  • 可以在线学习(on-policy vs off-policy)
Q-learning(off-policy)更新公式:

Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + 1 + γ max ⁡ a Q ( s t + 1 , a ) − Q ( s t , a t ) ] Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma \max_a Q(s_{t+1}, a) - Q(s_t, a_t) \right] Q(st,at)Q(st,at)+α[rt+1+γamaxQ(st+1,a)Q(st,at)]

SARSA(on-policy)更新公式:

Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + 1 + γ Q ( s t + 1 , a t + 1 ) − Q ( s t , a t ) ] Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_{t+1} + \gamma Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t) \right] Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]

(3) 策略梯度方法(Policy Gradient Methods)
  • 直接对策略参数进行优化(如 REINFORCE、Actor-Critic)
  • 适用于连续动作空间
(4) 深度强化学习(Deep RL)
  • 使用神经网络近似值函数或策略
  • 如 DQN、DDPG、PPO、A3C 等

五、总结表格:MDP 核心知识点一览

概念描述
状态空间 S \mathcal{S} S所有可能的状态集合
动作空间 A \mathcal{A} A所有可能的动作集合
转移概率 $P(s’s,a)$
奖励函数 R ( s , a ) R(s,a) R(s,a)当前动作带来的即时奖励
折扣因子 γ \gamma γ控制未来奖励的权重
策略 π \pi π状态到动作的映射
值函数 V ( s ) , Q ( s , a ) V(s), Q(s,a) V(s),Q(s,a)表示状态/动作的长期价值
Bellman 方程值函数之间的递归关系
策略迭代 / 值迭代已知模型下的经典求解方法
Q-learning / SARSA / MC / TD未知模型下的强化学习方法
http://www.xdnf.cn/news/4392.html

相关文章:

  • JVM中对象的存储
  • AI能否取代软件架构师?我将4个大语言模型进行了测试
  • win11下pip安装matplotlib超时的问题解决
  • PAT(最近)
  • spring cloud gateway 断言(Predicates)与过滤器(filters)
  • 基于vue框架的电子竞技赛事管理系统12t47(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • JVM中类加载过程是什么?
  • FPGA 不兼容故障及处理
  • SRS流媒体服务器(3)视频通话环境搭建和源码分析
  • 使用 Vue CLI 和 vuedraggable 实现拖拽排序功能
  • 深度学习赋能:正面吊车载箱号识别系统的核心技术
  • 电子电器架构 --- 48V架构的一丢丢事情
  • 排序算法——计数排序
  • RabbitMQ高级特性
  • RabbitMQ-springboot开发-应用通信
  • 技术分享:Franka机器人新方案——双臂数据采集与适应性安装,带你探索具身智能的奥秘
  • 【温湿度物联网】记录1:寄存器配置
  • RTC实时时钟DS1337S/PT7C4337WEX国产替代FRTC1337S
  • 关于大疆红外图片提取温度方法 python 方法
  • C++ std::sort 函数
  • JC/T 2187-2013 铝波纹芯复合铝板检测
  • 【MySQL】C语言访问数据库
  • 第5讲、Transformer 编码器(Encoder)处理过程详解
  • 世界无人机大会将至,大势智慧以“AI+实景三维”赋能低空经济
  • 从创意到变现:独立创造者的破局之路——解码《Make:独立创造者手册》
  • PyCharm连接WSL2搭建的Python开发环境
  • Kepware 连接Modbus TCP/IP
  • 上海雏鸟科技再赴越南,助力10518架无人机刷新吉尼斯记录
  • MySQL优化-MySQL常见的锁机制
  • 报表的那些事:四部演进史——架构视角下的技术跃迁与实战思考