RL3 Table Method
策略最简单的表示是查找表(look-up table),即表格型策略(tabular policy)。使用查找表的强化学习方法称为表格型方法(tabular method),如蒙特卡洛、Q学习和Sarsa。本章通过最简单的表格型方法来讲解如何使用基于价值的方法求解强化学习问题。(reference:https://datawhalechina.github.io/easy-rl/#/chapter3/chapter3)
基于此,本文介绍三种常用方法,Q表格(Q-table), 时序差分(temporal difference),蒙特卡洛(MC),Sarsa
并稍微给出免模型,有模型,同策略,异策略的定义
1 免模型 (Model-free) 和 有模型 (Model-based)
1.1 Model-free
直接与环境互动,不考虑环境内的数学公式,特点是通过反复试错来改进策略,但是模拟次数需要很多

当马尔可夫决策过程的模型未知或者模型很大时,我们可以使用免模型强化学习的方法。免模型强化学习方法没有获取环境的状态转移和奖励函数,而是让智能体与环境进行交互,采集大量的轨迹数据,智能体从轨迹中获取信息来改进策略,从而获得更多的奖励。
1.2 model-based
先构建虚拟环境,在其中训练后在将模型放在真实环境中执行,特点是学习速度快 (虚拟环境可以理解为概率论中的先验知识),但是极度依赖模型的准确性

策略迭代和价值迭代都需要得到环境的转移和奖励函数,所以在这个过程中,智能体没有与环境进行交互。在很多实际的问题中,马尔可夫决策过程的模型有可能是未知的,也有可能因模型太大不能进行迭代的计算,比如雅达利游戏、围棋、控制直升飞机、股票交易等问题,这些问题的状态转移非常复杂。
2 Q表格
Q表格可以这样理解,在一个5*5的网格中,每一个网格都会记录最佳策略,当agent走到这步的时候,就可以直接通过查表的方式去决定自己的策略。其实和动态规划的思想差不多。baseline如下
| 动作\状态 | s1 | S2 |
|---|---|---|
| a1 | q_value | q_value |
| a2 | q_value | q_value |
| a3 | q_value | q_value |
q值代表在某个状态下采取某个动作,未来预期能获得的累积奖励总和。初始化一般都可以默认为0
Q表格很好用,但是action和state很多都情况下就太大了,这就是未来会介绍到的DQN算法。当然,本文不介绍,而是介绍几种常见的计算q_value的办法
当然在此之前,我们还需要了解一下同策略和异策略
3 同策略(on-policy) & 异策略(off-policy)
本文介绍三种算法,简单说就是蒙特卡洛方法 (Monte Carlo, MC),时序差分方法 (Temporal Difference, TD)和SARSA。其中Q-learning和SARSA都是TD的具体实现方法
4 蒙特卡洛策略评估(Monte Carlo, MC)
4.1 理论
一句话,**就是大数仿真模拟然后求平均值。**采样大量的轨迹,计算所有轨迹的真实回报,然后计算平均值。
让agent先完整的完成一个回合,然后记录下从某个状态开始到结束所拿到的所有奖励
算法流程
- 采样:从状态s采取动作a开始,直到结束或epochs用完
- 计算