2.在线策略学习
2.1. ε -蒙特卡洛控制
有了上一节的引导,我们现在可以提出一个基于 ε 的蒙特卡洛控制算法,其流程如下:
- 随机选择一个策略 π
- 依据该策略执行一个状态周期,并估算各个状态的价值
- 使用 ε 贪婪探索进行优化
2.1.1.sarsa
有了之前蒙特卡洛控制的经验,很容易想到,把其中蒙特卡洛预测的部分替换成时间差分,那不就可以完成时间差分控制了么。使得,而且这个算法有一个新名字,叫做sarsa。和蒙特卡洛控制有所区别的是,这里我们使用动作价值函数Q
实际上就是在一个马尔科夫过程
以:
Q(S,A)←Q(S,A)+α(R+γQ(S′,A′)−Q(S,A))
sarsa算法主要流程如下:
- 初始化动作收益函数Q(s,a),一般初始化为0
- 对每一个episode
- 初始化状态S
- 用 ε 贪婪探索决定一个动作
- 对episode中的每个动作状态
- 进行决定的行为,并观察结果
- 更新动作价值函数 Q(S,A)←Q(S,A)+α(R+