Pybrain 强化学习示例

Pybrain Reinforcement Learning Example

正如问题所述,我正在寻找一个很好的 explanation/example 用于 pybrain 中的强化学习,因为这方面的文档让我无休止地困惑,我可以让它工作,但我不知道如何应用它对其他事情。

谢谢 汤姆

不幸的是,pybrain 的 rl classes 文档令人失望。我发现 this blog 很有用。


综上所述,您需要确定以下组件(有关实现细节,请参阅 link 上的教程):

  1. 一个环境:env = Environment(...)
  2. 一个任务 --> task = Task(env)
  3. 一个控制器,它是一个模块(类似于 table),用于保存您的操作值信息 --> controller = Module(...)
  4. 一个学习者 --> learner = SARSA() --> 您也可以向学习者添加一个 Explorer。默认值为 epsilon-greedy,epsilon = 0.3,衰减 = 0.9999。
  5. 集成控制器和学习器的代理 --> agent = Agent(controller, learner)
  6. 集成任务和代理并进行实际迭代的实验 --> experiment = Experiment(task, agent)

每个大写的 classes 都应替换为 PyBrain.Then 中相应的 class,您只需 运行 一个 do-while 循环来执行迭代和学习。请注意,用户可以设置多个选项,在实际问题中,您很可能需要编写子 classes 来概括 pybrain 的基本 classes,但这些步骤将和这里一样。