【问题标题】:Zeta Variable of SARSA(lamda)SARSA 的 Zeta 变量(lamda)
【发布时间】:2018-04-12 01:31:51
【问题描述】:

zeta 在critic 方法中代表什么?我相信它会跟踪状态-动作对并代表资格跟踪,这是状态-动作的临时记录,但 zeta 究竟代表什么以及它在 c++ 中的外观(例如双精度向量)?

评论家

【问题讨论】:

  • 当人们gave you a reason为什么某个问题不适合该网站时,这并不意味着他们希望您复制粘贴完全相同的内容并再次询问
  • @Passer By 如果你真的读到了原因,那是因为我问了很多问题,所以它太宽泛了。您可能想查看我对问题所做的编辑,该编辑已修复并将其缩小为一个问题。此外,这不是完全相同的问题。那是关于theta的。这是关于zeta的。另请注意,创建的问题不是太宽泛。

标签: c++ machine-learning reinforcement-learning sarsa


【解决方案1】:

就像您已经说过的那样,zeta 代表资格痕迹。这可以直观地理解为包含“在所有先前时间步中遇到的所有状态-动作特征向量的衰减混合”。这是我们之前看到的东西的痕迹,因此我们也应该对我们现在观察到的奖励给予一点信任。

更正式地说,如果您想编写 RL 算法的增量实现(计算时间均匀分布在您的所有时间步长上),这只是必需的东西,当以更直接/明显/幼稚的方式编写时,只能以非增量方式实施,因为它们具有更新规则,需要来自情节中所有时间步长的信息(例如 lambda-returns / Monte Carlo 返回)。这听起来可能相当复杂,不过最好还是坚持直观的解释。

至于它在 C++ 中的样子,是的,几乎是一个双精度向量。图像中第一行代码之前的“z \in R^d”正好意味着,它是实数的d维向量(C++ 中的双精度或浮点数),其中d 是您的状态的维数-动作特征向量 (phi)。

您还可以判断它必须是d 维向量,因为它需要添加到其他几个其他d 维向量(phitheta)中伪代码中的位置。只有当 zeta 本身也是一个d 维向量时,才能在数学上正确计算。

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多