译者序一
献给机器学习初学者的小惊喜
机器学习(包括深度学习)是当前计算机领域的大热门,正在吸引着越来越多的人加入到这个领域。
相应地,当前也是机器学习领域图书的繁荣期,市面上有大量介绍机器学习技术的书,且仍有很多相关书即将面世。图书的繁荣带给读者的一个烦恼就是选择困难。机器学习的初学者不妨先找一本适合入门的书学起来,而这本书就是一个不错的选择。
作者首先从开发环境的搭建讲起,然后介绍了 Python 的基础知识,以及如何用 Python 去绘图,再介绍了机器学习涉及的微分、矩阵等数学知识,接下来用 5 章的篇幅,结合代码讲解了有监督学习、神经网络和无监督学习。
在第 1 章的环境搭建部分,作者用了大量的截图帮助读者快速安装 Anaconda 和学会 Jupyter Notebook 的使用方法。第 2 章和第 3 章是对 Python 基础的讲解,辅以代码示例,简明易懂,这些内容即使是作为一本 Python 入门书来看也是非常优秀的。加上数学基础知识的讲解,前 4 章作为基础知识的铺垫占据了全书 1/3 左右的篇幅。本书从第 5 章开始进入正题,先用两章分别讲解了有监督学习的回归和分类问题,还探讨了模型的评估和过拟合问题。第 7 章和第 8 章是时下大热门的神经网络和深度学习的入门介绍,学会了这两章,就能了解到深度学习的奥秘。第 9 章讲解了无监督学习,作者介绍了两种算法:-means 算法和混合高斯模型。最后的第 10 章总结了便于读者复习和快速查阅的知识,这是作者在第 2 版新增的内容。
总体来看,本书继承了大部分日系技术书的传统特色,对没有学过 Python 和需要复习数学基础的初学者是非常友好的,内容安排循序渐进,推导过程有理有据,图文并茂,理论与实践相结合。作者经历过找不到合适的入门书的痛苦,从书中内容可以看出作者在写作本书的时候,有意识地使本书内容通俗易懂。本书的配套代码也很丰富,而且代码是用 Jupyter Notebook 工具编写的,初学者可以在一个网页上编写代码、运行、查看结果,还可以记笔记,就像写博客一样写代码。图形界面和有条不紊的代码管理,比起直接在命令行零零散散地敲 Python 代码,更能激发学习的动力。
希望读者通过本书能够快速入门机器学习和深度学习的知识。本书并非只适合计算机相关专业的读者,我想有一定数学基础的其他专业、其他行业的读者应该也能够通过阅读本书了解机器学习并将其应用在工作中,提高工作效率。在读完本书掌握了基础知识之后,如果想进一步学习,可以阅读图灵公司出版的《机器学习实战》(了解更多的算法)、《美团机器学习实践》(学习机器学习在实践中的应用)等书。
本书前 4 章由司磊翻译,后 6 章由郑明智翻译,全书由郑明智统稿。由于译者水平有限,书中恐有疏漏和错误之处,还请读者随时指正。
这里衷心感谢图灵公司的编辑在翻译过程中给予的帮助,她们非常耐心细致。感谢“蕨火锅党”的好朋友孙文童、陆皓、马兵、王骎和杨毅峰在我日本工作期间对我的关怀和鼓励,非常怀念那段一起吃火锅看电影的时光。最后我要感谢一直给我家庭温暖的父母、妻子和儿子,希望家里 6 岁的小朋友也能读一读爸爸翻译的书。
郑明智
2020年6月于余杭南湖