Reinforcement Learning - Chapter 6


强烈推荐结合《Reinforcement Learning:An Introduction》Second edition阅读!!!


Temporal-Difference Learning

6.5 Q-learning: off-policy TD Control

Q-learning是一种异策略(off-policy)的强化学习算法。选取大的q(s, a)对应的action即可实现决策,那么通过样本估计得到q(s, a)就成了关键,迭代公式如下:


式6_8.png

该公式的推导与证明这里就不说了,书上写的很明白,这里主要讲理解。

Q-learning是沿着时间线从状态St到状态St+1的迭代。有的博客上说Q现实、Q估计,个人没有太理解。可以这么看最初Q(St,At)就是错误的,而Rt+1+r*maxQ(St+1,a)则是一个相对正确的值,通过一个相对正确的值对这个错误的Q(St,At)进行修正,最终得到一个正确的值。
Q-learning算法实现中需要建立一个Q表,如下图所示:

fig6_1.png

(注:图片引用于此博客)

将state看做一整个变量,那么Q表是二维的,纵坐标是state,横坐标是action。但这只是广义上讲,注意前面说是看做。实际编程中例如CartPole例子中,state有分作四个指标a、b、c、d,那么Q表具有4(state)+1(action)=5个维度!!!

Q表元素通常初始化都为零,因为零不会估计产生误差。我们假想Q表初始化后,我们采取第一步action后更新了Q(s, a),且Q(s, a)不为零。那么如果我们采取贪心算法来做决策,也就是公式中的maxQ(s,a),那我们肯定选Q(s, a)对应的action。因为其他值都是零,这样就会产生一个恶性循环,就是在状态s时一直选这个action。因此我们引入epsilon-greedy作为启发式的跳出困境。常看到的python代码模板如下


fig6_2.png

你可能感兴趣的:(Reinforcement Learning - Chapter 6)