返回列表

12th Place Solution(ML approach)

409. Google Research Football with Manchester City F.C. | google-football

开始: 2020-09-28 结束: 2020-12-11 游戏AI AI大模型赛
第12名方案(机器学习方法)

第12名方案(机器学习方法)

作者:digimagi (团队 Ken+digimagi) | 排名:第12名 | 发布时间:2020-12-16

在这篇文章中,我将代表我的团队 Ken+digimagi 分享我们解决方案的一些信息。

在深入介绍之前,我首先要感谢主办方、Kaggle、Google Research、曼城以及整个社区。我在这次比赛中投入了132个小时。我很高兴参加了这次比赛,不仅学到了很多东西,而且度过了一段非常激动人心的时光。

还要感谢这两个笔记本,我们从中获得了很多灵感:
我的队友 Ken Miller @mlconsult Notebook链接
Tom Kelly @tomkelly0 Notebook链接

我们还要感谢 WekickSaltyFish,他们在本次比赛中一直领先,并对我们的方案产生了影响。

此外,在提交截止后,kangarooxin & willson & pigzz 之间为了最后一块金牌展开了激烈的争夺。这打扰了我安稳的睡眠,但同时也让我度过了今年最兴奋的时刻。

解决方案

我们的解决方案本身并不太创新,很简单。这次比赛可以通过多种方式解决:基于规则、机器学习和强化学习。当我认真决定参加这次比赛时,Wekick 和 SaltyFish 这两支队伍统治了其他队伍。我们的出发点是:如果我们能模仿这些强队的智能体,我们能造出多强的智能体?我们将其简化为一个多分类机器学习问题,即预测这些强智能体的动作。

这里是我们的端到端 Notebook链接(除了收集对局数据),它学习了 WeKick:18239675,LB分数约为1395。

算法

梯度提升树,每个 ball_owned_player(持球球员)一个模型。
使用 Optuna 进行超参数调整。
平均集成,改变了超参数后,分数有所提高。
我们曾尝试 K-fold 模型一段时间,但训练时间太长,而且不用 K-fold 也能达到一定的准确率,所以中途就停止使用了。

以下是我们模型的分数趋势:

日期 分数 准确率 特征数量
11月16日 600 0.65 (少量对局) 147
11月22日 1070~1150 0.60 482
11月25日 1300~1320 0.75~0.77 744
11月29日 1380~1400 0.79~0.81 1154

数据

以下 submissionId 智能体的对局被用作候选数据:

  • SaltyFish:18010220
  • SaltyFish:18211783
  • WeKick:18220693
  • WeKick:18127517
  • WeKick:18239675

起初,我们使用了 SaltyFish:18010220 的对局,它有大量的比赛,但我们无法达到很高的准确率。然而,使用 WeKick:18127517 或 WeKick:18239675 时,我们能够达到相对较高的准确率,因此我们专注于这些智能体的对局。我们尝试将它们组合,并排除了输掉的比赛。

特征

我们从观察中生成了1154个特征。
其中一些直接来自原始观察,但我们参考了以下论文(日文)来生成基于足球领域的特征。

同比赛其他方案