在强化学习中,我们的目标是优化状态值函数或动作值函数,定义如下:
然而,当我们使用 Q-learning 方法得到最优策略时,更新方法如下:
我的问题是:
为什么在 Q-learning 中没有转移概率。这是否意味着我们在建模 MDP 时不需要这个
在强化学习中,我们的目标是优化状态值函数或动作值函数,定义如下:
然而,当我们使用 Q-learning 方法得到最优策略时,更新方法如下:
我的问题是:
为什么在 Q-learning 中没有转移概率。这是否意味着我们在建模 MDP 时不需要这个
不学习状态转移概率函数的算法称为无模型算法。基于模型的算法的主要问题之一是通常有很多状态,并且一个朴素的模型在状态数量上是二次的。这带来了巨大的数据需求。
Q-learning 是无模型的。它不学习状态转移概率函数。
为清楚起见,我认为您应该将替换为因为只有一个动作值函数,我们只是在下一个状态下评估 Q 动作。这个符号也暗示了位置。
直观地说,是环境的属性。我们不控制它的工作方式,而只是从中采样。在我们调用这个更新之前,我们首先必须在状态 S 中执行一个动作 A。这样做的过程会给我们一个奖励并将我们发送到下一个状态。根据其定义,您进入的下一个状态是从得出的。所以在 Q-learning 更新中,我们基本上假设为 1,因为这就是我们最终的结果。
这没关系,因为它是一种迭代方法,我们在不知道环境的全部动态,更具体地说是的值的情况下估计最优动作价值函数。如果您碰巧有一个环境模型可以为您提供此信息,您可以通过简单地将返回更改为来更改更新以包含它.
除了上述之外,Q-Learning 是一种无模型算法,这意味着我们的代理只知道环境赋予它的状态。换句话说,如果一个代理选择并执行一个动作,那么下一个状态仅由环境决定并提供给代理。出于这个原因,代理不考虑状态转换概率。