![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
强化学习
IT_小白:-)
烟酒憎一枚
展开
-
强化学习笔记(四)DDQN 附代码
源代码:点击直达下面是DQN算法计算Q现实的方法,可以看到,计算下一状态的Q值时,永远选取得是最大值,这样会导致该模型过估计,即估计值过高(本来预测的Q值就有误差,加上max操作后,就把误差扩大了)。Double DQN就是解决这个问题的,可以看到,他计算Q值时,不是直接选取最大值,而是将估计神经网计算的下一状态的Q值的最大值行为作为现实神经网的行为,从而计算Q值。因此,DDQN和DQN主要的区别只是在计算Q现实时!首先,DQN只需要2个Q值,DDQN需要3个Q值,分别为Q(St+1 , a ;原创 2020-11-06 12:31:01 · 3842 阅读 · 3 评论 -
强化学习笔记(三)DQN 附代码
学习前的铺垫(点击直达):Q learning算法TF神经网络神经网络本文设计的源代码,点击直达DQN可以理解为是对Q learning算法升级而来的,升级部分有:1.增加记忆库2.添加神经网络3.暂时冻结q_target参数(切断相关性)之前的算法是直接记录每个状态,但现实情况是,在复杂的情况下,你没有那么大的内存来存储这些状态,也没有那么多时间来寻找或计算他们,因此,之前的Q表被添加至神经网络中,通过不断训练来更改里面的参数,这样之后只需要对神经网络输入当前状态,就可以得到每种行为的Q原创 2020-10-20 21:16:57 · 1147 阅读 · 0 评论 -
强化学习笔记(二)Sarsa 附代码
文章目录Sarsa算法Sarsa(lambda)算法Sarsa算法Sarsa算法是基于Q learning算法的,不同的是,Q learning在更新s1状态的Q表时,计算Q(s1,a2)现实时,会选择s2状态下的最优值,即最有可能会获得奖励的行为,但当他实际到s2状态时并不一定会选择最优行为。而Sarsa是行动派,即计算现实时选择了什么行为,那么他到s2状态时就会选择此行为,因此计算Q(s1,a2)现实的公式没有γ * maxQ(s2),而是γ * Q(s2,action)。可以看出,每次更新状态时原创 2020-10-12 17:25:30 · 1049 阅读 · 0 评论 -
强化学习笔记(一)Q learning 附代码
Q learning是一个决策过程,通过不断地尝试,根据选择的行为而得到的“奖励”来为所选择的这个行为“打分”,不停迭代得到最优的选择。例如,你现在在做作业,你有两条行为选择,一是继续做作业,完成后可以得到棒棒糖(奖励),二是不做作业,选择看电视,这样的结果是收到惩罚。你是第一次经历这种事情,不知道两种行为的后果,于是随机选择,假如你选择看电视,选择后没有奖励,也没有惩罚,于是你继续看电视,后来父母回来发现你没做作业在看电视,于是你收到了惩罚,因此在你的心里,为在做作业时选择看电视打低分,因为你经历过,原创 2020-10-11 21:17:36 · 3002 阅读 · 3 评论