zeta在批评方法中代表什么?我相信它可以跟踪状态动作对并代表资格跟踪,这是状态动作的临时记录,但是zeta究竟代表什么?在c ++中它的外观如何(例如double的向量)?

评论家
c++ - SARSA(λ)的Zeta变量-LMLPHP

最佳答案

就像您已经说过的,zeta代表资格跟踪。可以直观地理解为包含“在所有先前时间步长中遇到的所有状态动作特征向量的衰减混合”。这是我们以前看到的事情的痕迹,因此,对于我们现在所看到的奖励,我们也应该一点点赞扬。

更正式地讲,如果您要编写RL算法的增量实现(计算时间在所有时间步长上平均分配),而仅以更直接/显而易见/天真的方式编写,则只能以以下方式实现:一种非增量方式,因为它们具有更新规则,该规则需要情节中所有时间步的信息(例如lambda返回值/ Monte Carlo返回值)。这听起来似乎很复杂,但是最好还是坚持直观的解释。

至于在C ++中的外观,是的,几乎是double的向量。图片中第一行代码前的“ z \in R^d”正好表示,它是实数的d维向量(在C ++中为双精度或浮点数),其中d是状态的维数-动作特征向量(phi)。

您还可以说它必须是d维向量,因为它需要在应用程序的其他几个地方添加到其他d维向量(phitheta)中。伪代码。如果zeta本身也是d维向量,那只能在数学上正确地解决。

08-27 04:15