零基础机器学习入门书籍资源分享
如何简单地入门机器学习?刚从哈佛大学统计专业毕业的 Danny FRiedMan 创作了一本特别为转专业学生准备的教材,适合没有基础的读者,现已全面开放获取。
提到机器学习的入门书籍,市面上有成千上万的选择。这些书籍大多由经验丰富的学者撰写,内容涉及各个方面。
俗话说“开卷有益”,但对于转专业的初学者来说,这本新书可能是更合适的选择:
最近,这位哈佛毕业生根据自己的机器学习入门经验,撰写了《从零开始的机器学习》。

书籍地址:https://dafRiedMan97.Github.io/Mlbook/content/intRodUCtion.htMl
本书涵盖了机器学习领域中最常用的方法,宛如一位机器学习工程师的工具箱,适合初学者。书的目的是帮助读者独立构建一些基本的机器学习算法,就像教会读者如何使用一把螺丝刀或一盒卷尺。每一章都对应一种机器学习方法。

作者 Danny FRiedMan 指出,学习一种方法的最佳途径就是从零开始(无论是从理论还是代码),因此本书旨在提供这些推导过程。每一章分为三个部分:首先是“概念”介绍,并从数学层面演示推导过程;接着是“构造”部分,展示如何用 Python 从零开始实现这些方法;最后的“实现”部分说明如何使用 Python 包应用这些方法,如 scikit-learn、statsmodels 和 TensorFlow。
本书面向机器学习领域的新手或希望深入理解算法的学习者。阅读推论有助于以前不熟悉算法的读者充分理解方法背后的原理,同时也能帮助有建模经验的读者了解不同算法的建模方式,观察每种算法的优缺点。
章节介绍
在阅读本书的“概念”部分之前,读者应对微积分有一定了解,有些部分可能涉及概率知识(如最大似然和贝叶斯定律)以及基础线性代数(如矩阵运算和点积)。虽然“概念”部分引用了一些常见的机器学习方法(附录中有介绍),但不需要编程知识。
“构造”和“代码”部分则需要一定的 Python 知识。了解对应内容并熟悉 Python 的函数和类创建是必要的,而这些“代码”部分则不需要额外的编程知识。
全书目录如下:
- 普通线性回归(Ordinary Linear Regression)
- 最小化损失(The Loss-minimization Perspective)
- 最大似然(The Likelihood-Maximization Perspective)
- 线性回归扩展(Linear Regression Extensions)
- 正则回归(Regularized Regression)
- 贝叶斯回归(Bayesian Regression)
- 广义线性模型(Generalized Linear Models)
- 判别分类(Discriminative Classification)
- 逻辑回归(Logistic Regression)
- 感知器算法(The Perceptron Algorithm)
- Fisher 线性判别(Fisher’s Linear Discriminant)
- 生成分类(Generative Classification)
- 线性和二次判别分析、朴素贝叶斯(Linear and Quadratic Discriminant Analysis、Naive Bayes)
- 决策树(Decision Trees)
- 回归树(Regression Trees)
- 分类树(Classification Trees)
- 基于树的集成方法(Tree Ensemble methods)
- Bagging
- 随机森林(Random Forests)
- Boosting
- 神经网络(Neural Networks)
第一章介绍了普通线性回归,第二章则探讨了线性回归的扩展。线性回归可以通过多种方式扩展,以满足不同的建模需求。正则回归通过惩罚回归系数的大小来避免过度拟合,尤其适用于变量较多的模型。贝叶斯回归则通过先验分布来整合已有的观点与新数据中的信息。最后,广义线性模型(GLM)通过改变假设的误差结构来扩展常规线性回归,使目标变量成为预测变量的非线性函数。
分类器是一种有监督的学习算法,旨在识别观察值属于两个或多个组中的一个。换句话说,分类中的目标变量是有限集而非连续数值。例如,检测垃圾邮件或识别手写数字。
第三章和第四章分别介绍了判别分类和生成分类。判别分类直接根据输入变量建模,而生成分类则将输入变量视为观察类的函数,首先对观察值属于给定类的先验概率建模,随后计算观察值在条件下的输入变量概率,最后利用贝叶斯定律求解后验概率。逻辑回归并非唯一的判别分类器,书中还介绍了感知器算法和 Fisher 线性判别法。
第五章展示了如何构建决策树。第一部分讨论回归任务,目标变量为定量;第二部分则探讨分类任务,目标变量为分类。
决策树是一种可解释的机器学习方法,既可以用于回归也可以用于分类。决策树根据预测变量值的不同,迭代地拆分训练数据样本,以创建“孩子”子样本,其目标变量的纯度高于“父亲”样本。对于分类任务,纯度意味着第一个孩子主要观察一个类别,第二个孩子则主要观察另一个类别;对于回归任务,纯度则意味着第一个孩子的目标变量值较高,而第二个孩子的目标变量值较低。
以下是使用企鹅数据集的分类决策树示例:

由于高方差,决策树通常无法达到与其他预测算法相当的精度。第五章中介绍了减少单个决策树方差的方法,如剪枝或调整大小。第六章则探讨集成方法,这种方法结合了多个简单模型的输出,形成一个低方差的最终模型。作者在书中讨论了三种基于树的集成方法:bagging、随机森林和 boosting。
第七章介绍了神经网络,这是一种强大且灵活的模型,已成为机器学习中的热门话题。虽然神经网络的性能通常优于其他模型,但它们的复杂性并不如想象中那样。相反,通过优化高度参数化和非线性的结构,神经网络能够有效地建模其他模型难以捕捉的细微关系。
这一章的结构如下:
- 模型结构
- 概述
- 层与层之间的交互
- 激活函数
- 优化
- 反向传播
- 计算梯度
- 将结果与链式法则结合
- 结合观察值
- 一种新的表征
- 梯度
- 其他资源推荐
此外,作者还推荐了三本经典的机器学习理论入门书籍,这些书籍也能在网络上找到免费资源:
《统计学习导论:基于 R 应用》

资源地址:http://FAculty.MaRshall.USc.edu/gaReth-jaMes/ISL/
《统计学习的要素:数据挖掘、推理和预测》

资源地址:https://web.stanfoRd.edu/~hastie/EleMStatLeaRn/
《模式识别与机器学习》

资源地址:https://www.MicRosoft.coM/en-US/ReSeaRch/publication/patteRn-RecognITion-MacHine-leaRning/
