Press "Enter" to skip to content

从线性代数到深度学习的7本书(2023年冬季更新)

我喜爱的七本机器学习图书

Photo by Laura Kapfer on Unsplash

在2019年,《面向数据科学》发表了我写的第一篇博客文章,介绍了我最喜欢的五本机器学习图书-这些图书涵盖了从基础的线性代数到现代深度学习的各个方面。

它们是:

  • 线性代数正确实践 by Sheldon Axler
  • 数理统计与数据分析 by John A. Rice
  • 统计学习的基础 by Trevor Hastie等人
  • 神经网络与深度学习 by Michael Nielsen
  • 深度学习 by Ian Goodfellow等人

从线性代数到深度学习的五本书

我喜欢的学习机器学习的书

towardsdatascience.com

我认为这五本书每一本都非常棒,各有各的原因。例如,《统计学习的基础》是我在大学本科时第一次对数据科学产生兴趣的原因。事实上,这五本书多年来帮助我学到了很多东西,如果没有它们,我现在不可能达到这个水平。

然而,它们只是我最喜欢的数据科学和机器学习图书中的一小部分,所以我想写一篇关于另外七本同样令人惊叹并值得加入你的(虚拟)书架的书的文章。对于每一本书,我都会告诉你为什么我认为它们如此出色,它们教会了我什么,并给出一些建议如何阅读它们。

此外,许多图书最近已经更新,所以我也会告诉你可以从新版本中期待什么,比如如果你已经了解之前的版本。

就像在我的上一篇文章中一样,我选择的这些书在难度上不同,所以我将从关注基本概念的书开始,然后逐步深入探讨高级机器学习文献的领域。

我们开始吧…

统计学习导论 作者:Trevor Hastie等人

在我原来的博客文章中,我提到了《统计学习的基础》这本书,它被认为是经典之作,也是最有影响力和最令人惊叹的机器学习书籍之一。

尽管涵盖了许多相当高级的主题,但它仍然出人意料地易于理解。但是,它通常假设读者对数学和尤其是统计学有扎实的掌握。

出于这个原因,同样的作者还出版了《统计学习导论》,这是这本书的更易于理解的版本,同时(基本上)涵盖了相同的主题。不要误会,这本书仍然在必要或有帮助的地方引入了数学和统计的基础知识,但它的主要重点是建立读者对机器学习中的统计方法工作原理的直觉。

在我看来,这是学习数据科学和机器学习的最佳书籍。如果你开始学习数据科学,它绝对是必读的。这也是全世界一些最好的入门级数据科学课程的基础。

我从这本书中学到了什么:我对机器学习的许多直觉都来源于阅读《统计学习的基础》和《统计学习导论》。没有其他书能够如此清晰地阐述这些概念。尤其是对于许多更高级的概念,如交叉验证和支持向量机,一开始可能很难理解。

阅读本书的建议:如果你是数据科学的新手,请从头到尾阅读这本书。各章建立在彼此之上,因此在进一步阅读之前,至少要从每一章中掌握基础知识。如果你想挑战一下自己,你可以将《统计学习导论》与相应的《统计学习的基础》章节一起阅读。那将使你从仅仅理解一个主题跃升到专家级的理解。

这本书还附带了一个完整的R库,这样你就可以轻松练习所有的实践问题,这是一个惊人的教育资源。

最新版本的更新内容: 去年刚刚发布了这本书的更新第二版,其中包含了之前版本中没有的全新章节。它们主要是一些高级主题,如深度学习、生存分析和多重检验。

此外,今年再次发布了这本书的另一个版本,这次是官方的Python版本,而原始版本已经提到了它依赖于R。

统计学习简介

随着几乎所有领域的数据收集规模和范围的不断增加,统计学习…

www.statlearning.com

Hadley Wickham et al的《数据科学的R语言实战》

说到R,Hadley Wickham等人的《数据科学的R语言实战》也是一本无价的开源书籍。你可以学习数据科学的“整个游戏”——从数据摄取到数据清洗,再到训练模型和传达结果。

这本书不需要任何先前的编程或数据科学知识,你可以通过这本书学到一切。与上面提到的《统计学习简介》相比,这本书更加实际。每一章都有很多代码。

这本书还介绍并且广泛依赖于tidyverse,这是一套精心设计的R库集合,用于进行数据科学。所以,如果你是从Python转过来,并想学习如何在R中做事情,这也是一个很好(也许是最好?)的指南。

我从这本书中学到了什么:这本书证明了R是一个用于数据科学的令人惊奇的语言,特别是用于学习数据科学。这是一个高度实用、实践性的指南,我从中学到了数据处理的方式。它特别关注数据整理,其他书籍(如《统计学习简介》)往往没有这方面的内容。直到今天,我仍然依靠我从这本书中获得的数据整理技巧。

