我对在似乎更适合监督学习的环境中使用强化学习很感兴趣。有一个数据集并且对于每个样本需要做出一些决定。不能使用监督学习,因为没有任何算法可以解决或近似问题(所以我无法在数据集上解决它)但是对于给定的决定,很容易确定它有多好(定义奖励)。
例如,您可以考虑背包问题 - 假设我们有一个数据集,其中每个样本是一个对象列表(假设大小为 5),每个对象都与一个权重和一个值相关联,我们想要决定选择哪些对象(当然,您可以解决大小为 5 的列表的背包问题,但让我们想象一下,您可以't)。对于每个解决方案,奖励是所选对象的值(如果权重超过允许的权重,则奖励为 0 或其他值)。所以,我们让代理“玩”每个样本有时,玩只是意味着选择一些子集并使用给定值进行训练。
为了-th 样本的步骤可以调整为:
而不是原来的步骤:
问题在于 REINFORCE 假设一个动作也会导致一些新的状态,而这里情况并非如此。无论如何,你认为这样的事情可行吗?