[理论篇]怎样直观理解Qlearning算法? - 知乎 (zhihu.com)
侵删
1 延续TD
也就是用下一步的V值更新这一步的V值(蒙特卡洛(所有Q取期望)的变体)(把下一步的V转化为Q=r+αV,再把Q平均到V中)
S到A有多种选择,所以V值是Q值的期望(平均),Q值是r+αV,V值是Q的平均。
所以虽然V不等于Q,但人们认为有个可能的动作产生的Q值能够一定程度代表V
2 SARSA
**用一个与上一次策略相同的动作的Q代替V,此时可以以此计算r+αQ得出上一个Q
所以:由TD公式也就可以变形出SARSA公式,只不过是由V值更新V值变为了Q值更新Q值
**注意:St选At的策略和St+1选At+1是同一个策略
3 Q-Learning
**注意:能够产生最大Q值的动作At+1的Q值作为V(St+1)的替代
对比:
4 总结
- Qlearning和SARSA都是基于TD(0)的。
- 不过我们用TD(0)估算状态的V值;而Qlearning和SARSA估算的是动作的Q值。
- Qlearning和SARSA的核心原理,是用下一个状态St+1的V值,估算Q值。(Q=r+αV)
- 改进:我们用下一状态下的某一个动作的Q值,来代表St+1的V值。
- Qlearning和SARSA唯一的不同,就是用什么动作的Q值替代St+1的V值。
- SARSA 选择的是与上一策略同一个策略产生的动作的Q值。
- Qlearning 选择的是能够产生最大Q值的动作的Q值(最大Q值)。