0.1 本书讲什么,初衷是什么
这是一本介绍机器学习的书。那么,机器学习是什么?我们先来看一下机器学习一词是怎么产生的。1952年,阿瑟·萨缪尔(Arthur Samuel)研制出一个西洋跳棋的程序,如同人类阅读棋谱提高棋艺,这个程序也可以通过对大量棋局的分析提高棋艺水平,辨识当前棋局的好坏,并很快赢了发明者本人。1956年,萨缪尔在人工智能诞生的特茅斯会议上提出了“机器学习”一词,该词指的就是类似于这种跳棋程序的研究。如今,机器学习已成为一门学科。
关于机器学习的概念,维基百科是这么说的。
机器学习有下面几种定义:
· 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
· 机器学习是对能通过经验自动改进的计算机算法的研究。
· 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
很深奥,不明觉厉,但看完仍然不知道机器学习是什么。是人工智能的一个分支?研究对象到底是人工智能,还是算法?感觉都不是。李航老师在《统计学习方法》中给出一个更明确的定义:统计学习(Statistical Learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习(Statistical Machine Learning)。
这是一门以数据为驱动,以统计模型为中心,结合多领域的知识,通过计算机及网络实现的学科。通俗来讲,机器学习就是来创造各种各样的机器的,当然,此机器非彼机器。机器学习中的机器通常指的是数据机器,其功能就是把想探究的数据吞进去,把想得到的结果吐出来,借助计算机实现。人们平常所说的机器是一种通俗意义上的机器——只是为了实现某些特殊功能而创造出来的东西,或许是可以吃的食物,或许是用来穿的衣服,或许是可以摸得到的硬件,或许是由一串串代码构成的软件。但是,这不妨碍我们通过常说的机器来理解机器学习中数据机器的含义。
举个最简单的例子,以实现目的为导向,可以量身定制各种机器,比如酸奶机吞进去牛奶,吐出来酸奶;果汁机吞进去水果,吐出来果汁;面包机吞进去面粉、酵母、水,吐出来面包。因此,在制造机器之前,最先明确的,就是投进输入管的是什么,希望从输出管产出的是什么,如图0.1所示。小明(1)就仿照着制造了几个小机器。第一个小机器很无聊,是小明的初次尝试。这个小机器吞进去的是一个数字,吐出来的还是相同的数字。小明觉得可以尝试更复杂一点的,比如制造一台名为正弦的机器,顾名思义,就是吞进去一个数字,吐出来的是原来数字的正弦值。后来,小明的经验越来越丰富,开始尝试分类机器,将家中不同饼干所含的单位含脂量输进去,分为低脂饼干、普通饼干和高脂饼干。这样一来,小明就根据分类结果,平时吃普通饼干,减肥的时候就吃低脂饼干,心情不好的时候就吃味道好的高脂饼干。我们发现,小明制造机器时,最关键的就是明确希望通过输入的数据,得到一个什么样的结果。
图0.1 数据机器
本书讨论的是数据机器,因此需要深入了解多种类型数据机器的工作原理,而工作原理的根基就是统计思维。毕达哥拉斯说“万物皆数”,而当前就是一个瞬息万变的数字化时代。伽利略说“数学就是上帝用来书写这个世界的语言”。的确,越来越多的人发出感慨——“科学的尽头是数学”,无怪乎在《第一推动》系列丛书中集中了宇宙、物理、生物等多门学科的名人佳作,唯独缺了数学。数学的世界是独特而奇妙的,称其为天书也不为过。幸运的是,我们还能拥有食尽人间烟火的统计学。不得不惊叹,从数学延伸而出的统计学因为多了不确定性的噪声,成为了解释这个真实世界的语言。华为创始人任正非在接受央视《面对面》栏目的采访时说道:“大数据时代做啥?就是统计。”说明人们已经意识到统计学在人工智能中的作用。希望读者通过阅读本书,可以理解机器学习设计中最核心的统计学思维,应时代之需求,以不变应万变。
荀子·儒效
与时迁徙,与世偃仰,千举万变,其道一也。
关于写作风格,虽然技术类图书要求具有严谨性,但严谨并不意味着刻板,我希望各位读者可以在生动有趣的故事中有所收获——不仅仅是知识。相传,一日张良浪迹到下邳,遇到一位老人。这位老人故意将鞋子抛到桥下,张良为他捡鞋子并帮他穿上。老人感慨“孺子可教矣”,遂将一卷书传与张良,并嘱托“读此书则为王者师矣”。据说这本书就是汉代黄石公所写的《素书》,书中1360字,字字珠玑,句句箴言,启迪世人以智慧。然而,当世阅此书者数人,成王师者仅张良一人而已。可谓,千万个读者心中有千万个哈姆雷特,不同人即使读同一本书,感悟也千差万别。本书万不及《素书》,但望予读者以启迪,或严谨的数学推导,或有趣的背景故事,或创造模型的心路历程,或Python案例的实践,有所得则足矣。