Q learning参数的补充说明

1、epsilon greedy 算法

Q: 如何理解 greed-epsilon 方法/如何设置 epsilon/如何理解 exploration & exploitation 权衡?
A: (1) 我们的小车一开始接触到的 state 很少,并且如果小车按照已经学到的 qtable 执行,那么小车很有可能出错或者绕圈圈。同时我们希望小车一开始能随机的走一走,接触到更多的 state。(2) 基于上述原因,我们希望小车在一开始的时候不完全按照 Q learning 的结果运行,即以一定的概率 epsilon,随机选择 action,而不是根据 maxQ 来选择 action。然后随着不断的学习,那么我会降低这个随机的概率,使用一个衰减函数来降低 epsilon。(3) 这个就解决了所谓的 exploration and exploitation 的问题,在“探索”和“执行”之间寻找一个权衡。

2、alpha 的解释

  •  alpha 是一个权衡上一次学到结果和这一次学习结果的量,如:Q = (1-alpha)*Q_old + alpha*Q_current
  • alpha 设置过低会导致机器人只在乎之前的知识,而不能积累新的 reward。一般取 0.5 来均衡以前知识及新的 reward。

3、gamma

  • gamma 是考虑未来奖励的因子,是一个(0,1)之间的值。一般我们取0.9,能够充分地对外来奖励进行考虑。
  • 实际上如果你将它调小了,你会发现终点处的正奖励不能够“扩散”到周围,也就是说,机器人很有可能无法学习到一个到达终点的策略。你可以自己尝试一下。

 

你可能感兴趣的:(Q learning参数的补充说明)