用于人工智能中对手预测的神经网络 [关闭]
Posted
技术标签:
【中文标题】用于人工智能中对手预测的神经网络 [关闭]【英文标题】:Neural Networks for opponent prediction in AI [closed] 【发布时间】:2012-04-17 16:03:16 【问题描述】:目前我正在为一个游戏创建一个 AI 播放器的项目。我正在使用 UCT 算法,我计划添加对对手移动的预测。为此,我想使用神经网络,但遇到了一些问题:
已经有一些数据我想为默认玩家构建一个基本的神经网络,即我以前从未见过的玩家。问题是我想更新这个网络,以便它适应每个特定的对手。我曾尝试搜索在线神经网络算法,但到目前为止还不是很成功。你能给我一些建议如何实施吗?如何在不完全从头开始训练的情况下根据新数据更新参数?
编码是用 Java 完成的,我尝试使用 Weka 来处理我拥有的数据。然而,我在那里找到的唯一神经网络分类器是多层感知器。我熟悉单层感知器,我知道它的输出不是概率(与对数线性或朴素贝叶斯分类器相反)。多层感知器也不是生成器吗?如果是这样,使用它输出的这些“分数”作为概率有多不准确?我应该使用不同的神经网络算法吗?如果是这样,是否有可用的 Java 库?
非常感谢。
【问题讨论】:
这已经在别处进行了调查,结果很好。 Sigmoids 是对生物认知(突触强度)的原始研究的回归。突触是本质上是数字的非线性传递函数(学习)的模拟模型。使用方波,不要被那些认为它们是线性的人混淆。它们是非线性的定义。 ***.com/questions/10018821/… @Dominic:“其他地方”信息的存在并不会使关于 SO 的问题无效。 【参考方案1】:好的,所以我对此有更多了解并进行了更多研究,我决定按以下步骤进行:
由于我没有找到更好的方法,我将使用通常的反向传播算法对新的训练值执行 1 个更新步骤。据我所知,使用新值进行 1 次更新是其他一些算法中的常用方法,当人们将它们转换为在线学习时。不过,找到正确的学习率可能会很有趣。由于这种方法每次移动只会进行 1 次更新,因此不需要对反向传播进行太多优化,因此我将编写自己的解决方案并且不会使用任何库。
在这里,我可能会放弃 Weka 工具,而尝试使用 FANN 库。因为我在计算完默认参数后就不需要使用它,所以它实际上是用不同的语言实现的。
如果您知道更好的解决方案,请告诉我。谢谢。
【讨论】:
以上是关于用于人工智能中对手预测的神经网络 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章