【发布时间】:2014-05-08 13:32:21
【问题描述】:
我正在学习强化学习并阅读 Sutton 的大学课程书籍。除了经典的 PD、MC、TD 和 Q-Learning 算法之外,我还在阅读用于解决决策问题的策略梯度方法和遗传算法。 我以前从未有过这个主题的经验,而且我在理解什么时候应该优先选择一种技术时遇到了问题。我有一些想法,但我不确定。有人可以简要解释或告诉我一个来源,我可以在哪里找到关于应该使用某种方法的典型情况的信息?据我了解:
- 仅当 MDP 的动作和状态很少且模型已知时才应使用动态规划和线性规划,因为它非常昂贵。但是什么时候 DP 比 LP 好呢?
- 当我没有问题的模型但我可以生成样本时使用蒙特卡洛方法。它没有偏差,但具有高方差。
- 当 MC 方法需要太多样本以保证低方差时,应使用时间差异方法。但是什么时候应该使用 TD,什么时候应该使用 Q-Learning?
- 策略梯度和遗传算法适用于连续 MDP。但是什么时候一个比另一个更好呢?
更准确地说,我认为程序员在选择学习方法时应该问自己以下问题:
- 代理是在线学习还是离线学习?
- 我们能否将探索和开发阶段分开?
- 我们可以进行足够的探索吗?
- MDP 的范围是有限的还是无限的?
- 状态和动作是否连续?
但我不知道问题的这些细节如何影响学习方法的选择。 我希望一些程序员已经对 RL 方法有一定的经验,可以帮助我更好地理解他们的应用程序。
【问题讨论】:
标签: algorithm machine-learning artificial-intelligence markov-chains reinforcement-learning