Q_learning算法理解

Q_learning 是一种model_free类的强化学习的算法,即从环境中得到反馈进而来学习的.
生动形象的解释参考这个视频;
记录Q_learning算法的个人理解:
Q_learning算法理解
注释:alpha是学习率, 来决定这次的误差有多少是要被学习的, alpha是一个小于1 的数.
gamma 是对未来 reward 的衰减值.
Q(s2)是下一次策略执行后的奖赏
Q(s, a)是更新该步的奖赏
r是指到达是s2的奖赏.从在s1状态下执行a所获得的reword.
epsilon greedy 是用在决策上的一种策略, 比如 epsilon = 0.9 时, 就说明有90% 的情况我会按照 Q 表的最优值选择行为, 10% 的时间使用随机选行为
observation是Q表中的一种状态.
个人理解是,Q_Learning的优化是一种反向迭代过程,即在算法优化过程中,首先要初始化一个Q表,然后算法执行一次后,得到最终的结果.得到结结果后,然后再反向优化,即把前一步Q(s’,a’)的最大值奖赏乘以gamma 再加上作为Q(s1,a2)的现实,而把更新之前的Q(s1, a2)当作估计,两者的误差乘以alpha决定决定学习多少.
Q_learning中的gamma值
Q_learning算法理解个人理解:反序来理解的话,如果将Q(s1)当作所有行为导致的最终结果的话,整个过程就像蝴蝶效应一样,最后的行为是导致结果的最重要行为,而离这个结果越远的行为,都应该加上一个衰减系数.

初学强化学习算法,难免会有错误,欢迎评论区交流