在机器学习上,首先要推荐的是两部国内作者的著作:李航博士所著的《统计学习方法》和周志华教授的《机器学习》。
《统计学习方法》采用“总 - 分 - 总”的结构,在梳理了统计学习的基本概念后,系统而全面地介绍了统计学习中的 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 年,中译本名为《信息论,推理与学习算法》。本书作者是一位全才型的科学家,这本书也并非机器学习的专著,而是将多个相关学科熔于一炉,内容涉猎相当广泛。相比于前面板着脸的教科书,阅读本书的感觉就像在和作者聊天,他会在谈笑间抛出各种各样的问题让你思考。广泛的主题使本书的阅读体验并不轻松,但可以作为扩展视野的一个调节。