本篇博文是博主在莫烦PYTHON博客中的学习笔记,不用于任何商业用途,仅用于个人学习交流!
Q Learning
Q Learning 整体算法如下图:
参数 | 意义 |
---|---|
ϵ − g r e e d y \epsilon-greedy ϵ−greedy | 用在决策上的一种策略 |
α \alpha α | 学习率(小于1), 用来决定这次的误差有多少是要被学习的 |
γ \gamma γ | 对未来 reward 的衰减值. |
比如 ϵ \epsilon ϵ = 0.9 时, 说明有90% 的情况会按照 Q 表的最优值选择行为, 10% 的时间使用随机选行为。
α \alpha α 是学习率, 来决定这次的误差有多少是要被学习的, α \alpha α 是一个小于1 的数。
γ \gamma γ 是对未来 reward 的衰减值。我们想象 Q learning 的机器人天生近视眼, gamma = 1 时, 机器人有了一副合适的眼镜, 在 s1 看到的 Q 是未来没有任何衰变的奖励, 也就是机器人能清清楚楚地看到之后所有步的全部价值。 但是当 gamma =0, 近视机器人没了眼镜, 只能摸到眼前的 reward, 同样也就只在乎最近的大奖励。如果 gamma 从 0 变到 1, 眼镜的度数由浅变深, 对远处的价值看得越清楚, 所以机器人渐渐变得有远见, 不仅仅只看眼前的利益, 也为自己的未来着想。
Q值的定义,从当前状态开始,之后每一次状态决策都采取最优解,直到最后一个状态(Game over)的动作质量(quality)。
Q值可以一眼看穿未来,这就是Q learning 的迷人之处。
奖励表 R 是自然生成客观存在的。
Q Learning 更新
我们虽然用 maxQ(s2) 估算了一下 s2 状态, 但还没有在 s2 上做出任何的行为, s2 的行为决策要等到更新完了以后再重新另外做.。这就是 off-policy 的 Q learning 如何决策和学习优化决策的过程。