首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TicTacToe线性回归精度低与R^2评分

TicTacToe线性回归精度低与R^2评分
EN

Data Science用户
提问于 2020-10-12 00:55:06
回答 1查看 260关注 0票数 1

我使用库来尝试线性回归TicTacToe AI。

我创建我的训练集,简单地让电脑玩随机的‘盲’游戏来对抗自己。例如..。玩家一号在棋盘上随机扮演一个片段。下一个玩家二扮演一个随机的有效的棋盘段,等等。这个过程一直持续到董事会满了或者有人赢了为止。每次玩家获胜时,我都会存储导致获胜的董事会状态。每次输球,我都会把棋盘状态(和过去的棋盘状态)标记为玩家的一个输球。对于每一场平局(全场比赛),我都不把它算作什么。我玩了大约两千次这样的游戏。最后,我得到了我的训练数据集,其中包括董事会状态(特征集)和结果,即百分比(浮动品脱值)。在那个州赢了80%的比赛。

例如,从左上角到右下角:1,1,1,2,0,2,0,0,0应该是:

代码语言:javascript
运行
复制
X X X
O - O
- - -

会有一个'1‘或100 %后,玩20k随机游戏等。

我正试着预测玩家下一步的成功率。基本上,任何免费段的成功率都是基于董事会状态的。

然而,经过训练后,我的训练数据线性回归,我得到一个非常低的R^2分数的.14和任何测试都是非常不准确的。我开始觉得我的数据有缺陷了?这就是数据科学家们将如何创建抽搐脚趾训练集的方式吗?

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-10-12 07:33:26

线性回归不适用于这个问题,因为你使用的板特征和目标变量之间的关系不是线性的。

这就是数据科学家们将如何创建抽搐脚趾训练集的方式吗?

你的目标不是100%清楚。为了简单起见,我将选择您的目标为“预测X最终获胜的概率,考虑到当前的董事会状态和双方在未来完全随机发挥的可能性”。这似乎就是你在做的事。

顺便说一句,这不是训练神经网络预测游戏中最佳动作的直接途径。对于这个简单的游戏,如果这是你的最终目标的话,它可能是可以接受的,但是如果你想让机器学习来玩游戏,你可能应该考虑强化学习,特别是强化学习,作为一个管理训练数据的框架。

回到您的问题,您所做的对于创建数据集来说是可以接受的,尽管我想检查:

对于每一场平局(全场比赛),我都不算什么。

如果这意味着你仍然在存储导致领带的状态,但是有一个不同的标签,那就没问题了。如果您正在丢弃关于领带的数据,那么这将扭曲数据集并可能影响您的预测--除非您在测试时也要丢弃领带。

这也是有点不寻常的:

最后,我得到了我的训练数据集,其中包括董事会状态(特征集)和结果,即百分比(浮动品脱值)。在那个州赢了80%的比赛。

这是不寻常的,因为当功能相同时,您已经将数据预处理为摘要行。当与近似函数一起使用时,这会扭曲数据集(与大多数ML统计学习者一样,线性回归是一个近似函数),因为您丢失了发生这些特性的次数。当您这样做时,预测函数为使自己更准确地处理公共状态而做的任何平衡都会丢失。更正常的做法是将所有记录保持独立,并让ML方法解决取平均值的最佳方法。如果你测量你完成的模型的准确性通过随机抽样的新玩游戏,它可能有低于可能的准确性,因为这一点。

对于记录的数据收集,更常见的做法是将所有观测数据分开,而不是在训练分类器之前对其进行汇总。然后,分类器可以对数据进行拟合,允许每次观测的频率。

除了关于联系的警告(你很可能是正确的)和过早地取平均数,加上你的数据集只能帮助预测完全随机游戏的结果这一限制,那么数据集在我看来是可以的。上述两个问题都不足以引起您注意到的问题。你的预测不适用线性回归的主要原因是预测函数需要非线性。

解决这个问题的一个简单方法是使用非线性预测器,比如神经网络,或者像xgboost这样的决策树算法。

如果使用神经网络,以下内容可能会有所帮助:

  • 利用乙状结肠激活在输出层和二进制交叉熵损失.当输出是概率时,这应该会有所帮助。
  • 使用值-1代替2标记O.所扮演的板中的位置,这不是严格要求的,但是当输入数据在接近1标准差的情况下,神经网络会更快、更准确地学习。

值得注意的是,您的平均胜率表已经是相当合理的预测模型的游戏玩。对于TicTacToe来说,它应该运行得很好,因为有有限的状态。在使用随机游戏的20k游戏之后,您将拥有几乎每一种可能状态的记录,并且有些游戏将有相当精确的平均值(例如,X的每一次初始游戏将有大约2000次抽样连续,这将使您在几个百分点内的胜率)。这种方法的缺点是它不能概括到新的看不见的状态,但实际上在细节重要的棋盘游戏中很难做到这一点。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/82889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档