我正在尝试在Python中设计具有以下特征的迭代markov decision process (MDP)代理:
用于回答DP进行的查询类型的移动(t + 1的状态将为
标识先前的查询(如果先前的移动不是查询,则为零)
以及嵌入的结果向量),该空间用0填充至
固定长度,以保持状态框架对齐,而不管查询如何
已回答(其数据长度可能有所不同)
因此,基本思想是MDP应该使用其当前的概率模型在T处进行最佳猜测优化移动(并且由于它的概率是随机发生的,因此预期是随机的,暗示可能存在随机性),将T + 1处的新输入状态与奖励耦合从T的先前举动开始,并重新评估模型。收敛不能是永久的,因为奖励可能会调整,或者可用的 Action 可能会更改。
我想知道的是,是否有任何当前的python库(最好是跨平台的,因为我必须在Windoze和Linux之间更改环境)已经可以做这种事情了(或可以通过适当的定制来支持它),例如:派生类允许重新定义自己的奖励方法的支持)。
我发现有关在线每行MDP学习的信息非常匮乏。我可以找到的大多数MDP用途似乎都集中在解决整个策略上,这是一个预处理步骤。
最佳答案
我是一名研究生,在Python中从事许多MCMC方面的工作,据我所知,没有任何东西可以直接实现MDP。我知道的最接近的是PyMC。仔细阅读this提供的文档,该文档为扩展类提供了一些建议。他们绝对没有开箱即用的奖励等。
如果您对开发好的东西很认真,则可以考虑扩展和子类化PyMC的内容以创建决策流程,这样您就可以将其包含在PyMC的下一个更新中,并为以后的人们提供帮助。