首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SARSA中包含的转移概率

SARSA中包含的转移概率
EN

Stack Overflow用户
提问于 2016-12-20 12:25:23
回答 2查看 247关注 0票数 1

我正在C++中实现SARSA(lambda)模型,以克服DP模型的一些限制(纯粹的时间和空间DP模型所需的时间和空间),这有望减少计算时间(类似的研究需要花费相当长的时间),而更少的空间将为模型增加更多的复杂性。

我们确实有明确的转换概率,它们确实产生了影响。那么,我们应该如何将它们合并到SARSA模型中呢?

只需根据概率本身选择下一个状态?显然,SARSA模型并不期望你使用概率--或者我读错了书。

PS-是否有一种方法可以知道算法是否得到了适当的实现?第一次与SARSA合作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-22 17:00:46

动态规划(DP)和强化学习(RL)的根本区别在于,第一种假设是已知环境的动力学(即模型),而后者可以直接从从过程中获得的数据中学习,如一组样本、一组过程轨迹或一条单一轨迹。由于这一特性,RL方法在建模困难或成本高昂时非常有用。但是,应该注意的是,这两种方法共享相同的工作原理(在萨顿氏书中称为广义策略迭代)。

由于它们是相似的,这两种方法也有一些局限性,即维数的诅咒。来自布索尼乌书 (第3章是免费的,可能对您的目的有用):

DP和RL字段中的一个核心挑战是,在其原始形式(即表格形式)中,对于一般问题,不能实现DP和RL算法。它们只能在状态空间和动作空间由有限数量的离散元素组成时才能实现,因为它们需要值函数或策略的精确表示,对于元素数目无限的状态空间来说,这通常是不可能的(或者当状态数很高时,代价太高)。 即使当状态和操作的值有限时,表示值函数和策略的成本也随状态变量(以及q-函数的动作变量)的数目而呈指数增长。这个问题被称为维数的诅咒,使得传统的DP和RL算法在状态变量和动作变量较多的情况下变得不切实际。为了解决这些问题,必须使用近似表示值函数和/或策略的经典算法的版本。由于大多数实际感兴趣的问题都有较大或连续的状态和作用空间,在DP和RL中,逼近是必不可少的。

在你的例子中,很明显你应该使用某种函数近似。但是,如果您知道转移概率矩阵,则可以选择基于DP或RL的方法。在RL的情况下,转换只用于计算给定动作的下一个状态。

使用DP还是RL更好?实际上,我不知道答案,最优的方法可能取决于你的具体问题。直观地说,以一种有计划的方式(DP)对一组状态进行采样似乎更安全,但也许您的状态空间的很大一部分与找到最佳的pocliy无关。在这种情况下,采样一组轨迹(RL)可能是更有效的计算。在任何情况下,如果这两种方法都得到正确的应用,就应该得到一个类似的解决方案。

注:在采用函数逼近时,收敛性比较脆弱,迭代过程中发散的情况并不少见,特别是当逼近器是非线性的(如人工神经网络)与RL结合时。

票数 2
EN

Stack Overflow用户

发布于 2016-12-22 15:28:53

如果您可以访问转换概率,我建议不要使用基于q值的方法。这将需要额外的抽样,以提取您已经拥有的信息。

情况可能并不总是如此,但是如果没有更多的信息,我会说modified policy iteration是解决问题的更合适的方法。

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

https://stackoverflow.com/questions/41242329

复制
相关文章

相似问题

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