数值计算与机器学习的数学基础
这门课学什么
这门课讲机器学习要用的数学:线性代数与矩阵分解、向量微积分、概率与蒙特卡洛、优化。2020 版官网公开幻灯片、Colab 笔记本和作业。部分单元有短视频讲解。
内容摘要
这门课补的是学机器学习之前必须具备的数学。它本身不是机器学习课,目标是让学生能读懂后续课程里的矩阵推导、梯度和概率模型。主讲人瑞安·亚当斯是贝叶斯优化和概率机器学习方向的研究者。教材用 Deisenroth 等人合著的《机器学习中的数学》(MML),可免费在线阅读。
课程分 4 个单元。线性代数占前半学期:向量与矩阵、高斯消元、群与向量空间、基与线性映射、范数与内积、正交投影、特征分解、奇异值分解(SVD),期中考试在这个单元之后。向量微积分讲单变量和多变量求导,重点解释梯度为什么是上升最快的方向。概率单元讲随机变量、独立性、极限定理、多元高斯分布、蒙特卡洛估计和信息论。优化单元讲无约束优化、拉格朗日乘子和凸优化。
每周有 1 次习题课,会讲新内容,例如 Cholesky 分解、QR 与 LU 分解、逆变换采样、拒绝采样和重要性采样。作业共 11 次,用 LaTeX 写推导,并在 Colab 里写 Python 代码。作业用到 MNIST 手写数字、人脸图像和莎士比亚文本这类真实数据。成绩由作业、期中和期末各占一部分,最低一次作业不计分。
这一学期遇到新冠停课,后半学期改为线上。老师把向量微积分和概率单元拆成多段 10 分钟左右的短视频。这些视频和课上配套的 Colab 笔记本都挂在官网上,便于自学者按讲次跟读。
学完后,你能熟练使用矩阵分解、多元求导和概率计算工具。你能看懂机器学习教材里的大部分推导,也能用蒙特卡洛方法估计期望。建议在学 COS 324 这类机器学习课之前先学这门课。
为什么值得学
课程补的正是自学者进入机器学习前最常缺的数学。每个概念都配可运行的笔记本。
课程信息
- 学校
- 普林斯顿(Princeton)
- 课程号
- COS 302 / SML 305
- 讲师
- 瑞安·亚当斯(Ryan Adams)
- 学期
- Spring 2020
- 平台
- 课程官网
- 费用
- 免费
- 难度
- 入门
- 先修
- 需要单变量微积分和基础编程。
- 材料
- 视频、幻灯片、代码、作业
- 许可证
- 未注明
课程大纲 · 共 23 节
大纲依据:Spring 2020 课程表(Schedule 段,23 次讲课;习题课内容并入相邻讲次)(查看原始页面 ↗)
- 1课程介绍Course Introduction
说明课程目标和全局视角:机器学习的核心是用数学工具找到最佳拟合。
- 2向量与矩阵Vectors and Matrices
用颜色、声音和人脸数据演示向量表示,讲矩阵运算。习题课补充高斯消元和行阶梯形。
- 3求解线性方程组(续)Solving linear systems, continued
讲矩阵求逆、超定与欠定方程组,并简介迭代解法。
- 4群与向量空间Groups and vector spaces
讲群、向量空间和子空间的定义。习题课补充线性无关、秩和基。
- 5基的概念(续)Basis concepts, continued
讲线性映射和基变换。
- 6范数与内积Norms and inner products
讲像与核、向量范数、内积和正定矩阵。习题课补充正交基和正交投影。
- 7投影(续)Projections, continued
讲 Gram–Schmidt 正交化。
- 8特征向量与特征值Eigenvectors and eigenvalues
讲行列式、迹、特征值和特征向量。习题课补充特征分解和 Cholesky 分解。
- 9奇异值分解Singular value decomposition
讲 SVD 的直观含义和计算方法。
- 10奇异值分解(续)Singular value decomposition, continued
讲用 SVD 做低秩矩阵近似及其应用。习题课补充 QR 和 LU 分解。
- 11补课与复习Catchup and Review
复习线性代数单元,讲解作业难题。
- 12期中考试Midterm Exam
覆盖线性代数单元;因疫情改为限时居家考试。
- 13求导Differentiation
说明求导对机器学习的作用,复习导数和偏导数。
- 14多元求导Multivariate differentiation
把导数理解为最佳仿射近似,解释梯度方向。习题课补充对矩阵求导和常用恒等式。
- 15随机变量(一)Random variables (1)
讲概率空间、随机变量、概率密度和概率质量函数。
- 16随机变量(二)Random variables (2)
讲常用分布和联合分布。习题课补充伪随机数和逆变换采样。
- 17独立与不独立的随机变量Independent and dependent random variables
讲独立性、条件分布和随机变量之间的依赖。
- 18随机变量的汇总Aggregating random variables
讲基本概率不等式和极限定理。习题课补充变量替换和一元高斯分布。
- 19多元高斯分布Multivariate Gaussian distributions
讲多元高斯分布的形式和性质。
- 20蒙特卡洛估计Monte Carlo estimation
把积分写成期望,证明估计无偏并分析方差。习题课补充拒绝采样和重要性采样。
- 21信息论Information theory
讲熵、交叉熵和 KL 散度的基本概念。
- 22优化基础Optimization basics
讲无约束优化和梯度下降。习题课补充约束优化和拉格朗日乘子。
- 23凸优化Convex optimization
讲凸优化问题和线性规划。