如何用人类对弈的棋局训练国际象棋系统(国际象棋中的机器学习)

作为我项目的一部分,我现在正在研究用人类对弈的棋局来训练一个国际象棋系统。我在机器学习方面有相当的知识,但对于如何进行这个项目却一无所知。这个项目是否太复杂了?请指导我该如何进行。


回答:

我想你想要的是一个能下国际象棋的机器学习系统吧?

实现它的一个方法是将其视为一个模式识别问题。如果你用神经网络来建模,可以这样进行:

  • 输入是一个大小为768=64*2*6的二进制向量(64=8*8的棋盘位置,2个玩家,6种不同的棋子)
  • 输出有64个神经元(每个棋盘位置一个)。
  • 网络会给你提示该移动哪个棋子。它试图预测人类玩家会选择哪个棋子。如果网络选择了无效的移动,你可以选择下一个最可能的棋子(假设你在最后使用了softmax)。

你可以训练第二个网络,它接受相同的输入。你可以考虑构建一个具有12个特征图的CNN,而不是MLP。这个网络应该预测哪位玩家会赢。这样你就知道人类玩家会用第一个网络移动哪个棋子,然后你可以用第二个网络找到“最佳”移动。

更多资源

你可能会对Facebook Research的使用神经网络和长期预测的更好的电脑围棋玩家感兴趣。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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