数学基础资源专题¶
Mathematics for Machine Learning Resources
🧭 学习路径¶
| 主题 | 数据科学中的应用 | 推荐时间 |
|---|---|---|
| 线性代数 | PCA、SVD、神经网络权重矩阵 | 2-3 周 |
| 微积分 | 梯度下降、反向传播、优化理论 | 2-3 周 |
| 概率论 | 贝叶斯推断、概率图模型、A/B 测试 | 3-4 周 |
| 统计学 | 假设检验、置信区间、回归分析 | 3-4 周 |
| 优化理论 | 凸优化、拉格朗日乘子、约束优化 | 2-3 周 |
数学不是"学完再开始",而是"用到什么学什么"。
📚 核心理论¶
线性代数¶
经典教材¶
| 书名 | 作者 | 难度 | 重点章节 |
|---|---|---|---|
| 《线性代数及其应用》 | Gilbert Strang | ⭐⭐⭐ | Ch1-6 全部 |
| 《Introduction to Linear Algebra》 | Gilbert Strang | ⭐⭐⭐⭐ | Ch1-5 |
| 《Linear Algebra Done Right》 | Sheldon Axler | ⭐⭐⭐⭐ | 理论深入 |
| 《数值线性代数》 | 北京大学 | ⭐⭐⭐⭐ | 算法实现 |
核心内容: - 向量和矩阵运算 - 行列式和逆矩阵 - 特征值和特征向量 - SVD 分解 - 主成分分析(PCA)
配套资源: - MIT 18.06 课程:链接 - 3Blue1Brown 可视化:B 站 - 浙江大学数值线代:链接
微积分¶
| 书名 | 作者 | 难度 | 重点内容 |
|---|---|---|---|
| 《微积分》 | James Stewart | ⭐⭐⭐⭐ | Ch1-14 |
| 《Calculus》 | James Stewart | ⭐⭐⭐⭐ | 全章节 |
| 《高等数学》 | 同济大学 | ⭐⭐⭐ | 国内经典 |
核心内容: - 极限与连续 - 导数与微分 - 积分(不定积分、定积分) - 多元函数微分 - 梯度与方向导数 - 拉格朗日乘数法
配套资源: - 3Blue1Brown 微积分系列:B 站 - MIT 18.01/18.02: 链接
概率论与数理统计¶
| 书名 | 作者 | 难度 | 特点 |
|---|---|---|---|
| 《概率论与数理统计》 | 陈希孺 | ⭐⭐⭐ | 中文经典 |
| 《概率导论》 | Dimitri P. Bertsekas | ⭐⭐⭐⭐ | MIT 教材 |
| 《统计推断》 | Casella & Berger | ⭐⭐⭐⭐⭐ | 统计圣经 |
| 《All of Statistics》 | Larry Wasserman | ⭐⭐⭐⭐ | 计算机科学视角 |
核心内容: - 概率基础与条件概率 - 随机变量与分布 - 常见分布(正态、二项、泊松、指数) - 期望、方差、协方差 - 大数定律与中心极限定理 - 参数估计 - 假设检验
配套资源: - Khan Academy 概率统计:链接 - 浙江大学概率论:链接
🎓 在线课程¶
系统性课程¶
| 课程名称 | 平台 | 讲师 | 链接 |
|---|---|---|---|
| 人工智能数学基础 | 学银在线 | 浙江大学 | 链接 |
| CS182: Introduction to Machine Learning | ShanghaiTech | - | 链接 |
| 应用数学方向暑期课 | 清华大学 | - | 链接 |
专项课程¶
| 课程 | 平台 | 难度 | 链接 |
|---|---|---|---|
| Linear Algebra | MIT OCW | ⭐⭐⭐⭐ | 链接 |
| Multivariable Calculus | MIT OCW | ⭐⭐⭐⭐ | 链接 |
| Probability | Harvard | ⭐⭐⭐⭐ | 链接 |
🛠️ 实践工具¶
Python 库¶
线性代数¶
import numpy as np
# 矩阵运算
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
# 矩阵乘法
C = np.dot(A, B)
# 特征值分解
eigenvalues, eigenvectors = np.linalg.eig(A)
# SVD 分解
U, S, Vt = np.linalg.svd(A)
# 逆矩阵
A_inv = np.linalg.inv(A)
# 行列式
det_A = np.linalg.det(A)
微积分¶
from sympy import symbols, diff, integrate, limit
x = symbols('x')
# 求导
f = x**2 + 2*x + 1
derivative = diff(f, x)
# 积分
integral = integrate(f, x)
# 极限
lim = limit(1/x, x, 0)
概率统计¶
from scipy import stats
import numpy as np
# 正态分布
normal = stats.norm(loc=0, scale=1)
pdf_value = normal.pdf(0) # 概率密度
cdf_value = normal.cdf(0) # 累积分布
# 假设检验
t_stat, p_value = stats.ttest_1samp(data, popmean=0)
# 卡方检验
chi2, p, dof, expected = stats.chi2_contingency(observed)
# 生成随机样本
samples = np.random.normal(0, 1, 1000)
📖 应用场景¶
机器学习中的数学¶
线性代数应用¶
# PCA 降维
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)
# 解释方差比
print(f"Explained variance ratio: {pca.explained_variance_ratio_}")
微积分应用¶
# 梯度下降
def gradient_descent(X, y, learning_rate=0.01, n_iterations=1000):
m, n = X.shape
theta = np.zeros(n)
for _ in range(n_iterations):
gradient = (1/m) * X.T.dot(X.dot(theta) - y)
theta -= learning_rate * gradient
return theta
概率应用¶
# 贝叶斯定理应用
def bayes_theorem(prior, likelihood, evidence):
"""
P(A|B) = P(B|A) * P(A) / P(B)
"""
posterior = (likelihood * prior) / evidence
return posterior
🔍 常见问题¶
Q1: 线性代数在机器学习中有什么用?¶
A: - 数据表示: 数据集用矩阵表示 - 降维: PCA 基于特征值分解 - 推荐系统: 矩阵分解 - 深度学习: 神经网络本质是矩阵运算
Q2: 微积分对理解机器学习重要吗?¶
A: 非常重要! - 梯度下降: 基于导数 - 反向传播: 链式法则 - 优化理论: 凸函数、极值
Q3: 概率论哪里最重要?¶
A: - 贝叶斯方法: 先验、后验 - 分布理解: 正态、泊松等 - 统计推断: 假设检验、置信区间 - 评估指标: 准确率、精确率的概率解释
📋 学习路径¶
graph TB
A[高中数学基础] --> B[线性代数]
A --> C[微积分]
A --> D[概率基础]
B --> E[矩阵运算]
B --> F[特征值分解]
B --> G[SVD]
C --> H[导数与梯度]
C --> I[多元微积分]
C --> J[优化方法]
D --> K[常见分布]
D --> L[统计推断]
D --> M[贝叶斯]
E --> N[PCA 降维]
F --> N
G --> N
H --> O[梯度下降]
I --> O
J --> O
K --> P[模型评估]
L --> P
M --> P
时间规划¶
| 阶段 | 内容 | 时长 |
|---|---|---|
| 入门 | 线代基础 + 微积分基础 | 4-6 周 |
| 进阶 | 概率统计 + 优化方法 | 4-6 周 |
| 应用 | ML 中的数学应用 | 4-6 周 |
🔗 更多资源¶
教材与讲义¶
- Mathematics for Machine Learning - 免费在线书
- CS229 Lecture Notes - 斯坦福 ML 数学基础
- 3Blue1Brown - 数学可视化
在线练习¶
- Khan Academy - 交互式练习
- MIT OCW - 习题与解答
最后更新: 2026-06-01