我是靠谱客的博主 强健机器猫,最近开发中收集的这篇文章主要介绍Q-Learning参数更新部分详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Q-Learning小结

   近期学习了一下Q-Learning相关的内容,重点总结一下学习的难点,即Q-Learing的更新部分。
在这里插入图片描述
   如莫烦大神的图解,在我们学习的状态下,有两种可行的动作,actionList如下:
                                 表1

a1继续学习
a2去看电视

   相应的在当前状态下,如果采取对某一动作,那么会对我们产生一定的影响,即受到惩罚还是奖励。我们设当前状态,即我们在学习的状态S1下,执行相应的action的奖惩情况:
                                表2

a1a2
S1-21

   此表表示在S1状态下,如果采用a1则会收到惩罚,采用a2会奖励。聪明的娃娃会在S1 状态下选择a2,那么Q-Learning的思想也大体一致。
Q-Learning的思想假如我们现在在S1状态下,选择的a2,到达状态S2,S2的Q表如下:
                                 表3

a1a2
S1-21
S2-42

   那么在当前S2状态,当前的a1总收益为-4,a2总收益为2,现在我们继续往下,在S2状态下,Q-Learning首先会在当前的实际情况下选择a2,因为a2带给我们的收益是大于a1的,因此会假设我们执行了a2,即我们在当前状态的Q表中选择收益最大的action,MaxQ(a2),且执行了a2后会有奖励R(但R在当前状态并不一定存在),因此将[R+γMaxQ(a2)]称之为Q(S1,a2)的现实值(因为含有R),γ为衰减系数。之后将Q(S1,a2)称之为Q(S1,a2)的估计值。
   这里可以这样理解,就是在S1的状态下,执行a2,会到达S2状态,但是此时此刻,我们就处在S2状态,什么action也不选择,但是Q-Learning回去模拟去估计,因此由表2到了表3。其实S2的那一行是实际没有的。
因此实际上的更新如下:
S2=Q(S1,a2)=Q(S1,a2)+alpha[R+γ*MaxQ(a2)]
alpha为学习率

参考:https://morvanzhou.github.io/

最后

以上就是强健机器猫为你收集整理的Q-Learning参数更新部分详解的全部内容,希望文章能够帮你解决Q-Learning参数更新部分详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部