强化学习之Q-learning

三要素:状态(state),动作(action),奖赏(reward)。更具具体情况自行进行给定。
Q更新公式:
这里写图片描述
Q是什么?动作效用函数(action-utility function),用于评价在某一状态下采取某个动作的优劣。如果Q训练好了,之后预测时就可以按照Q进行选择动作。

详解Q更新函数:
α是学习速率;γ是折扣因子;由公式可知,α控制保留之前效果的比例,α越大,保留之前的训练效果就越少。R为奖励,是当前状态下,进行当前动作的奖励;maxa Q(S’,a)是记忆里根据当前状态和动作选择的下一个状态的所有动作里Q值最大的一个。γ控制眼前利益(R)和记忆里的利益(maxa Q(S’,a))的比例,γ越大,agent越倾向于相信过去,重视以往的经验,γ越小,则倾向于重视眼前利益。

但是下一个状态的下一个动作如何选择呢?如果使用greedy贪婪算法,那么就只使用经验(即,exploitation),不会进行探索不同的action。所以就出现了ε-greedy贪婪算法,该算法允许agent以一定的概率探索新的action(即exploration)。

ε-greedy贪婪算法:
这里写图片描述
赋予agentε概率去探索新的action。具体是:首先找到以往最好的action,赋予概率1-ε,然后对所有的action平分ε概率。
所以选择下一个action的一种做法为:

    ##选择动作
    r = random.random()
    s = 0.0
    for i in range(len(actions)):
        s += pro[i]
        if s>= r: return actions[i]
    return actions[len(actions)-1]

2018-4-20更新
这里写图片描述
其实,第二项就是 TD error(时间差分误差)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值