说点人话的强化学习:TD算法解释,时间差分算法详解,直观理解,一定能看懂的TD算法解释

说点人话的强化学习,想让强化学习不要那么困难

TD算法直观理解:

在强化学习中,我们一定会遇到TD算法,基本一定会看到纽约到亚特兰大开车的这个例子。但是数据是如何更新的呢?如何理解TD算法进行数据更新呢?

假设我们从纽约到亚特兰大的距离为1000分钟,而我们实际从纽约到亚特兰大的的距离为860分钟,那我们的td_error就会变成:

td_error = 1000-860

我们单次对期望距离进行更新

Q = Q-alpha*td_error

当我们更新的次数足够多的时候,我们就能发现我们的期望会无限接近我们实际的时间,可以使用python模拟:

# 期望距离 nyc to altanta 1000
q = 1000
# 实际距离
real_distance = 900
# 误差
td_error = 900-1000
#alpha = 0.1

#更新1000次
for i in range(1000):
    td_error = q-real_distance
    #update 
    q = q-0.1*td_error
print(q)

最终会得到q为900.0000000000005, 每一次的更新q都会更接近我们的目标;

在这里逐步更新我们也可以认为,我们实际上并不能每),每次开车到达的时间会很相似但是不一样。于是我们逐渐更新,但是最终会得到一个靠近平均时间的期望。

扫描二维码关注公众号,回复: 16987751 查看本文章

每一次我们都会更新期望q,q本身也是一个针对w权重的函数,每次更新的q都会更接近我们的最终真实值,据此对w求梯度,进行w的更新,就会更新当前网络的权重数据,使得期望更接近我们的实际情况。

在初始化中,q可以初始化为各种,最终都会接近实际情况,例如将上述代码q设置为0,最终q会得到899.9999999999995,也非常接近我们的实际数据。

猜你喜欢

转载自blog.csdn.net/weixin_49703503/article/details/129106277
今日推荐