加量批注
书上的公式一脸懵逼,幸亏有AI,最下面是子母、符号表
例如线性回归问题中,求偏导遇到 e(i)e^{(i)}e(i) e的括号i次方,一脸闷逼。
其实 基数(底数)并不是 eee,而是代表第 iii 个样本(Sample Index)。
在线性回归(Linear Regression)中,使用 均方误差(MSE)作为损失函数 L(w,b)L(\boldsymbol{w}, b)L(w,b):
L(w,b)=12n∑i=1n(y^(i)−y(i))2=12n∑i=1n(wTx(i)+b−y(i))2L(\boldsymbol{w}, b) = \frac{1}{2n} \sum_{i=1}^{n} \left( \hat{y}^{(i)} - y^{(i)} \right)^2 = \frac{1}{2n} \sum_{i=1}^{n} \left( \boldsymbol{w}^T \boldsymbol{x}^{(i)} + b - y^{(i)} \right)^2L(w,b)=2n1i=1∑n(y^(i)−y(i))2=2n1i=1∑n(wTx(i)+b−y(i))2
这里的符号含义分别是:
- x(i)\boldsymbol{x}^{(i)}x(i):第 iii 个输入样本的特征向量;
- y(i)y^{(i)}y(i):第 iii 个样本的真实标签(真实值);
- y^(i)\hat{y}^{(i)}y^(i):模型对第 iii 个样本的预测值;
- nnn:样本总数(batch size)。
当你对权重 wjw_jwj 求偏导数(根据链式法则)时,会得到:
∂L∂wj=1n∑i=1n(y^(i)−y(i))⏟预测误差⋅xj(i)⏟第 i 个样本的第 j 个特征\frac{\partial L}{\partial w_j} = \frac{1}{n} \sum_{i=1}^{n} \underbrace{\left( \hat{y}^{(i)} - y^{(i)} \right)}{\text{预测误差}} \cdot \underbrace{x_j^{(i)}}{\text{第 } i \text{ 个样本的第 } j \text{ 个特征}}∂wj∂L=n1i=1∑n预测误差 (y^(i)−y(i))⋅第 i 个样本的第 j 个特征 xj(i)
AI 和深度学习领域存在一个天然的"跨界鸿沟":写教程和教材的人大部分是计算机、数学或统计学背景,他们把很多符号约定(Notation Standard)视为理所当然的"常识",默认读者都已经掌握,因此很少在文中专门做说明。但对初学者来说,这些符号就像没有密码本的暗号,极其影响学习节奏。
面对这种"公式不给解释、符号莫名其妙"的情况,给你几点非常实用的应对策略和解决办法:
一、 建立"符号避坑清单"(快捷查阅)
深度学习教材里有几个最容易让人困惑的"潜规则",提前建立认知能帮你规避 80% 的理解障碍:
-
上标带括号 (i)(i)(i) vs 不带括号 iii:
- 带括号 x(i)x^{(i)}x(i):代表第 iii 个样本(如第 5 条记录)。
- 不带括号 xjx_jxj 或 x2x^2x2:代表第 jjj 个特征维度 (如第 2 列特征),或者数学平方。
-
粗体 vs 细体:
- 粗体小写 x\mathbf{x}x:通常代表向量(Vector,包含多个特征值)。
- 粗体大写 X\mathbf{X}X:通常代表矩阵(Matrix,包含整张表格/批量数据)。
- 细体 xxx:通常代表单个标量(Real number)。
-
帽子符号 y^\hat{y}y^:
- 带有"帽子"(Hat)的符号代表模型的预测值 (Prediction/Estimate),而没有帽子 yyy 代表真实标签(Ground Truth)。
二、 遇到看懂的公式时,用"拆解三步法"
当你再次遇到一个没有解释的复杂公式时,按照以下三步拆解:
-
先查符号定义,忽略计算逻辑:
-
拿出一张纸,把公式里的每一个字母单独列出来(如 w,b,x(i),η,∑\boldsymbol{w}, b, x^{(i)}, \eta, \sumw,b,x(i),η,∑)。
-
问自己:"这个字母代表的是特征、权重、样本数量,还是学习率?"
-
-
用"单样本"替代"连加符号 ∑\sum∑":
-
连加符号 ∑i=1n\sum_{i=1}^n∑i=1n 和小批量更新会让公式看起来很长。
-
先去掉 ∑\sum∑ 和 1n\frac{1}{n}n1 ,只看单个样本怎么计算。例如先看:误差=y^−y\text{误差} = \hat{y} - y误差=y^−y,再看更新公式,就会发现本质只是"原参数 - 学习率 × 误差 × 输入"。
-
-
带入具体数字画图(维数检验):
- 假设只有 2 个样本,每个样本 1 个特征,拿笔带入数字算一遍。只要把数据维度(如矩阵是 2×32 \times 32×3 还是 3×13 \times 13×1)搞清楚,公式的几何含义就清晰了。
三、 推荐对初学者更友好的学习资源
如果你当前看的教材对数学推导很不友好,建议搭配以下资源交叉参考:
-
开源经典教材:《动手学深度学习》(Dive into Deep Learning / D2L)
-
这本书在第一章专门提供了 数学基础与符号表示(Notation) 的小节,对所有的向量、矩阵、样本索引符号做了极详细的统一说明。
-
它的特点是:每个公式后面紧跟着对应的 PyTorch / Python 代码实现 ,看不懂数学表达式时直接看 Python 数组切片代码(如
x[i]),往往一目了然。
-
-
可视化与 Intuition 教程:3Blue1Brown(YouTube / B站)
- 搜索《线性代数的本质》和《神经网络》系列动画。他用极其直观的空间几何变化解释了矩阵乘法、偏导数和梯度下降,完全避开了枯燥的公式堆砌。
四、 善用 AI 作为你的"符号翻译官"
以后在学习中再遇到看不懂的公式或代码段,不用自己死磕。你可以直接像刚才那样提问,甚至可以直接拍照或把公式截图/复制发出来:
高效提问模板:
"我在看 某主题,如:逻辑回归 时遇到了这个公式:粘贴公式或描述,请帮我:
拆解里面每个字母和上标/下标的具体含义(特别是代表样本还是特征);
用最通俗的语言告诉我这个公式在干什么;
用一段简单的 Python 代码表达这个公式。"
保持这种逢山开路、遇到不懂符号立刻搞清本质的习惯,越往后学你会发现AI的数学语言其实非常固定,后面的障碍就会越来越少了!
一、 常见希腊字母(公式中的常见变量)
深度学习中常常用希腊字母表示超参数、损失函数、权重或分布。
| 希腊字母 | 名称 | 国际音标 (IPA) | 深度学习/机器学习中的常见含义 |
|---|---|---|---|
| α\alphaα | Alpha | /ˈælfə/ | 学习率(Learning Rate)、拉格朗日乘子 |
| β\betaβ | Beta | /ˈbeɪtə/ 或 /ˈbiːtə/ | Momentum 动量超参数、正则化系数 |
| γ\gammaγ | Gamma | /ˈɡæmə/ | Batch Normalization 中的缩放参数、折扣因子 |
| δ\deltaδ | Delta | /ˈdeltə/ | 误差项(如反向传播中的 δ(l)\delta^{(l)}δ(l))、微小增量 |
| ϵ\epsilonϵ | Epsilon | /ˈepsɪlɒn/ | 极小值(防止除零 10−810^{-8}10−8)、重参数化技巧中的随机噪声 |
| η\etaη | Eta | /ˈiːtə/ 或 /ˈeɪtə/ | 学习率(Learning Rate,在西瓜书/D2L中常用) |
| θ\thetaθ | Theta | /ˈθeɪtə/ | 模型的所有参数集合(Weights + Biases 的统称) |
| λ\lambdaλ | Lambda | /ˈlæmdə/ | 正则化惩罚系数(L1/L2 Regularization) |
| μ\muμ | Mu | /mjuː/ | 均值(Mean,如高斯分布的均值) |
| σ\sigmaσ | Sigma | /ˈsɪɡmə/ | Sigmoid 激活函数、标准差(Standard Deviation) |
| τ\tauτ | Tau | /taʊ/ | 软更新系数、温度系数(Temperature parameter) |
| ϕ,Φ\phi, \Phiϕ,Φ | Phi | /faɪ/ | 特征映射函数(Kernel 方法中将输入映射到高维) |
| χ\chiχ | Chi | /kaɪ/ | 样本空间/输入空间(如 X\mathcal{X}X) |
| ψ,Ψ\psi, \Psiψ,Ψ | Psi | /saɪ/ | 势函数、网络参数 |
| ω,Ω\omega, \Omegaω,Ω | Omega | /oʊˈmeɡə/ | 结构风险/正则化项(如 Ω(w)\Omega(w)Ω(w)) |
二、 字母上标与下标符号(最具误导性的约定)
| 符号形式 | 读法/含义描述 | 实际代表含义 | 易错提示 |
|---|---|---|---|
| x(i)\mathbf{x}^{(i)}x(i) | xxx upper iii in parenthesis | 第 iii 个数据样本 | 不是 xxx 的 iii 次方! |
| xjx_jxj | xxx sub jjj | 某个样本的第 jjj 个特征维度 | 代表向量里的第 jjj 个数字 |
| xj(i)x_j^{(i)}xj(i) | xxx sub jjj upper iii | 第 iii 个样本的第 jjj 个特征 | 先看样本,再看维度 |
| wT\mathbf{w}^TwT | www transpose | 权重向量 w\mathbf{w}w 的转置 | 用于计算内积 wTx\mathbf{w}^T\mathbf{x}wTx |
| y^\hat{y}y^ | yyy hat | 模型的预测值 (Prediction) | 带有"帽子"都代表估计/预测值 |
| y∗y^*y∗ / yyy | yyy star / yyy | 真实标签 (Ground Truth) | 实际的数据标准答案 |
| w∗w^*w∗ | www star | 最优参数 (Optimal Weight) | 损失函数极小化时的解 |
| D\mathcal{D}D | Calligraphic D | 数据集 (Dataset) | 包含所有训练样本的集合 |
| L\mathcal{L}L / LLL | Loss / Cost | 损失函数 (Loss Function) | 单个样本或批量的误差 |
三、 向量、矩阵与字体排版约定
深度学习教材对字体样式有严格的约定,通过看字形就能判断它是单个数字还是矩阵:
| 字体格式 | 示例 | 含义名称 | 说明/举例 |
|---|---|---|---|
| 小写斜体 | x,y,w,bx, y, w, bx,y,w,b | 标量 (Scalar) | 单个实数,如 b=0.5b = 0.5b=0.5 |
| 小写粗体/粗斜体 | x,w\mathbf{x}, \mathbf{w}x,w | 向量 (Vector) | 一列或一行数字,如列向量 x∈Rd\mathbf{x} \in \mathbb{R}^dx∈Rd |
| 大写粗体 | X,W\mathbf{X}, \mathbf{W}X,W | 矩阵 (Matrix) | 二维数据表格,如输入批量 X∈Rn×d\mathbf{X} \in \mathbb{R}^{n \times d}X∈Rn×d |
| 花体大写 | X,Y\mathcal{X}, \mathcal{Y}X,Y | 空间/集合 (Set/Space) | 样本空间、标签空间 |
| 黑板粗体 | R,E\mathbb{R}, \mathbb{E}R,E | 数集/算子 | R\mathbb{R}R 代表实数集,E\mathbb{E}E 代表期望值 (Expectation) |
四、 常用数学运算与算子符号
| 符号 | 读法 / 名称 | 深度学习中的含义与作用 |
|---|---|---|
| ∇\nabla∇ | Nabla / Gradient /ˈnæblə/ | 梯度算子 ,∇L\nabla L∇L 代表损失函数对参数的梯度 |
| ∂\partial∂ | Partial / Partial d /ˈpɑːrʃl/ | 偏导数 ,如 ∂L∂w\frac{\partial L}{\partial w}∂w∂L 代表对特定参数求导 |
| ∑i=1n\sum_{i=1}^n∑i=1n | Sigma / Summation | 连加 ,遍历第 111 到第 nnn 个样本求和 |
| ∏i=1n\prod_{i=1}^n∏i=1n | Pi / Product | 连乘,如极大似然估计中计算概率积 |
| argminθ\arg\min_\thetaargminθ | Argmin | 使目标函数达到最小值的参数值 θ\thetaθ |
| ∈\in∈ | In / Belongs to | 属于,如 x∈Rd\mathbf{x} \in \mathbb{R}^dx∈Rd(特征向量属于 ddd 维实数空间) |
| ⊙\odot⊙ / ⊗\otimes⊗ | Hadamard product | 逐元素相乘(Element-wise product),即两个维度相同的矩阵对应位置直接相乘 |
| ∥x∥1\Vert{} \mathbf{x} \Vert{}_1∥x∥1 | L1 Norm | L1 范数:向量各元素绝对值之和(用于 L1 正则化/稀疏化) |
| ∥x∥2\Vert{} \mathbf{x} \Vert{}_2∥x∥2 | L2 Norm / Euclidean norm | L2 范数:模长/欧氏距离(用于 L2 正则化/权重衰减) |
💡 查阅与记忆小建议:
-
先看形态,再看位置 :拿到一个符号,粗体 是矩阵/向量,细体 是数字;上标带括号 是样本编号,下标是维度编号。
-
遇到算法推导时:可以随时把这张表放在手边,就像查字典一样,对着把公式里的变量名称还原成文字,逻辑就会顺畅很多