出于策略评估的目的,我们是否可以使用 Q-learning 算法,即使从技术上讲,它是用于控制的?
也许是这样的:
- 将要评估的策略作为行为策略。
- 以常规方式更新 Q 值(即更新使用动作给予最高价值)
- 决赛values 将反映正在评估的策略的值。
鉴于我没有看到 Q-learning 在任何地方用于评估目的,我是否在这里遗漏了什么?
出于策略评估的目的,我们是否可以使用 Q-learning 算法,即使从技术上讲,它是用于控制的?
也许是这样的:
鉴于我没有看到 Q-learning 在任何地方用于评估目的,我是否在这里遗漏了什么?
对于离策略学习,你必须有两个策略——行为策略和目标策略。如果这两个策略相同,那么你最终会得到 SARSA,而不是 Q 学习。
你不能直接使用 Q learning 来评估一个固定的目标策略,因为它直接学习最优值函数作为目标策略,而不考虑行为策略。相反,您必须使用可以评估任意目标策略的另一种离策略学习变体。
您建议的算法是:
- 将要评估的策略作为行为策略。
- 以常规方式更新 Q 值(即更新使用动作给予最高价值)
- 决赛values 将反映正在评估的策略的值。
这不适用于评估行为策略。如果行为策略是随机的并且涵盖了所有可能的状态/动作选择,那么它仍然是 Q 学习并收敛于最优价值函数——如果行为策略没有经常到达重要状态,可能会非常缓慢。
off-policy 的“窍门”是环境交互部分使用行为策略收集数据,更新步骤使用目标策略计算估计收益。一般来说,对于政策外更新,可能需要进行更正以重新加权估计回报。然而,单步 TD 方法的一个优点是不需要额外的修正。
因此,这提供了一种方法来进行非策略 TD 学习,使用一种称为Expected SARSA的方法。要使用预期 SARSA,您需要知道动作选择的分布,即知道为目标策略。
这是您描述的变体,可用于评估您的目标策略:
值得注意的是,预期 SARSA 的目标政策为正是Q学习。预期 SARSA 是 Q 学习的严格概括,它允许学习任何目标策略的价值函数。你可能没有看到它像 Q 学习那样被广泛使用,因为学习最优值函数的目标在实践中更为常见。