机器学习 - 最佳 epsilon(ε-贪婪)值



ε贪婪策略

我知道Q学习算法应该尝试在探索开发之间取得平衡。由于我是这个领域的初学者,我想实现一个简单的探索/开发行为版本。

最佳ε值

我的实现使用贪婪ε策略,但在确定 epsilon 值时我不知所措。epsilon 应该以算法访问给定(状态、操作)对的次数为界,还是应该以执行的迭代次数为界?

我的建议:
  1. 每次遇到给定(状态、操作)对时降低 epsilon 值。
  2. 在执行完整迭代后降低 epsilon 值。
  3. 每次遇到状态 s 时降低 epsilon 值。

非常感谢!

尽管在许多简单的情况下,εk 在范围 0 和 1 中保持为固定数,但您应该知道:通常,探索会随着时间的推移而减少,因此渐近使用的策略变得贪婪,因此(如 Qk → Q∗)最优。这可以通过在 k 增长时使 εk 接近 0 来实现。例如,形式为εk = 1/k的贪婪ε探索时间表在k→ ∞时减少到0,同时仍然满足Q学习的第二个收敛条件,即允许对所有状态-行动对进行无限多次访问(Singh等人,2000)。

我通常做的是这样的:设置初始 alpha = 1/k(考虑初始 k = 1 或 2)随着 K 的增加,您逐个试验后,alpha 会降低。它还保证了收敛性。

通常明智的做法是简单地将ε设置为正常数,除非您有充分的理由不这样做。

最新更新