[TOC]
第一节课没记笔记,生成一下
马尔可夫决策过程(MDP)与强化学习基础笔记
1. 马尔可夫决策过程(MDP)定义
MDP 是强化学习的数学建模框架,用于描述智能体(Agent)在环境中与状态、动作、奖励的交互。
一个 MDP 通常由五元组表示:
- 状态集合 $S$:环境可能处于的所有状态。
- 动作集合 $A$:智能体在某状态下可选择的动作。
- 状态转移概率 $P(s’|s,a)$:在状态 $s$ 下采取动作 $a$ 后转移到新状态 $s’$ 的概率。
- 奖励函数 $R(s,a)$:在状态 $s$ 下采取动作 $a$ 后获得的即时奖励。
- 折扣因子 $\gamma ;(0 \leq \gamma < 1)$:衡量未来奖励的重要性。
目标:寻找一条最优策略 $\pi$,使得长期累积奖励(回报)最大化。
2. 策略(Policy)
- 策略 $\pi$ 定义为:$\pi(a|s)$ 表示在状态 $s$ 下选择动作 $a$ 的概率。
- 确定性策略:$\pi(s) = a$
- 随机性策略:$\pi(a|s)$ 是一个概率分布。
3. 价值函数(Value Function)
价值函数用于评估某个状态或状态-动作的优劣:
-
状态价值函数 $V^\pi(s)$:在状态 $s$ 下遵循策略 $\pi$ 的期望回报
$$ V^{\pi}(s) = \mathbb{E}_{\pi}\left[ \sum_{t=0}^{\infty} \gamma^t R(s_t,a_t) \mid s_0=s \right] $$ -
动作价值函数 $Q^\pi(s,a)$:在状态 $s$ 下采取动作 $a$,然后遵循策略 $\pi$ 的期望回报
$$ Q^{\pi}(s,a) = \mathbb{E}_{\pi}\left[ \sum_{t=0}^{\infty} \gamma^t R(s_t,a_t) \mid s_0=s, a_0=a \right] $$ -
两者关系:
$$ V^{\pi}(s) = \sum_{a} \pi(a|s) Q^{\pi}(s,a) $$
4. 贝尔曼方程(Bellman Equation)
MDP 的核心递推关系:
-
价值函数贝尔曼方程:
$$ V^{\pi}(s) = \sum_{a} \pi(a|s) \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^{\pi}(s') \right] $$ -
动作价值函数贝尔曼方程:
$$ Q^{\pi}(s,a) = R(s,a) + \gamma \sum_{s'} P(s'|s,a) \sum_{a'} \pi(a'|s') Q^{\pi}(s',a') $$ -
最优价值函数贝尔曼最优方程:
$$ V^{*}(s) = \max_{a} \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^{*}(s') \right] $$
5. 值迭代(Value Iteration)
值迭代是一种动态规划方法,用于计算最优价值函数和最优策略。
步骤:
$V_k(s)$表示从状态$s$出发迭代$k$次的值
-
初始化:对所有状态赋初值 $V_0(s)=0$。
-
迭代更新:
$$ V_{k+1}(s) = \max_{a} \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V_k(s') \right] $$ -
收敛:当 $V_k$ 收敛时,得到最优值函数。
-
策略提取:
$$ \pi^{*}(s) = \arg\max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^{*}(s') \right] $$
6. 策略迭代(Policy Iteration)
策略迭代通过“评估-改进”循环寻找最优策略。
步骤:
-
初始化:随机选择一个策略 $\pi$。
-
策略评估:在固定策略 $\pi$ 下,求解贝尔曼方程得到 $V^\pi(s)$。
-
策略改进:更新策略:
$$ \pi_{\text{new}}(s) = \arg\max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^{\pi}(s') \right] $$ -
若策略收敛,则得到最优策略 $\pi^*$。
7. 值迭代 vs 策略迭代
- 值迭代:直接逼近最优值函数,更新过程中隐式改进策略。
- 策略迭代:交替进行“策略评估”和“策略改进”。
- 效率对比:
- 策略迭代每次迭代计算量大,但收敛步数少。
- 值迭代每次更新计算量小,但需要更多迭代。
8. 总结
- MDP 提供了强化学习的数学基础。
- 价值函数刻画了状态和动作的优劣。
- 值迭代与策略迭代是动态规划求解最优策略的两大基本算法。
- 在实际应用中,状态空间过大时,需结合函数逼近(如神经网络)来解决。