第一部分:问题建模(Pre-Modeling)- 我的问题是什么类型?
在选择算法之前,您必须先将您的现实问题抽象为数学框架。根据第四章的内容,您的问题可以归入以下四种主要类型之一,它们的关键区别在于**“有无动作”(Agent是纯观测还是能决策)和“是否可观测”**(状态是透明的还是隐藏的)。
结论: 绝大多数强化学习算法(如DP, Q-Learning, SARSA)都是为了解决 MDP 问题。如果您的状态“完全可观测”且Agent需要“做出动作”,请继续下一步。
第二部分:算法选型(Modeling)- 我该用什么算法?
一旦确定了问题是 MDP,您就可以通过以下决策流程来选择合适的算法。
决策流程:四大关键问题
我是否知道环境的“完整规则”? (Model-Based vs. Model-Free)
是 (模型已知): 我完全知道状态转移概率 和奖励函数 。
→ 转到 动态规划 (DP) 类别。
否 (模型未知): 我不知道环境规则,必须通过“试错”和“采样”来学习。
→ 转到 无模型 (Model-Free) 类别。
我(Agent)如何从经验中学习? (仅限Model-Free)
A. “等游戏结束再总结” (完整路径): 我必须等Agent走完一整条路径(Episode),拿到最终的“总回报”(),才能回头更新价值。
→ 匹配 蒙特卡洛 (MC) 方法。
B. “边走边学,立即反思” (单步更新): 我不需要走完全程,Agent“每走一步”就可以利用“即时奖励 + 下一步的估算价值”来更新当前的价值。
→ 匹配 时序差分 (TD) 方法。
我(Agent)是“自己学自己”还是“看高手学”? (仅限TD)
A. “自己摸索着学” (同策略, On-Policy): “行为策略”(我实际探索的)和“目标策略”(我用来评估的)是同一个策略。我用我“实际走的下一步”()来更新我的价值。
→ 匹配 SARSA。
B. “兼收并蓄,学高手的操作” (异策略, Off-Policy): “行为策略”和“目标策略”是分离的。我可以“瞎玩”(行为策略),但我只学习“理论上的最优解”(目标策略,永远选 )。
→ 匹配 Q-Learning。
我的优化目标是“价值”还是“策略”?
A. “价值优先” (Value-Based): 我的核心是求出一个“价值地图”(V或Q)。策略只是附带的(比如贪婪地选择Q值最高的动作)。
→ 匹配 DP-价值迭代, Q-Learning, SARSA。
B. “策略优先” (Policy-Based): 我直接优化“策略函数” 本身,即直接学习“在某个状态下该做什么动作”的概率分布。
→ 匹配 策略梯度 (PG) / PPO。
C. “二者结合” (Actor-Critic): 我同时学习一个“策略网络 (Actor)”(负责做动作)和一个“价值网络 (Critic)”(负责打分)。
→ 匹配 AC 算法。
第三部分:算法选型核心对比表
此表总结了课程中提到的主要算法及其在建模决策中的位置: