函数逼近基本上是一个回归问题(在一般意义上,即与类别离散的分类相对),即人们试图学习从输入(在您的情况下为F(s ,a ))到实数值的函数映射。输出Q (s ,a )。由于我们没有所有输入/输出值的完整表,而是同时学习和估计Q (s ,a ),因此无法直接从数据中计算参数(此处为权重w)。这里常用的方法是使用梯度下降。
这是用值函数逼近学习Q (s ,a )的通用算法
- 初始化参数矢量w=(w1,w2,....,wn)随机(例如,在[0,1])
对于每个情节:
- s←情节的初始状态
- a←政策π给予的←动作(建议:ϵ贪婪)
- 采取行动a,观察奖励r和下一个状态s′
- w←w+α(r+γ∗maxa′Q(s′,a′)−Q(s,a))∇⃗ wQ(s,a)
- s←s′
重复2-5,直到s为终端
哪里...
- α∈[0,1]是学习速率
- γ∈[0,1]
- maxa′Q(s′,a′)a′s′Q(s′,a)
- ∇⃗ wQ(s,a)Q(s,a)w(f1(s,a),...,fn(s,a))
可以通过以下方式读取参数/ weights-update(第四步):
- (r+γ∗max′aQ(s′,a′))−(Q(s,a))Q(s,a)Q(s,a)r γ∗max′aQ(s′,a′)
- ∇⃗ wQ(s,a)α
主要来源:
Q(s,a)V(s)e
更多参考
- Q(s,a)
- Geist和Pietquin 对参数值函数逼近的简要概述。看起来很有希望,但我尚未阅读。