首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有状态-动作-状态奖励结构和以状态为行、动作为列的Q矩阵的Q学习

具有状态-动作-状态奖励结构和以状态为行、动作为列的Q矩阵的Q学习
EN

Stack Overflow用户
提问于 2017-07-29 05:36:23
回答 1查看 413关注 0票数 0

我已经在R中建立了一个Q学习问题,并希望在我构建问题的方法的理论正确性方面提供一些帮助。

Problem structure对于此问题,环境由10种可能的状态组成。在每个状态下,代理都有11个可供选择的潜在操作(这些操作与代理所处的状态无关)。根据智能体所处的特定状态和智能体随后采取的动作,存在向下一状态的转变的唯一分布,即,到任何下一状态的转变概率(仅)依赖于前一状态以及随后采取的动作。

每集有9次迭代,即在新的一集开始之前,代理可以采取9个动作并进行9次转换。在每一集中,智能体将从状态1开始。

在每个场景中,在agent的9个动作中的每个动作之后,agent将获得一个奖励,该奖励取决于agent(立即)的前一个状态和他们(立即)的前一个动作以及他们着陆的状态,即agent的奖励结构取决于状态-动作-状态三元组(其中一个集中将有9个)。

智能体的转移概率矩阵是静态的,奖励矩阵也是静态的。

我已经设置了两个学习算法。在第一个阶段中,Q矩阵的更新发生在每集的每个动作之后。在第二个阶段中,Q矩阵在每集之后更新。该算法使用epsilon贪婪学习公式。

最大的问题是,在我的Q学习中,我的代理没有学习。随着时间的推移,它得到的奖励越来越少。我已经研究了其他潜在的问题,比如简单的计算错误,或者代码中的bug,但我认为问题出在我的q-learning问题的概念结构上。

问题

我已经将Q矩阵设置为10行乘以11列的矩阵,即所有10个状态都是行,11个动作都是列。这是最好的方法吗?这意味着智能体正在学习一个策略,该策略说“无论何时您处于状态x,do action y”

  • 给定我的问题的这个独特的结构,标准的q-

  • 仍然适用吗?即Qcs,act<<-Qcs,act+alpha*(Reward+gamma*max(Qns,)-Qcs,act),其中cs是当前状态;act是选择的动作;reward是给定当前状态、选择的动作以及您将转换到的下一个状态的奖励;ns是给定上一个状态和上一个动作,您将转换到的下一个状态(请注意,在R中有一个开放的AI健身房,您转换到了此状态stochastically).

  • Is?对于这种结构的问题,有Q学习包吗?

谢谢和干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 02:49:34

你对这个问题的定义有问题。

Q(s,a)是在状态s中执行操作a并在之后遵循最优策略的预期效用。

走1步、2步或9步后,期望的奖励是不同的。这意味着在步骤0中处于状态s_0并采取行动a_0的奖励与在步骤9中获得的奖励不同

你所定义的“状态”并不能确保你得到任何奖励,它是"state+step“的组合。

要对问题进行适当的建模,您应该重新构建它,并将状态考虑为“位置”+“步骤”。现在您将拥有90个状态(10pos*9步)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45382763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档