使用Weka进行游戏

时间:2011-03-09 19:58:43

标签: machine-learning neural-network genetic-algorithm weka

我正在做一个项目,我有神经网络(或其他算法)在扑克中互相玩耍。在每次获胜或失败之后,我希望神经网络(或其他算法)更新以响应损失的错误(如何计算这在这里是不重要的)。

Weka非常好,我不想重新发明轮子。但是,Weka的API似乎主要用于训练数据集。游戏不使用数据集。相反,网络播放,然后我希望它根据其丢失进行自我更新。

是否可以使用Weka API更新网络而不是数据集但是在一个实例上反复执行此操作?我在考虑这个问题吗?

我还想实现的另一个想法是使用遗传算法来更新神经网络中的权重,而不是反向传播算法。据我所知,没有办法在Weka中手动指定神经网络的权重。当然,如果为此目的使用遗传算法,这一点至关重要。

请帮助:)谢谢。

3 个答案:

答案 0 :(得分:3)

通常,weka学习算法是批量学习算法。你需要的是增量分类器。

来自weka docs

  

大多数分类器需要在可以训练之前查看所有数据,例如J48或SMO。但也有一些方案可以通过增量方式进行培训,而不仅仅是批处理模式。实现weka.classifiers.UpdateableClassifier接口的所有分类器都能够以这种方式处理数据。

请参阅UpdateableClassifier接口,分类器将其实现。

另外,您可能会看到与weka密切相关的MOA Massive Online Analysis工具,并且由于在线学习的限制,所有分类器都是递增的。

答案 1 :(得分:0)

据我所知,Weka没有做在线学习(这是你要问的)。

使用competitive analysis进行游戏调查可能会更好。

答案 2 :(得分:-1)

你可能需要在这里重新发明轮子。我认为时间利用不好。

我目前正在实施一个学习分类系统,这非常简单。我还建议研究这些算法。互联网上有一个实现,但我仍然喜欢编写自己的代码。