机器学习 | 拓展阅读参考书
在机器学习上,首先要推荐的是两部国内作者的著作:李航博士所著的 **《统计学习方法》和周志华教授的《机器学习》**。
《统计学习方法》采用“总 - 分 - 总”的结构,在梳理了统计学习的基本概念后,系统而全面地介绍了统计学习中的 10 种主要方法,最后对这些算法做了总结与比较。这本书以数学公式为主,介绍每种方法时都给出了详尽的数学推导,几乎不含任何废话,因而对读者的数学背景也提出了较高的要求。
相比之下,《机器学习》覆盖的范围更广,具有更强的导论性质,有助于了解机器学习的全景。书中涵盖了机器学习中几乎所有算法类别的基本思想、适用范围、优缺点与主要实现方式,并穿插了大量通俗易懂的实例。
如果说《统计学习方法》胜在深度,那么《机器学习》就胜在广度。在具备广度的前提下,可以根据《机器学习》中提供的丰富参考文献继续深挖。
读完以上两本书,就可以阅读一些经典著作了。经典著作首推 Tom Mitchell 所著的 Machine Learning,中译本名为《机器学习》。本书成书于 1997 年,虽然难以覆盖机器学习中的最新进展,但对于基本理论和核心算法的论述依然鞭辟入里,毕竟经典理论经得起时间的考验。这本书的侧重点也在于广度,并不涉及大量复杂的数学推导,是比较理想的入门书籍。作者曾在自己的主页上说本书要出新版,并补充了一些章节的内容,也许近两年可以期待新版本的出现。
另一本经典著作是 Trevor Hastie 等人所著的
Elements of Statistical Learning,于 2016 年出版了第二版。这本书没有中译,只有影印本。高手的书都不会用大量复杂的数学公式来吓唬人(专于算法推导的书除外),这一本也不例外。它强调的是各种学习方法的内涵和外延,相比于具体的推演,通过方法的来龙去脉来理解其应用场景和发展方向恐怕更加重要。
压轴登场的非 Christopher Bishop 所著的 Pattern Recognition and Machine Learning 莫属了。本书出版于 2007 年,没有中译本,也许原因在于将这样一本煌煌巨著翻译出来不知要花费多少挑灯夜战的夜晚。这本书的特点在于将机器学习看成一个整体,不管于基于频率的方法还是贝叶斯方法,不管是回归模型还是分类模型,都只是一个问题的不同侧面。作者能够开启上帝视角,将机器学习的林林总总都纳入一张巨网之中,遗憾的是,大多数读者跟不上他高屋建瓴的思路(也包括我自己)。
最后推荐的是 David J C MacKay 所著的 Information Theory, Inference and Learning Algorithms,成书于 2003 年,中译本名为《信息论,推理与学习算法》。本书作者是一位全才型的科学家,这本书也并非机器学习的专著,而是将多个相关学科熔于一炉,内容涉猎相当广泛。相比于前面板着脸的教科书,阅读本书的感觉就像在和作者聊天,他会在谈笑间抛出各种各样的问题让你思考。广泛的主题使本书的阅读体验并不轻松,但可以作为扩展视野的一个调节。
部分书目链接
- Elements of Statistical Learning
——————————————————————
人工神经网络 | 拓展阅读参考书
人工神经网络方向的参考书首推 Simon Haykin 所著的 Neural Networks and Learning Machines,英文版于 2008 年出到第三版,中译本名为《神经网络与机器学习》,也有影印本。本书是“大而全”的参考手册类型,全书以数学推导为主,对每种主流的神经网络算法都做了详细说明。Simon Haykin 是通信系统与信号处理的专家,在这本神经网络的专著中也穿插了大量信号处理和信息论中常用的工具,散发着浓厚的数学气息,因而适合在具有一定基础的条件下阅读。
另一本神经网络的专著是 Martin Hagan 等人合著的 Neural Network Design,英文版于 2014 年出到第二版,中译本名为《神经网络设计》,对应原书第一版。本书的几位作者是 Matlab 中神经网络工具箱的开发者,因而其专业性和权威性毋庸置疑。和 Simon Haykin 的学究著作相比,本书轻推导而重演示,主要通过实例手把手地解释神经网络的工作原理,对线性代数和最优化等基本工具也有涉及。
Sandhya Samarasinghe 所著的 Neural Networks for Applied Sciences and Engineering 同样是非常好的参考书,英文版出版于 2007 年,暂无中译本。正如书名所示,本书是一本面向应用场景的书籍,侧重于神经网络在工程中,尤其是在基于数据进行模式识别中的应用。书中同样包含丰富的实例,其中不乏取材于真实的数据分析案例,和现实结合得相当紧密的实例。本书是难得的理论与实践并重的参考书,有利于扩展神经网络研究的视野,对初学者也非常友好。
最后一本是 Stephen Marsland 所著的 Machine Learning: An Algorithmic Perspective,英文版于 2015 年出到第二版,暂无中文版。本书的主题是机器学习,但对包括感知器、多层感知器、径向基网络和自组织映射等主流的神经网络算法都用专门的章节加以介绍。在介绍中,作者侧重于对算法生理学背景的描述,以及对于算法原理的直观解释,这对神经网络研究的入门者无疑颇有裨益。遗憾的是,本书的行文略显啰嗦。
部分书目链接
————————————————————————————————
深度学习 | 拓展阅读参考书
由于深度学习是近五年才流行起来的概念,参考资料因而屈指可数。要推荐深度学习的参考书,就不得不提炙手可热的 Deep Learning,中译本名为《深度学习》。这本由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的大部头是迄今为止唯一一部关于深度学习的专著,号称“深度学习圣经”。几位作者都是人工智能领域响当当的人物,这让本书的质量得以保证。内容上,本书既覆盖了深度学习中的共性问题,也介绍了常见的技术和未来的研究方向,广度是足够的。
这本书的问题,我认为在于过于琐碎。但这并非是作者水平问题,而是因为深度学习本身还没有形成完整的理论框架,于是阅读本书时难免会有“天上一脚,地下一脚”的感觉,章节之间难觅较强的关联性。这个角度看,这本书更像是把所有菜一股脑扔到锅里炖出来的杂菜汤,反而缺少了调理的过程。另外,前后章节的深度跨度也比较大,阅读体验就像从马里亚纳海沟一下子跳上珠穆朗玛峰。
近期有一本新出的关于深度学习的中文书,名叫《人工智能中的深度结构学习》。它实际上就是 Yoshua Bengio 与 2009 年发表的综述性论文 Learning Deep Architectures for AI 的翻译版。和前面那本大书相比,Bengio 这篇论文的架构更加明晰,至少能把深度学习这个事儿的来龙去脉讲清楚。此外,由于成文时间较早,Bengio 的论文也没有太广的覆盖面,而是集中火力介绍了一些早期的基本模型。对于入门者来说,这篇论文是不错的阅读选择。
另一篇值得推荐的综述文章是微软研究院的 Li Deng 和 Dong Yu 合撰的 Deep Learning: Methods and Applications,成文于 2014 年。正所谓文如其名,本文前几个章节介绍深度学习的常用方法,后几个章节介绍深度学习在语音处理、信息检索这些领域中的应用,条分缕析,娓娓道来。由于像微软这样的企业主要从事的是将理论落地的工作,因而本文关于应用的论述是颇有价值的。
除了以上的著作外,著名的计算机图书出版商 O’Reilly 也出版了一系列名字里面包含 Deep Learning 的图书。但这些书的关注点都在于实际应用,也就是深度网络的实现,因而内容也侧重于开发平台、开源库以及工具集的使用这样的内容。可能是出于完整性的考虑,这些书中也着实花了笔墨来介绍相关原理,这就让它们看起来不伦不类了。