数据分析、信号处理和机器学习中的矩阵方法
这门课学什么
Strang 用线性代数解决数据问题。内容包括 SVD、低秩近似、PCA、最小二乘、随机算法、梯度下降和深度网络的结构。课程配套他的书 Linear Algebra and Learning from Data。
内容摘要
这门课是 Gilbert Strang 把线性代数用到数据科学上的一门课。主线是:先把矩阵分解讲透,再用这些工具解决最小二乘、低秩近似、优化和深度学习问题。课程对应他的教材《Linear Algebra and Learning from Data》,前置课是 18.06 线性代数。
课程分 4 个阶段。第 1 阶段(第 1–8 讲)复习并深化线性代数:列空间、矩阵分解、正交矩阵、特征值、正定矩阵、奇异值分解(SVD)和矩阵范数,重点是 Eckart–Young 定理给出的最佳低秩近似。第 2 阶段(第 9–19 讲)讲计算与扰动:最小二乘的 4 种解法、病态问题、随机化矩阵乘法、低秩修正、矩阵对参数的导数和鞍点。第 3 阶段(第 20–27 讲)讲概率与优化:基本不等式、梯度下降、动量加速、线性规划、随机梯度下降,然后讲神经网络结构和反向传播。第 4 阶段(第 30–36 讲)讲专题:矩阵补全、循环矩阵与傅里叶矩阵、卷积网络、距离矩阵、图聚类,最后由 Alan Edelman 介绍 Julia 语言。
校内学生每周有习题集,另有课堂实验和期末项目。OCW 按讲次给出与教材章节对应的习题,适合边看视频边做。
学完后,你能用矩阵语言看懂主成分分析、推荐系统、梯度下降和卷积网络背后的计算,也能判断一个数值问题是否病态、该选哪种分解。
Strang 讲课节奏从容,板书清楚,喜欢从一个小例子出发引出一般结论。适合已经学过一遍线性代数、想看它怎样用在机器学习上的人。
为什么值得学
这是 18.06 之后学机器学习数学的直接续篇。讲师是全球最知名的线性代数老师。
课程信息
- 学校
- 麻省理工(MIT)
- 课程号
- 18.065
- 讲师
- 吉尔伯特·斯特朗(Gilbert Strang)
- 学期
- Spring 2018
- 平台
- MIT OpenCourseWare
- 费用
- 免费
- 难度
- 中级
- 学时
- 36 段视频
- 先修
- 学过线性代数(建议先学 18.06)。
- 材料
- 视频、作业、教材
- 许可证
- CC BY-NC-SA 4.0
课程大纲 · 共 17 节
大纲依据:Spring 2018 OCW 讲座视频列表(34 段,按主题合并为 17 条)(查看原始页面 ↗)
- 1–2列空间;矩阵乘法与分解The Column Space of A Contains All Vectors Ax; Multiplying and Factoring Matrices
从列的角度理解 Ax,再把 A=CR、LU、QR 这些分解看作“列乘行”的和。
- 3–5正交列、特征值与特征向量、正定与半正定矩阵Orthonormal Columns; Eigenvalues and Eigenvectors; Positive Definite and Semidefinite Matrices
讲正交矩阵的性质、特征分解,以及判断正定矩阵的几种等价方法。
- 6–7奇异值分解;Eckart–Young 定理Singular Value Decomposition (SVD); Eckart-Young: The Closest Rank k Matrix to A
推导 SVD,并证明截断 SVD 给出最接近 A 的秩 k 矩阵,联系到主成分分析。
- 8向量与矩阵的范数Norms of Vectors and Matrices
比较 L1、L2、无穷范数和几种矩阵范数,说明它们怎样影响最优解的形态。
- 9–11最小二乘的 4 种解法;Ax=b 的难点;约束下的最小范数解Four Ways to Solve Least Squares Problems; Survey of Difficulties with Ax = b; Minimizing ‖x‖ Subject to Ax = b
用伪逆、正规方程、QR 和正则化解最小二乘,并讨论病态和欠定问题。
- 12–14计算特征值与奇异值;随机化矩阵乘法;低秩修正Computing Eigenvalues and Singular Values; Randomized Matrix Multiplication; Low Rank Changes in A and Its Inverse
讲数值计算特征值的方法、用随机采样近似大矩阵乘积,以及低秩更新时逆矩阵怎样变化。
- 15–17依赖参数的矩阵;逆矩阵与奇异值的导数;快速衰减的奇异值Matrices A(t) Depending on t; Derivatives of Inverse and Singular Values; Rapidly Decreasing Singular Values
计算矩阵随参数变化时逆、特征值和奇异值的导数,并解释很多数据矩阵为什么近似低秩。
- 18–19分解中的参数计数与鞍点;极大极小原理Counting Parameters in SVD, LU, QR, Saddle Points; Saddle Points Continued, Maxmin Principle
数清各种分解的自由参数,再用瑞利商和极大极小原理分析鞍点。
- 20概率的定义与不等式Definitions and Inequalities
复习均值、方差和协方差,讲 Markov 和 Chebyshev 不等式。
- 21–23逐步最小化函数;梯度下降;用动量加速梯度下降Minimizing a Function Step by Step; Gradient Descent: Downhill to a Minimum; Accelerating Gradient Descent (Use Momentum)
从牛顿法讲到梯度下降,分析条件数对收敛速度的影响,再引入动量和 Nesterov 加速。
- 24线性规划与双人博弈Linear Programming and Two-Person Games
讲线性规划的对偶性,并用它分析双人零和博弈。
- 25随机梯度下降Stochastic Gradient Descent
说明每次只用一小批样本求梯度的好处,以及它在训练早期快、后期慢的特点。
- 26–27深度学习中神经网络的结构;反向传播求偏导Structure of Neural Nets for Deep Learning; Backpropagation: Find Partial Derivatives
把神经网络写成线性映射与 ReLU 的复合,再用链式法则和计算图推导反向传播。
- 30–31秩一矩阵补全与循环矩阵;循环矩阵的特征向量:傅里叶矩阵Completing a Rank-One Matrix, Circulants!; Eigenvectors of Circulant Matrices: Fourier Matrix
从缺失元素恢复低秩矩阵,再说明循环矩阵都由傅里叶矩阵对角化。
- 32–33卷积神经网络与卷积定理;神经网络与学习函数ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule; Neural Nets and the Learning Function
用卷积定理解释卷积层,再讨论神经网络作为分段线性函数的表达能力。
- 34–35距离矩阵与 Procrustes 问题;图中的聚类Distance Matrices, Procrustes Problem; Finding Clusters in Graphs
从点间距离恢复坐标、对齐两组数据,再用图拉普拉斯矩阵做谱聚类。
- 36Alan Edelman 介绍 Julia 语言Alan Edelman and Julia Language
Edelman 演示 Julia 在数值线性代数和自动微分上的用法。