本系列内容来自音频专辑《汪诘:科学有故事》中的“听众问答”,定期答复听友们提出的各种与科学有关的问题。收听音频可至喜马拉雅、网易云音乐、蜻蜓等各大网络电台。这段时间又是四年一度的火热世界杯了,有很多听众来问我是不是球迷,看不看球,怎样才能科学地购买足球彩票?听说今年是人工智能预测世界杯的元年,问我怎么看?我可能连伪球迷都算不上,我只会在淘汰赛开始后看完整的比赛。
但如果遇到后半夜才开始的话,我也基本上熬不住,睡觉优先。所以,对于足球,我肯定算是一个外行。因此,本期节目的重点与足球本身无关,我只是借着足球这个话题来跟大家简单介绍一下人工智能预测世界杯的技术原理到底是什么。但为了能够在举例子的过程中不至于显得完全不懂足球,我找到了我的一位很内行的老听众 Bill 先生。Bill 先生是一位专业的足球数据分析师,曾经制作过 200 多期的足球数据分析视频。
在过去的比赛分析里面,2016 年的欧洲杯,还有 2018 年的欧冠杯,这两个大赛他仅仅是失误了 4.5 场。现在他主攻真实球场数据,从这个方面去做比赛分析的。他也是秉持着科学的精神去做他的节目。如果大家有兴趣的话,可以关注一下他的公众号“比尔足球”。
2018 年 5 月 17 日,全世界著名的投资银行瑞银利用大数据和人工智能技术,发布了一份预测报告,结论是德国夺冠的概率是 24%,其次是巴西 19.8%,西班牙 16.1%,英格兰 8.5%。至于这个预测准确性如何,我们再过几天就知道了。其实,预测比赛胜负的软件历史非常悠久,可以说从计算机诞生开始,博彩公司就会利用计算机编写预测软件,辅助分析。
但为什么现在却要是说人工智能预测,好像是新诞生了一个什么了不起的新鲜事物。很多人可能认为这只不过是宣传的一个噱头而已,并没有什么本质的区别。没有那么简单。这确实是一个新事物,人工智能预测和过去的电脑预测确实是有一些根本性的区别。过去,我们编写一个足球预测软件,我们需要请像比尔这样的分析师,来仔细分析影响比赛胜负的因素有哪些,这些因素对胜负的影响权重是什么。
例如,比尔告诉我,按照一场比赛的重要程度,这些因素可以分为几个档次。S 级:伤停及阵容的完整性,中场核心的实力,中场核心的状态,以及可以和中场(核心)配合的人数。A 级:球队风格,教练经验,球队得分方案的多少,球队的防守球员的默契如何。B 级:球员的休整时间,球队的锻炼机会,球队的大赛经验,年龄,个性。C 级:气候纬度时差,球队的精神面貌。这些知识过去的电脑是不可能拥有的,因为电脑哪里懂足球呢?
它只能依赖于人编写的一个数学模型,由人来创建一套计算胜负的算法,说白了,在传统的预测软件中,计算机只是起到了一个计算器的作用。如果你精通 EXCEL,再加上一个比尔,你们俩就能完成一个还不错的预测世界杯胜负的电子表格。但是到了人工智能时代,一个精通人工智能程序编写的程序员,就可以不再需要一个像比尔这样的一个懂足球的分析师,就能做预测软件了。怎么做呢?
靠的就是“机器学习”,今天我们所谓的人工智能,它的本质其实是机器学习。假如我现在就是这个程序员,我根本不需要知道刚才比尔讲的那些因素到底哪些重要哪些不重要,我只需要随便猜测有可能影响比赛结果的因素有哪些即可,哪怕初听上去似乎八竿子打不着的因素我也可以列进去,比如球员有没有孩子。下一步我就是收集过去几十年中所有参与世界杯比赛的球队的各种数据,只要是含有我怀疑与比赛胜负有关的数据就可以,越多越好。
再下一步,我利用一种叫做“深度学习”的计算机算法,让计算机自己去分析这些因素与比赛胜负的关系。你可能没有理解这是怎么做到的,我给你举个最简单的例子,比如,计算机统计了过去世界杯所有比赛的数据,发现球员平均年龄越接近 30 岁,胜率就越高。注意,我这是打比方,不是说真的是这样啊。那么,当我要预测一场比赛的胜负时,我就统计一下比赛双方球员的平均年龄,然后我就预测更接近 30 岁的那个队伍获胜。
虽然我完全不知道这是为什么,但是过去的数据统计的结果就是这样。至于到底是什么原因,计算机根本不管。现在,这样的深度学习算法都是现成的。最流行的机器学习的编程语言是 Python,你可以很容易在网上下载别人已经封装好的程序库。它就像一个黑盒,你只需要使用几条简单的程序语句,给这个黑盒输入数据,指定一些参数,这个黑盒就能输出它从这些数据中分析出来的你指定的那些关键词的相关率。
而且你还可以不断地让机器自我学习迭代,比如你创建了好了世界杯预测 1.0 的程序,当世界杯开始以后,你就让他根据自己的预测不断地与实际比赛结果比较,如果预测准确就好像是下围棋获得了胜利,预测不准确就是失败。机器就可以根据胜负的情况不断地重新调整自己的算法。现在阿法狗的升级版就是通过自己和自己下围棋来不断地调整自己的算法,道理是相通的。过去啊,我们总觉得,没有会下棋的人参与,怎么能编写下棋软件呢?
没有精通中英文的人参与,怎么能写出翻译软件呢?那么,在大数据和机器学习时代,真的就不需要了,计算机只关心统计结果,不关心他们的因果关系。从这个例子中,我们可以得出这样两个结论:1. 人工智能依赖已知的数据工作:你喂给它的数据越多,它就可以预测的越准确;反之,如果吃不到数据,它就无法工作。
2. 人工智能本质上只是一种数学统计模型的具体应用,本质上还是一个计算器——只是计算公式超复杂,运算速度超快而已。计算机并没有“思考”,也并不真正的懂足球。它甚至完全不知道它是在预测足球赛。它唯一知道的只是在不断地调整一些关键词与另一些关键词之间的统计相关性。
因此,对于预测世界杯来说,真正困难的是找到足够多的有效的数据喂给你的程序“吃”,你喂给机器学习程序的数据越多,越真实,他从中总结出来的规律就越准确。或许讲到这里,你就能理解了,为什么现在我们总是听到有人在说数据比技术值钱。
关于这一点,我们也可以听一下比尔是怎么说的:Bill 先生认为,所有的人工智能现在为止都只能是有数据的基础之上去做的,而且通俗点来讲,这个数据的来源非常重要,要经过筛选,而且现在网络上关于足球的数据可以说是漫天盖地,大家对于数据的东西其实有误解,并不是说数字才是数据,现在的数据很复杂,有数字,有图像的,有声音。只要是你可以量化的一些东西,就称为数据。可以表达的一些东西,也可以称为数据。
当你理解了所谓的人工智能预测世界杯的技术原理,你也就能发现这种预测方法的局限性,那就是,它无法处理以前从来没有出现过的数据。比如说,这次世界杯法国对阵澳大利亚,世界杯历史上第一次通过录像回放判罚了点球,那这个叫 VAR 的新规则就是一个过去从未出现过的对胜负产生影响的因素,计算机就处理不了,因为没有过去的数据做参考。接着,我给大家找了一个牛津大学介绍什么是机器学习的小视频。
它举的例子就是,机器会如何区分一张照片里的是猫还是狗呢?那么,关于人工智能预测世界杯的话题我浅尝则止,就谈到这里。最后我给大家再放一些比尔跟我的谈话录音,或许球迷朋友感兴趣,非球迷不听也无所谓。比尔先生提醒我们,不要去玩那种非法的赌球,如果要买世界杯的足彩呢,不是不可以,但是请通过合法的途径去购买。不过比尔,我好像听说呢,有些博彩公司啊,它反倒是喜欢爆冷,为什么会这样?
如果硬要这么问的话,我觉得博彩公司还是会偏向于想爆冷的。要博彩公司在平衡做这个系统平衡性的时候,出现不同的赛果还是会影响它的盈利的,只不过它盈利多还是少的区别。但按照一个企业最终也希望它的利润最大化的时候,它还是想爆冷的,只不过,实际意义上的爆冷跟大家平时听到的爆冷可能就不一样了。大家都是通过媒体宣称的是爆冷这么一回事,就觉得是爆冷。
比如说德国这场比赛,我们在分析的时候,就已经判断到了德国的中场有很大的问题,按照伤病还有中场的状态来说,德国会出现平局,甚至输球的概率都会很大。德国那天的比赛,在专业的数据分析上面,其实并不能称作为爆冷。比如这届世界杯的很多标题党就会传播,巴西夺冠啊,英格兰已经没落了这些消息,普通人看了就会愿意相信他们自己想相信的部分,特别是一些阴谋论的一些软文充斥着网络。所以,这手段给大家爆料一下哈。
就是博彩公司会有很多自己的一个合作网站,而且这个网站的都会伪装成为数据网站,比如说有一个叫 Whoscored 的,公司就是跟 (bet)365 在合作。
嗯,实际上的这个公司它是不产生数据的,它们的一些数据是要去到另外的数据公司去买接口,然后自己拿回来用,例如说 opta 就是它的一个数据的提供商,然后拿到数据以后,它们会安排自己的软件工程师做二次的开发,最终变成了一种图文并茂的数据,给用户去看,给用户去分析。你要说这些数据的真实性啊,还并不是用户可以自己参透的。这个看来每一行都有很深的水,那谢谢比尔能够参与我们的节目。
如果大家喜欢足球,喜欢世界杯,那你可以关注一下我的公众号,“比尔足球”。好,那这就是本期的听众问答,咱们下期再见。