强化学习--QLearning

1.概述:

QLearning基于值函数的方法,不同与policy gradient的方法,Qlearning是预测值函数,通过值函数来选择

值函数最大的action,而policy gradient直接预测出action。

Q-learning 是一种基于值函数估计的强化学习方法,Policy Gradient是一种策略搜索强化学习方法。
两者是求解强化学习问题的不同方法,如果熟悉监督学习,
前者可类比Naive Bayes——通过估计后验概率来得到预测,
后者可类比SVM——不估计后验概率而直接优化学习目标。
目标就是选择出最佳action。


2一些定义

2.1值函数

Given an actor π, it evaluates how good the actor is 

有2种值函数,V(S) 、Q(s,a).

2.1.1 V(S)

有2种衡量的方法:

MC方法只能等玩完一个episode才能进行统计评价,效率比较低。

 

TD方法可以每玩一步就更新一次。

 mc与td对比,mc需要估计的是一个episode的值函数,方差比较大,而td是与时间相关的,只有r是需要估计的,方差比较小。

下面看一下例子:

V(Sb)=6/8=1

MC:  V(Sa)=0/2=0

TD: V(Sa)=V(Sb)+0=3/4

 

 2.1.2 Q(s,a)

我们可以评估,在当前状态s,采取行动a,在接下来的游戏中获得得奖励累计和的期望为Q(s,a)。但在接下来的游戏中,

不一定采取行动a,而是采取Q值最大的行动。

下图中1,无论采取那个行动都无所谓,因为离球还很远,而图2离球比较近了,我们需要向上接到球,接下来游戏才能获得奖励。

 3 怎么用

我们利用PI去与环境互动,得到一些互动数据,通过TDorMC的方法去更新Q(s,a)的参数,

根据更新后的Q,我们选择一个更好的pi_new,然后把pi更新为pi_new,再去与环境互动。

tips:pi_new 是完全取决于Q,没有新参数。

 

3.1 target network

 

3.2 Epsilon Greedy 

如果我们只选择Q值最大的action,如果碰巧其他的action没有被采样到,这样其他的action将更不会被选择,

并不是他们不好,所以需要打破这种循环,我们以一定的几率选择Q最大的,还有几率选择其他的action。

 

 

 3.3 Replay Buffer

我们将历史数据存到Buffer里,然后训练的时候随机选一批,还要定期更新Buffer

 

 3.4 完整算法

 4 QLeaning 进阶

 

 

 

 

 

参考:

链接:https://www.zhihu.com/question/49787932/answer/124727629

https://www.youtube.com/watch?v=2-zGCx4iv_k&list=PLJV_el3uVTsODxQFgzMzPLa16h6B8kWM_&index=4

转载于:https://www.cnblogs.com/zle1992/p/10238930.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值