在完美的信息环境中,我们能够知道动作后的状态,就像下棋一样,有什么理由使用Q学习而不是TD (时差)学习?
据我所知,TD学习将尝试学习V(状态)值,但Q学习将学习Q(状态动作值)值,这意味着Q学习学习较慢(因为状态动作组合比状态更多),对吗?
发布于 2016-02-26 19:49:42
Q-Learning是一种时态差分( TD )学习方法。
我认为你是在试图引用TD(0) vs Q-learning。
我想说,这取决于你的行为是否是确定性的。即使您有转换函数,在TD(0)中决定采取哪个操作的代价也很高,因为您需要计算每个步骤中每个操作的期望值。在Q学习中,这将在Q值中进行总结。
发布于 2016-03-01 17:48:38
给定一个确定性环境(或者正如您所说的,在一个“完美”环境中,您可以在执行操作后知道状态),我猜您可以模拟给定状态下所有可能的操作的影响(即,计算所有可能的下一个状态),并选择实现具有最大值V( state )的下一个状态的操作。
然而,应该考虑到,值函数V(状态)和Q函数Q(状态,动作)都是为给定策略定义的。在某种意义上,值函数可以被认为是Q函数的平均值,即V(s)为所有可能的操作“评估”状态s。因此,为了计算V( s )的良好估计,代理仍然需要在s中执行所有可能的操作。
总而言之,我认为尽管V(s)比Q(s,a)简单,但他们可能需要类似的经验(或时间)来实现稳定的估计。
你可以在Sutton & Barto RL书的this section中找到更多关于value (V和Q)函数的信息。
发布于 2020-02-04 17:53:32
Q学习是一种TD 控制算法,这意味着它会像你所说的那样给你一个最优的策略。TD学习在某种意义上更具一般性,它可以包括控制算法,也可以只包括固定策略的V的预测方法。
https://stackoverflow.com/questions/35650551
复制相似问题