01 / 导读
导读
机器学习:让验证单位匹配预测任务
比较两条免费统计学习路线与综合人工智能参考,用原创重复设备验证和部署变式,审查留行、留组、近邻距离及外推边界。
学习计划与例题由 University Reading List 编辑整理。
引用
James, G., Witten, D., Hastie, T., Tibshirani, R., & Taylor, J. (2023). An Introduction to Statistical Learning: with Applications in Python. Springer (Springer Texts in Statistics).
章节概要
Python 版(ISLP)约600页,共十三章。它承接 R 版(ISLR)第二版(2021),R 版第一版出版于2013年。本版在原有四位作者之外增加了 Jonathan Taylor。作者把本书定位为面向所有希望使用现代数据分析工具者的、覆盖面广且技术性较低的统计学习论述。除导论外,每章都以一个 Python 实验(lab)结尾,作者开发的 ISLP 软件包提供实验所用的数据集和辅助函数。edX 上提供配有视频讲座的配套课程。
第1章:Introduction(导论)
全书开篇的十三页导论。与其他各章不同,本章没有实验。
第2章:Statistical Learning(统计学习)
约五十页,阐明什么是统计学习,以及后续各章使用的框架。实验是 Python 入门,内容包括 NumPy 数组、索引、用 pandas 读入数据、绘图和循环。
第3章:Linear Regression(线性回归)
用约六十五页深入讨论回归。实验拟合简单线性回归和多元线性回归,检验拟合优度,并加入交互项、预测变量的非线性变换和定性预测变量。
第4章:Classification(分类)
逻辑回归、线性判别分析与二次判别分析、朴素贝叶斯和K近邻,用股票市场数据加以比较。实验还对共享单车的使用次数拟合线性回归和泊松回归。
第5章:Resampling Methods(重抽样方法)
验证集方法、交叉验证和自助法,用于估计测试误差和估计量的变异性。
第6章:Linear Model Selection and Regularization(线性模型选择与正则化)
最优子集选择与逐步选择、岭回归与 lasso,以及降维方法(主成分回归和偏最小二乘),并用交叉验证在模型之间作选择。
第7章:Moving Beyond Linearity(超越线性)
多项式回归、阶梯函数、样条、平滑样条、局部回归和广义可加模型。
第8章:Tree-Based Methods(基于树的方法)
分类树与回归树、装袋法、随机森林、提升法和贝叶斯可加回归树。
第9章:Support Vector Machines(支持向量机)
支持向量分类器与支持向量机、ROC 曲线、多分类问题,以及在基因表达数据上的应用。
第10章:Deep Learning(深度学习)
单层与多层网络、用于图像的卷积网络、文档分类,以及用于序列的循环网络。实验使用 PyTorch(配合 PyTorch Lightning),处理 Hitters、MNIST、CIFAR-100 和 IMDb 数据,把神经网络与 lasso 进行比较,使用预训练的卷积网络,并拟合时间序列模型。
第11章:Survival Analysis and Censored Data(生存分析与删失数据)
处理带有删失的事件发生时间数据的方法,实验将其应用于脑癌、论文发表时间和呼叫中心数据。
第12章:Unsupervised Learning(无监督学习)
主成分分析、矩阵补全,以及 K 均值聚类和层次聚类,以 NCI60 癌细胞系数据为例。
第13章:Multiple Testing(多重检验)
同时检验大量假设的问题:假设检验回顾、族错误率、错误发现率,以及一种重抽样方法。
核心概念
第1–5章:基础
- 统计学习:一组用于建模和理解预测变量与响应变量之间关系的工具,即第2章所阐述的框架。
- 线性回归的扩展:在线性模型中加入交互项、变换后的预测变量和定性预测变量。
- 分类方法:针对类别型结果的逻辑回归、判别分析、朴素贝叶斯和K近邻。
- 交叉验证与自助法:通过重抽样估计测试误差和估计量的不确定性。
第6–9章:超越最小二乘
- 正则化:收缩系数(岭回归、lasso)以改进预测;lasso 还能进行变量选择。
- 样条与广义可加模型:在保持可解释性的同时进行灵活的非线性拟合。
- 树的集成:装袋法、随机森林和提升法把许多棵树组合起来以提高准确性。
- 支持向量机:基于分离超平面和核函数的分类器。
第10–13章:现代主题
- 神经网络:包括卷积网络和循环网络在内的分层模型,通过基于梯度的训练进行拟合。
- 删失:事件发生时间未被完整观测,由生存分析方法处理。
- 主成分与聚类:在没有结果变量的数据中发现结构。
- 错误发现率:控制被拒绝的假设中假阳性所占比例的期望值。
评析
优点
- 不需要高深数学即可入门。 作者的目标是为所有使用现代数据分析工具的人提供覆盖面广、技术性较低的论述。本书网站引用的《Journal of the American Statistical Association》对 R 版的书评称其写得好、易于阅读,既适合本科生,也适合定量背景较弱的研究生和从业者。
- 几乎每章都有实验。 除导论外,每章的 Python 实验都在真实数据集上演练所学方法,从线性回归一直到用 PyTorch 做深度学习,让读者学会运用所读内容。ISLP 软件包及其在线文档使数据集和辅助函数很容易安装。
- 覆盖广且内容新。 除经典方法外,书中还涉及深度学习、生存分析、矩阵补全、贝叶斯可加回归树和多重检验。
- 免费资源。 作者在 statlearning.com 上提供各版的免费 PDF,edX 上配有视频讲座的配套课程覆盖全部章节。
- 与 R 课程共享概念核心。 Python 与 R 两门配套课程共用各章讲座,主要区别在于计算环节(见下文“作者的配套课程”)。
局限
- 理论较少。 作为一本有意降低技术性的论述,本书不提供完整推导。本书网站上一位卡内基梅隆大学统计学家的推荐语说,本书受到 Hastie、Tibshirani 和 Friedman 的《The Elements of Statistical Learning》启发;想学习背后的数学,应去读那本技术性更强的书。
- 偏统计而非计算机科学。 重点是从统计学角度讨论回归、分类和重抽样。强化学习、大规模优化或机器学习系统工程等主题不在本书范围之内。
- 软件会变化。 实验依赖特定版本的 Python 软件包(文档列出了软件包版本),随着库的更新,代码可能需要调整。
在课程中的定位
ISLP 是本书单进入机器学习的入口。Melanie Mitchell 的《Artificial Intelligence: A Guide for Thinking Humans》以非技术方式说明当前人工智能能做什么、不能做什么,在概念层面解释神经网络和深度学习,适合作为配套读物。Kevin Murphy 的《Probabilistic Machine Learning: An Introduction》通过概率建模和贝叶斯决策理论覆盖相近的内容,数学要求高得多,是读完 ISLP 后自然的下一步。
Russell 和 Norvig 的《Artificial Intelligence: A Modern Approach》是一部人工智能的综合概论,从搜索、逻辑到规划、学习、语言和机器人,机器学习只是其中一部分;在这类课程的统计学习部分,ISLP 能提供深入得多的实践训练。Szeliski 的《Computer Vision: Algorithms and Applications》是一本专门教材,ISLP 第10章关于卷积网络的内容是学习其深度学习部分的有益准备。
如何使用本书
本书适合高年级本科生、统计学以外专业的研究生,以及掌握基础统计和一些 Python 的从业者。
实用的阅读计划:
- 核心顺序: 第2–6章构成基础(统计学习框架、回归、分类、重抽样和正则化),应按顺序阅读。
- 然后按兴趣选读: 非线性方法、树和支持向量机读第7–9章;深度学习读第10章;无监督学习读第12章。第11章和第13章适合生物统计、医学或任何需要同时进行大量检验的领域的读者。
- 做完每一个实验。 读完一章后在笔记本中运行该章实验,再用 ISLP 软件包中的另一个数据集重复分析。
- 利用在线课程观看视频讲座,并查看勘误页面。
读完 ISLP 后想学习理论的读者,应继续阅读数学性更强的教材。
作者的配套课程
Stanford Online 的 Statistical Learning with Python(SOHS-YSTATSLEARNINGP,斯坦福人文与科学学院)为通读 ISLP 提供了一条有结构的途径。这是一门完全在线、按需学习的 edX 课程,不是校内课堂,课程页面未列出开课学期。本书是该在线课程的配套教材。讲座覆盖2023年 Python 版的全部内容,包括回归与分类、重抽样、正则化、非线性方法、树、支持向量机、深度学习、生存模型、多重检验以及部分无监督方法。课程按主题组织,没有给出对应的章节编号、页码范围或每周阅读安排。
课程中的计算全部使用 Python,教程从 Python 基础逐步过渡到各章方法的实现,与本书从第2章 Python 实验开始的递进相对应。课程页面未写明正式的先修要求;本页开头列出的先修知识是本指南的阅读建议。
作者还开设了一门平行的 R 课程,对应 R 版第二版。它共用各章讲座,但计算环节因语言而不同。使用 R 的读者可以跟随同样的讲座,但应搭配 R 版第二版的实验,而不是 ISLP 的实验。
若要把课程与本书结合起来,可先观看某章的讲座并阅读 ISLP 的对应章节,然后自己完成该章的 Python 实验,再观看课程的计算环节。
聚焦阅读与版本边界
以下试做使用本站配套指南的原创题,请先打开题设,核对条件和数据。
阅读路线: 在2023年 Python 版中,先读统计学习、分类和重抽样方法,再读模型选择讨论的部分内容。
继续前试做: 为同一重复设备表写两种验证问题,各选划分单位。检查标准: 留一行不等于留出产生它的设备。
版本与访问: 此处所列版本(Springer,2023,ISBN 9783031387463)即 Python 版,也正是上文 Stanford Online 课程所覆盖的版本,区别于 R 版。作者网站把它与 R 版第一版(2013)和第二版(2021)分开列出,且未给出版次编号,因此应引作2023年 Python 版。作者提供免费 PDF;运行实验笔记本时,留意文档列出的软件包版本。