如何阅读这本书:你可以从头到尾阅读,并学到大量新的知识和技术。如果你是新手数据科学家,我肯定会推荐这样做。然而,这不是我第一本数据科学书,所以我最终选择了不同的方式。相反,我按照自己的顺序阅读了每一章。如果你已经有一些数据科学经验(例如因为你来自Python),你也可以这样做——只需选择想要了解更多并加深自己知识的主题,然后阅读相应的章节。每个部分都是相对独立的,所以你可以很容易地做到这一点。

最新版本的更新内容:今年发布了这本书的第二版,它对所有的代码示例进行了更新。由于过去几年中tidyverse的发展迅速,因此这本书需要进行更新。

《数据科学的R语言实战》(第二版)

这是正在编写中的《数据科学的R语言实战》第二版的网站。这本书将教你如何…

r4ds.hadley.nz

(我链接的是现在应该已经完成的第二版,但你可以在这里找到原始的第一版。)

Marc Peter Deisenroth等人的《机器学习数学》

如果你正在寻找一本全面学习机器学习所需数学知识的书籍,《机器学习数学》是一个很好的选择。

机器学习基于许多数学子领域,包括线性代数、统计学、概率论和优化等等。因此,为了学习所有这些知识,你通常需要翻阅各种不同的教科书。

这本书的编写目的就是为了将机器学习常用的所有数学知识汇集到一本书中。

我从这本书中学到了什么:这是一本现代数学教材,所以我在大学修相关课程时把它当作参考书。虽然它不是我课程的主要教材,但它涵盖了一些相同的主题。因此,我能够阅读相关章节,帮助我更好地理解它们。这本书提供了很好的解释,总是将其与机器学习概念相关联(而不是通用的数学教材),并包含了很好的可视化图表,这些也帮助我理解了其中的思想。

如何阅读这本书:最好将这本书视为一本数学教科书。如果你正在修读线性代数、概率统计或数学密集的机器学习课程,这本书对你来说可能是一个很好的额外资源。选择与你的课程对应的章节,看看这本书是否能帮助你,就像它帮助了我一样。

机器学习数学

mml-book.github.io

《百页机器学习书》 by Andriy Burkov

首先,这本书实际上不是100页,而是多一些。不管怎么说,这本书正是它所承诺的,是机器学习关键概念和方法的简洁而全面的概述。

正因为如此,它可能不是从零开始学习数据科学的首要资源,也不是非常实用。相反,它的目的是提供对重要概念的简洁描述,并介绍它们背后的数学和理论。

因此,如果你需要深入理解一个概念或方法,但又希望快速掌握,这本书是一个很好的参考。

我从这本书中学到了什么:对我而言,这本书有时充当一种自我检查的角色。我认为,如果我能从它简略的描述中理解一个概念,那么我应该对该主题有很好的了解。这就是我对这本书的感受。它并不教你从零开始学习数据科学或机器学习,但在心理上,通过阅读这本书对一个概念进行总结或复习。

如何阅读这本书:这本书是机器学习概念最好的精炼总结之一,我建议你像我一样做一些类似的事情,即使用这本书检查自己对某个主题或概念的理解。如果你理解这个概念,很好。如果不理解,你可能需要回到另一本书(如ISLR或ESL),其更详细地解释了这个概念。

百页机器学习书 by Andriy Burkov

一百页机器学习全知道。监督学习和无监督学习,支持向量……

themlbook.com

《机器学习:概率透视》 by Kevin Murphy

这是其中一本更高级的机器学习书籍。《机器学习:概率透视》以贝叶斯(即概率论)的观点看待机器学习,并将其与经典的频率论观点进行对比。

贝叶斯机器学习与众不同之处在于它将先验知识和不确定性纳入学习过程中。其中一个巨大的优势是可以生成概率性的预测,而不是单一点估计。

该书涵盖了许多前面提到的书籍没有试图解释的高级主题,如高斯过程或变分推断。如果你想将机器学习知识提升到更高水平,从不同角度来看待它,这是一本很好的书。

我从这本书中学到了什么:在大学的时候,我修了一门贝叶斯机器学习课程,这是其中的一本参考书籍。例如,我学到了线性回归和逻辑回归的贝叶斯版本。该书还有一章关于期望最大化算法的精彩内容。即使到今天,每当我需要从概率的角度理解一种方法时,我仍会回到这本书。

如何阅读这本书:同样,这是一本经典的教科书,所以你很可能会在课程中遇到它。但即使在课堂外,你也可以使用这本书来对其他书籍(如ESL)所教授的许多相同机器学习方法进行不同视角的学习,以及许多只有在概率框架下才真正有意义的附加方法。如果这是你第一次接触贝叶斯机器学习,我建议你先阅读介绍,真正理解为什么这是一个如此有用的主题。

机器学习

2013年获得国际贝叶斯分析学会颁发的德格鲁特奖,共1104页,尺寸为8×9英寸,300色调…

