主题
AI 数学基础
AI 和机器学习背后的数学原理,不需要精通,但了解核心概念大有裨益。
需要学哪些数学
优先级 P0(必须懂):
- 线性代数(矩阵、向量)
- 概率统计(分布、贝叶斯)
优先级 P1(很重要):
- 微积分(梯度、导数)
优先级 P2(深入了解时再学):
- 优化理论
- 信息论线性代数
为什么需要线性代数
神经网络的计算本质上是矩阵运算:
python
# 前向传播
output = sigmoid(W @ X + b)
# ↑↑↑↑
# 矩阵乘法
# W: 权重矩阵
# X: 输入向量
# b: 偏置核心概念
向量(Vector):一维数组,表示一个点或方向
python
import numpy as np
v = np.array([1, 2, 3]) # 3 维向量矩阵(Matrix):二维数组,表示线性变换
python
M = np.array([
[1, 2],
[3, 4]
]) # 2x2 矩阵矩阵乘法:神经网络的核心运算
python
# [2x3] 矩阵 × [3x1] 向量 = [2x1] 向量
W = np.array([[1,2,3], [4,5,6]]) # 2x3
X = np.array([1, 2, 3]) # 3x1
result = W @ X # 2x1转置(Transpose):行变列,列变行
python
A = np.array([[1,2], [3,4]])
A.T # [[1,3], [2,4]]在 AI 中的应用
| 概念 | AI 中的应用 |
|---|---|
| 向量 | 表示词(Word Embedding)、图像 |
| 矩阵乘法 | 神经网络层与层之间的计算 |
| 特征值分解 | PCA 降维 |
| 奇异值分解(SVD) | 推荐系统 |
概率统计
为什么需要概率统计
- 机器学习模型输出的是概率(不是绝对答案)
- 训练目标是最小化期望损失(统计概念)
- 贝叶斯定理是 Naive Bayes 等算法的基础
核心概念
随机变量:取值不确定的变量
概率分布:
正态分布(Gaussian):自然界最常见
伯努利分布:0/1 结果(抛硬币)
泊松分布:单位时间内的事件数条件概率:
P(A|B) = 在 B 发生的条件下,A 发生的概率
例:P(垃圾邮件 | 包含"中奖") = ?贝叶斯定理:
P(A|B) = P(B|A) * P(A) / P(B)
应用:
- 垃圾邮件过滤
- 医疗诊断
- 机器学习(朴素贝叶斯分类器)期望(Expectation):随机变量的平均值
E[X] = Σ x * P(x)
在 AI 中:损失函数的期望 = 模型的平均表现方差(Variance):数据的离散程度
方差大 → 数据分散 → 模型不稳定
方差小 → 数据集中 → 模型稳定在 AI 中的应用
| 概念 | AI 中的应用 |
|---|---|
| 最大似然估计(MLE) | 模型训练的指导思想 |
| 贝叶斯定理 | Naive Bayes 分类器 |
| 期望 | 损失函数 |
| 方差 | 过拟合/欠拟合分析 |
微积分
为什么需要微积分
训练神经网络 = 找损失函数的最小值
损失函数 L(w)
目标:找到 w,使 L(w) 最小
方法:梯度下降
w_new = w_old - lr * dL/dw
↑↑↑↑↑
梯度(导数)核心概念
导数(Derivative):函数在某点的变化率
f'(x) = lim(h→0) [f(x+h) - f(x)] / h
几何意义:切线的斜率偏导数(Partial Derivative):多变量函数对某一个变量的导数
f(x, y) = x² + y²
∂f/∂x = 2x
∂f/∂y = 2y梯度(Gradient):所有偏导数的向量
∇f = [∂f/∂x, ∂f/∂y, ...]
方向:函数值增加最快的方向
负梯度方向:函数值减少最快的方向(梯度下降)链式法则(Chain Rule):反向传播的基础
y = f(u), u = g(x)
dy/dx = dy/du * du/dx
在神经网络中:每层梯度 = 后面层的梯度 × 当前层的导数梯度下降
python
# 简化的梯度下降
def gradient_descent(w, lr, epochs):
for i in range(epochs):
grad = compute_gradient(w) # 计算梯度
w = w - lr * grad # 沿负梯度方向更新
return w优化理论(简要)
梯度下降的变体
| 优化器 | 特点 |
|---|---|
| SGD | 基础,慢 |
| SGD with Momentum | 加入"惯性",加速收敛 |
| Adam | 自适应学习率,默认选择 |
| AdamW | Adam + 权重衰减(推荐) |
学习率(Learning Rate)
学习率太大 → 震荡,不收敛
学习率太小 → 收敛慢
解决方案:
- 学习率调度(逐渐减小)
- 预热(Warmup)信息论(简要)
熵(Entropy)
衡量"不确定性":
熵越大 → 越不确定 → 信息量越大
应用:决策树的特征选择交叉熵(Cross Entropy)
分类问题最常用的损失函数:
python
# 二分类交叉熵
loss = -[y * log(p) + (1-y) * log(1-p)]
# y: 真实标签(0 或 1)
# p: 预测概率学习建议
不需要成为数学家!
目标:理解概念,知道"为什么"
方法:结合代码实践,遇到不懂的再查
推荐:
- 3Blue1Brown(可视化讲解)
- Khan Academy(系统学习)
- 边学边用,不要死磕证明