说起机器学习,**不得不讲到亚瑟·李·塞缪尔(Arthur Lee Samuel;1901年12月 –1990年7月),机器学习之父。塞缪尔是个工程师,也是个西洋跳棋(又称checkers或draughts)玩家。1952年,在IBM工作的塞缪尔想编写一个电脑跳棋程序。西洋跳棋使用与国际象棋类似的两色相间棋盘,但棋子只有两色。不同地区流行的棋盘大小不同,如波兰版本的10×10和英国的8×8。依据跳棋的规则,英国跳棋共有约5万 亿亿种(即5×1020)可能性棋法,所以不可能用死记硬背的方式让电脑记下所有的可能性,更别说在电脑石器时代的1952年。因此,塞缪尔设计了一套打分方法,可以根据当前双方棋子的位置计算赢的可能,并以此计算如何移动下一个棋子来提高获胜几率。为完善这一程序,他还采纳专业选手的意见进行改进,更通过程序自身的对抗来进行学习。1956年2月24日,他的程序在一起电视公开对抗中打败了康涅狄格州的西洋跳棋**,并因此被称为“机器学习之父”,也被认为是计算机游戏的先驱。
到了50多年后的2007年,来自加拿大的科学家Jonathan Schaeffer设计了一套基于人工智能的程序,使得计算机能在西洋跳棋项目上与人对战时立于不败之地;而当两个程序对战时,则会打成平手。值得一提的是,这个结果发表在了《Science》杂志(玩游戏都可以发Science,真是人生赢家啊)。
以上的故事提示了机器学习的两个事实:**,可以用来解决穷举法无法胜任的任务;**,在智商比拼的某些方面,机器可以胜过人。
事实上,除了在游戏项目上,基于机器学习的应用可以在很多方面击败人类。比如对交通标识的识别:在2011年的神经网络国际联合会议(International Joint Conference on Neural Networks)上,官方设置了一项挑战,用电脑去辨认40大类约5万张德国道路标识。来自瑞士达勒莫尔人工智能研究院(SUPSI )的一个小组以99.46%的准确率登顶,高于人的平均值(98.84%)以及32位与会者(99.22%)。