上一节主要讲了Monte-Carlo learning,TD learning, TD(λ) 。这三个方法都是为了在给定策略下来估计价值函数V(s)。只不过Monte-Carlo learning需要得到一个完整的episode才能进行一次v值更新,而TD learning则不用,它可以每走一步就更新一次v值。
但是我们的目标是想得到最优策略,所以我们这一讲就是为了通过价值函数,反过来改进策略。两者互相迭代改进,最终收敛到最优策略与最优价值函数。策略评估与策略改进的思想可以参考强化学习第三讲的内容。
On-Policy Monte-Carlo Control
强化学习第三讲的策略优化过程分为两个部分,一个是策略评估,一个是策略改进。从一个策略 π 和v函数开始,先利用当前策略 π 估算v值,然后通过v值来更新策略 π 。交替迭代,最后会收敛到最优策略和最优价值函数。
上面说的交替迭代是在模型已知的情况下进行的。那么对于模型未知的情况,是否还能使用呢?答案是不能。模型未知的情况下无法知道当前状态的所有可能的后续状态。进而无法确定在当前状态下应该采取哪个动作是最好的。解决这个问题是利用Q(s,a)来代替V(s)。这样即使不知道当前状态的所有后续状态,我们也可以根据已有的动作来选择。这样策略评估与策略改进就变成:从一个策略