任何一种算法背后的道理,都应该是通用的,既然如此,那其也适用于对战游戏中,这篇小文试图写写如何给Dota玩家讲解常见的十种机器学习算法。
1 贝叶斯模型
在判断是否打团战的时候,根据之前许多局不同人数的团战胜率,再结合当前
参加团站的人的装备和等级以及团战的位置,得出该不该打团战。
2 树模型
对于决策树,就是一个人的分而治之。你将你的对手分开,然后一次次的单杀。而对于随机森林,则是每个人使用自己的方式,让对手如法抱团。
3 支持向量机
支持向量机根据地形和游戏时间划出你方最占优势的区域。例如,你的英雄擅长打后期,你就要将游戏拖到后期。你的英雄适合塔下作战,越过了塔你就停下来
4 KNN
KNN对过去的对战结果进行搜查和映射,在不同的维度上
评估你在过去的战斗中的表现, 考虑你的薄弱和强大的领域, 并相应的准备下一场战斗。当你处在与你之前胜率最高的场景相似度较高的场景时,你就全力出击。
5 K means
K means的思路是根据共同的属性选择英雄组合,从而使得组合的效果大于单个英雄之和。的经过K means的划分,看似多的英雄组合方式变得只剩下那么几种。
6 神经网络和感知机
理解神经网络的强大,你可以假设现在你不止能操作你的英雄,还能告诉你的每一个小兵他们这段时间要做什么。比如你可以让你的士兵在这一局里的目标是尽可能的攻打对方的英雄,造成最多的伤害,如果这个目标完成的好,小兵也会升级。经过了一段时间的磨合,你的士兵会去攻打那些护甲低,容易打的英雄。而等到形式变化,你又可以将你士兵的目标调成对对方的塔造成最多的伤害。神经网络的强大就在于每个人分开决策,还可以达到任何的你想到的目标。
7 集成学习
集成学习背后的思想是让有不同擅长的英雄组合起来,从而得到更好的效果。一场比赛不能靠5个辅助英雄赢下,也不能靠5个大后期赢下来。将远程英雄和近程英雄组合起来,能够获得更强的攻击力。
8 异常检测
当场上出现了不正常的情况的时候,就需要开启异常检测模式了。你要逐个检查对手是不是开启了隐身,有没有聚在一起打肉山。
文末的话:
对于了解这些算法的人,这篇小文想说的是事间的道理是相通的。而对于刚刚入门或打算入门机器学习的伙伴,这篇小文希望能勾起你们的兴趣,顺便方便你们记住这些算法。
欢迎关注
巡洋舰的深度学习实战课程
, 手把手带你进行深度学习实战, 课程涵盖机器学习,深度学习, 深度视觉, 深度自然语言处理, 以及极具特色的深度强化学习,看你能不能学完在你的领域跨学科的应用深度学习惊艳你的小伙伴,成为身边人眼中的大牛, 感兴趣的小伙伴可以点击阅读原文。