SARSA 算法

我对理解 SARSA 算法有些困难:http://en.wikipedia.org/wiki/SARSA

特别地,在更新 Q 值时,gamma 是什么?s(t+1) 和 a(t+1) 使用什么值?

有人能给我解释一下这个算法吗?

谢谢。


回答:

Gamma 决定了你的算法有多少记忆。如果你把它设置为 0.0,那么你的算法根本不会更新价值函数 Q。如果你把它设置为 1.0,那么新的经验将与所有之前的经验加起来一样重要。最佳值介于两者之间,必须通过实验确定。

以下是它的工作原理:

  • 在你的第一步,你只是获得一个状态。只需将其存储为 st。同时,查找你的价值函数,找到在这个状态下要采取的最佳行动,并将其存储为 at
  • 在接下来的每一步中,你都会得到 rt+1st+1。再次,使用你的价值函数来找到最佳行动 — at+1。从你之前的行动到新行动的转换值等于 rt+1+Q(st+1,at+1)-Q(st,at)。使用它来更新你对之前行动价值的长期估计 Q(st,att)。最后,将 st+1at+1 分别存储为 stat,以便下一步使用。

实际上,价值函数只是每个行动和每个状态的这些更新值的运行平均值。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注