### 神经网络在AI中用于对手预测

目前我正在进行一个项目,开发一个游戏的AI玩家。我使用了UCT算法,并计划添加对对手移动的预测。为此我想使用神经网络,但我遇到了一些问题:

  1. 我已经有一些数据,我希望用这些数据为一个默认玩家构建一个基本的神经网络,即我之前没有见过的玩家。问题是我希望更新这个网络,使其适应每一个特定的对手。我尝试搜索在线神经网络算法,但到目前为止没有很成功。您能给我一些建议如何实现这个吗?如何基于新数据更新参数而不需要从头开始训练?

  2. 编程是用Java完成的,我尝试使用Weka来处理我拥有的数据。然而,我在其中找到的唯一神经网络分类器是多层感知器。我熟悉单层感知器,并且知道它的输出不是概率(与对数线性或朴素贝叶斯分类器相反)。多层感知器也不是生成模型吗?如果是这样,使用它的“分数”输出作为概率会有多不准确?我应该使用不同的神经网络算法吗?如果是的话,有没有Java可用的库?

非常感谢您。


回答:

好的,我对此又多想了一些,也做了更多的研究,我决定按以下方式进行:

  1. 由于没有找到更好的方法,我将使用新的训练值进行1次更新步骤,使用常规的反向传播算法。据我所知,使用新值进行1次更新是在一些其他算法中将它们转换为在线学习的常用方法。不过,找到正确的学习率可能会很有趣。因为这种方法每移动一次只进行1次更新,所以反向传播不需要进行太多优化,因此我将编写自己的解决方案,而不使用任何库。

  2. 在这里我可能会放弃Weka工具,转而尝试使用FANN库。因为在计算默认参数后我就不需要使用它了,所以它实际上是用另一种语言实现的这一点并不重要。

如果您知道更好的解决方案,请告诉我。谢谢。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注