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(s′∣s,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+1∣st,at)=P(st+1∣s0,a0,...,st,at)
2.2 策略(Policy)
策略 π ( a ∣ s ) \pi(a|s) π(a∣s) 是从状态到动作的概率分布。
- 确定性策略: π ( s ) = a \pi(s) = a π(s)=a
- 随机性策略: π ( a ∣ s ) \pi(a|s) π(a∣s)
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π[Gt∣St=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π[Gt∣St=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∑π(a∣s)[R(s,a)+γs′∑P(s′∣s,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)+γs′∑P(s′∣s,a)a′∑π(a′∣s′)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)+γs′∑P(s′∣s,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)+γs′∑P(s′∣s,a)a′maxQ∗(s′,a′)
四、MDP 的求解方法
根据是否知道环境模型(如 P P P 和 R R R),分为两类:
4.1 已知模型(Model-Based Methods)
适用于完全已知 MDP 的情况。
(1) 策略迭代(Policy Iteration)
步骤:
- 初始化任意策略 π 0 \pi_0 π0
- 对当前策略进行评估(计算值函数)
- 对当前策略进行改进(贪心更新策略)
- 重复直到策略收敛
(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)+γs′∑P(s′∣s,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)+γs′∑P(s′∣s,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 | 未知模型下的强化学习方法 |