近日,本科毕业于哈佛大学统计学与经济学专业、现任哈佛助教的 Daniel Friedman 开放了他撰写的一本免费在线书籍《Machine Learning from Scratch》,该书从理论和数学上介绍了 ML 最常见算法(OLS、逻辑回归、朴素贝叶斯、决策树、boosts 和神经网络等)的完整推论。
地址:https://dafriedman97.github.io/mlbook/content/introduction.html
该书是为读者学习新的机器学习算法或了解更深层次的算法。具体地说,它是为那些有兴趣学习机器学习算法的读者准备的。这些推导可能有助于读者,特别是对基础算法不熟悉的读者,可以更直观地理解它们是如何工作的。或者,这些推导可以帮助有建模经验的读者理解不同算法是如何创建模型,以及每种算法的优缺点。
书籍概述
这本书涵盖了机器学习中最常见的方法。这些方法就像一个工具箱,为那些进入机器学习领域的人提供了便利,从而可以很快地找到所需工具。该书由 7 个章节以及 1 个附录组成。书的每一章节都对应一种机器学习方法或一组方法。
通过学习,你将学得:普通线性回归、线性回归扩展、判别分类器(Logistic 回归)、生成分类器(朴素贝叶斯)以及决策树等算法的完整推论。
每个章节均由这 3 部分组成。
其中,概念部分从概念上介绍这些方法,并从数学上推导结果;构建部分展示了如何使用 Python 从头开始构建方法;实现部分介绍了如何使用 Python 中的工具包(如 scikit-learn、statsmodels 和 tensorflow)应用这些方法。
为什么选择这本书?
现在关于机器学习的书籍数不胜数,在网上就可以免费获得。像《An Introduction to Statistical Learning》、《Elements of Statistical Learning》 和 《Pattern Recognition and Machine Learning》,这些机器学习书籍的作者掌握的知识更丰富,书籍内容涵盖的范围也更广。但值得注意的一点是:这些书籍只提供了概念上的机器学习以及方法背后的理论。
但是,本书重点介绍了机器学习算法的基本框架,旨在为读者提供独立构建这些算法的能力。作为一种「工具箱」而言,本书旨在成为用户指南,它不是用来指导用户关于该领域的广泛实践,而是在微观层面上讲述如何使用每种工具。
这本书需要读者掌握哪些知识?
需要注意的是,这本书的「概念」部分需要读者了解微积分知识,有些还需要了解概率(如最大似然和贝叶斯规则)和基本线性代数知识(如矩阵运算和点积)。
不过,该书附录部分回顾了所需的数学和概率知识。「概念」部分还参考了一些常见的机器学习方法,这些方法在附录中也有介绍。所以,「概念」部分不需要任何编程知识。
该书的「构建」和「代码」部分使用了一些基础的 Python 知识。「构建」部分需要了解相应的内容,并且需要熟悉用 Python 创建函数和类。「代码」部分则不需要这些知识。
参考链接: