使用任何监督学习算法训练 pacman 代理
Training a pacman agent using any supervised learning algorithm
我创建了一个简单的吃豆子游戏(没有强力药丸)并使用 Q 学习算法对其进行了训练。现在我正在考虑使用一些监督学习来训练它 algorithm.I 可以通过收集状态信息创建数据集,然后将其存储在某些人类玩家采取的动作中,然后从 it.My 训练分类器问题是我朝着正确的方向前进,这是让吃豆人完美地沿着迷宫移动的正确方法吗,因为它没有任何奖励系统?
你会用什么作为状态?监督学习就是泛化。您定义了一些参数化模型(例如神经网络),然后 learn/estimate 来自数据的参数(例如权重)。然后你可以使用这个模型来预测一些东西。
如果你只有一个有限的状态列表(就像你在 Q-Learning 中可能遇到的那样)并且每个状态只有一个 "right" 选择(无论人类老师说什么)。那么就没有什么可预测的了。没有那种"axis along which you can generalize"。您只需要一个简单的查询 table 和一个非常有耐心的人来填满它。
如果你想应用监督学习,你需要输入一些先验知识。您需要某种相似性度量(例如,实值 inputs/outputs - 那些具有接近相同值的内在相似性)或创建某物的多个实例。
例如,您可以使用玩家周围的 3x3 网格作为输入,并预测人类玩家在这种情况下移动 up/down/left/right 的概率。然后,您可以尝试通过选择具有预测概率的随机动作来模仿人类。显然,这种方法不会完美地移动吃豆人,除非你使用非常大的网格(例如 20x20),此时你实际上又回来将 1 和 0 填充到一个简单的查找中 table.
我创建了一个简单的吃豆子游戏(没有强力药丸)并使用 Q 学习算法对其进行了训练。现在我正在考虑使用一些监督学习来训练它 algorithm.I 可以通过收集状态信息创建数据集,然后将其存储在某些人类玩家采取的动作中,然后从 it.My 训练分类器问题是我朝着正确的方向前进,这是让吃豆人完美地沿着迷宫移动的正确方法吗,因为它没有任何奖励系统?
你会用什么作为状态?监督学习就是泛化。您定义了一些参数化模型(例如神经网络),然后 learn/estimate 来自数据的参数(例如权重)。然后你可以使用这个模型来预测一些东西。
如果你只有一个有限的状态列表(就像你在 Q-Learning 中可能遇到的那样)并且每个状态只有一个 "right" 选择(无论人类老师说什么)。那么就没有什么可预测的了。没有那种"axis along which you can generalize"。您只需要一个简单的查询 table 和一个非常有耐心的人来填满它。
如果你想应用监督学习,你需要输入一些先验知识。您需要某种相似性度量(例如,实值 inputs/outputs - 那些具有接近相同值的内在相似性)或创建某物的多个实例。
例如,您可以使用玩家周围的 3x3 网格作为输入,并预测人类玩家在这种情况下移动 up/down/left/right 的概率。然后,您可以尝试通过选择具有预测概率的随机动作来模仿人类。显然,这种方法不会完美地移动吃豆人,除非你使用非常大的网格(例如 20x20),此时你实际上又回来将 1 和 0 填充到一个简单的查找中 table.