摘要: 机器学习可以预测游戏的输赢?来看看Bowen Yang博士是如何构建这一模型的。
《守望先锋》中的英雄
来自加州大学河滨分校的物理学博士学位的Bowen Yang正在致力于构建一个模型——对游戏中的人物特征进行有意义的学习,来预测电子竞技游戏中的获胜团队。这个方法广泛适用于任何具有结构化数据的业务。
现在,电子竞技游戏是一个有着巨大潜力且不断上升的市场。去年,在英雄联盟的世界冠军赛中,仅仅一场半决赛就吸引了1.06亿观众,甚至超过了2018年的超级碗(美国职业橄榄球大联盟年度冠军赛)。为玩家提供个性化游戏分析的公司Visor,就希望能够有一个可以实时预测团队胜率的模型。
预测比赛
预测模型有很多种用途。比如,它可以向玩家提供有效反馈,帮助他们提高技能;对于玩家,它可以成为一个很好的参与工具,来吸引那些不熟悉游戏规则的潜在玩家;另外,如果一个模型在预测方面能够超越人类,那么它在电子竞技下注方面就会有着前所未有的潜力。
DOTA2国际邀请赛现场
《守望先锋》简介
我们今天建模的对象是《守望先锋》——一款基于团队的多人在线射击游戏。每个队伍有六名玩家,每位玩家从英雄列表(26名英雄)中选择一个英雄(游戏角色,如超级马里奥),与另一队进行战斗,每场游戏都有特定的游戏地图(游戏开始之前就已设定)。
游戏中有很多因素会影响游戏的预测结果,其中大部分是分类特征。举个例子,英雄的选择对于游戏的前期有着很大的作用。因此,我们面临的挑战是:如何处理这些分类特征。如果我只使用一种热编码,那么特征空间可以很轻松地增长到数百个维度。不幸的是,收集足够多的游戏数据来满足这个高纬度特征空间,这几乎是不可能的。
纵轴和横轴分别为预测准确度与游戏进度,使用热编码和特征选择的逻辑回归对预测进行建模。在游戏接近尾声时,预测较为准确;但在游戏开始时,预测几乎是一个随机值(具有0.5的准确性)。
本文将重点介绍如何使用嵌入对这些游戏角色进行建模,以及如何提升预测的准确度。
有关更多细节和实现,请参阅我的Github链接。
多个英雄可以组成一个队伍(“复仇者”)
从《魔兽世界》等角色扮演游戏到Dota 2、<