mitpress.mit.edu

新版本中的更新内容:作者Kevin Murphy正在创作两本额外的机器学习书籍。其中一本是《概率机器学习导论》,侧重于深度学习,还有一本更高级的版本,题为《概率机器学习:高级主题》。

《Python深度学习》 by François Chollet

《Python深度学习》是一本非常棒的书,如果你想理解(而不仅仅是学习)神经网络以及如何使用Python实现它们,那么它非常适合你。

这本书的作者是François Chollet,他是Keras框架的创始人,Keras是建立在TensorFlow之上的深度学习框架。Chollet是一位出色的作家,这不仅仅是我的评价。他在深度学习各种概念的机制以及它们如何结合形成这个风靡全球的领域的基础方面,做出了卓越的工作(想象一下ChatGPT)。

我从这本书中学到了什么:这本书主要讲述的是如何从基本原理出发思考深度学习。我主要用这本书来学习Keras,但我也发现自己反复阅读了书中的许多其他部分(例如卷积神经网络、最佳实践等)。尽管在我发现这本书之前,我已经对大多数主题有所了解,但我觉得它们太好了,不容错过,所以它们极大地加强了我对深度学习的理解。

阅读这本书的方法:如果你刚开始学习深度学习,这本书可能是一个从头到尾阅读的书,因为François是一位非常优秀的作者,在阐明各种概念的动机方面做得非常出色。如果你已经有一些深度学习经验,你也可以选择某一章节来提高你对特定主题的理解。

第二版中的新内容:这本书的第二版于今年年初出版。深度学习发展迅猛,因此这本书需要做一些更新。它还包括了新章节和新主题。例如,它提供了最新的语言模型和文本生成技术的内容。此外,Keras在这些年也发生了一些变化,因此这本书也需要进行适应性调整。

《Python深度学习》,第二版

购买本书的同时将免费获得上一版的电子书副本。它将自动添加到…

www.manning.com

(还有一本非常类似的书,名为《使用PyTorch进行深度学习》。它涵盖了很多相同的内容,但重点放在了PyTorch而不是TensorFlow/Keras上。)

《强化学习导论》 by Richard Sutton and Andrew Barto

诚然,这本书在这里有些格格不入,但绝对值得一读。强化学习(RL)是一门非常有趣的领域,它补充了以上提到的机器学习类型。

如果你对此不太熟悉,强化学习是与自主代理和决策制定有关的人工智能领域,其目标是通过与真实世界或仿真世界的交互来学习。

这本书是全球强化学习课程的标准教材,因此如果你想学习强化学习,它绝对是最佳选择之一。然而,对机器学习的了解也是有帮助的,因为它在强化学习中也起着核心作用,所以可以将这本书看作是蛋糕顶部的樱桃。

我从这本书中学到的: 很多。这也是我大学课程之一的教材。事实上,我在Monte-Carlo树搜索上做了我的课程项目,并且我的硕士论文是关于上下文强化学习的。这两种方法在书中解释得非常好。它们是非常有趣和强大的强化学习方法。

如何阅读这本书: 这可能又是一本从头到尾的书,因为各章节非常相互关联。重要的是,在阅读这本书之前,您可能应该对机器学习甚至深度学习有很好的了解,因为很多强化学习的概念都基于它们。

目前还没有这本书的新版本,但如果你问我,已经是时候出新版了。过去几年,领域发生了很多变化,一些最先进的语言模型(例如通过人类反馈或RLHF进行强化学习)正推动领域的发展。我肯定会第一个读到的。

强化学习: 介绍 | MIT出版社电子书 | IEEE Xplore

强化学习,人工智能领域最活跃的研究方向之一,是一种计算方法…

ieeexplore.ieee.org

总结

这七本书,和我原来博客文章中的五本书一起,是该领域中最好的书籍之一,我可以自信地说,因为我花费了(而且仍然在花费)大量时间整理我的(虚拟)书架。最好的部分是什么?它们中的大部分都可以免费在线获取。

我很感激这个领域如此开放,并且提供了免费和方便的知识获取途径。我认为这没有被足够地说出来,有时候被认为是理所当然的,但它不应该是。

如果我有一个最后的建议——我一直喜欢使用多个来源来学习同一概念。不同的书籍(或课程、视频和教程)都以稍微不同的方法来教授一个主题。这就像有多个老师,其中一个总是能让你恍然大悟,一旦发生那种情况,你也会明白其他人在说些什么。我认为通过这样做,你可以获得非常深刻的理解。

非常感谢您的阅读。我真的希望您喜欢这篇文章,并且无论您在学习的哪个阶段,都能像我一样发现这些书籍的有用之处。

如果您有任何想法或问题,请随时在评论区或LinkedIn上联系我。

Leave a Reply

Your email address will not be published. Required fields are marked *