【问题标题】:Training a pacman agent using any supervised learning algorithm使用任何监督学习算法训练 pacman 代理
【发布时间】:2015-08-24 06:08:46
【问题描述】:
我创建了一个简单的吃豆人游戏(无药丸),并使用 Q Learning 算法对其进行了训练。现在我正在考虑使用一些监督学习算法对其进行训练。我可以通过收集状态信息来创建一个数据集,然后将其存储在某个人类玩家所采取的行动中,然后从中训练一个分类器。我的问题是我要进入正确的方向以及让吃豆人在迷宫中完美移动的正确方法,因为它没有任何奖励系统?
【问题讨论】:
标签:
machine-learning
pacman
supervised-learning
q-learning
【解决方案1】:
你会用什么作为状态?监督学习是关于泛化的。您定义一些参数化模型(例如神经网络),然后从您的数据中学习/估计参数(例如权重)。然后你可以使用这个模型来预测一些东西。
如果您只有一个有限的状态列表(就像您在 Q-Learning 中可能拥有的那样),并且每个状态只有一个“正确”选择(无论人类老师说什么)。那么就没有什么可预测的了。没有一种“可以概括的轴”。你只需要一个简单的查找表和一个非常有耐心的人来填满它。
如果你想应用监督学习,你需要投入一些先验知识。您需要某种相似性度量(例如,实值输入/输出 - 那些具有接近相同值的固有相似性)或创建某事物的多个实例。
例如,您可以使用玩家周围的 3x3 网格作为输入,并预测人类玩家在这种情况下向上/向下/向左/向右移动的概率。然后,您可以尝试通过选择具有预测概率的随机动作来模仿人类。显然,这种方法不会完美地移动 pac-man,除非您使用非常大的网格(例如 20x20),此时您实际上又将 1 和 0 填充到一个简单的查找表中。