基础知识
最底下是参数与变量对应英语查询表,方便快速回忆
机器学习与深度学习
基本概念
泛化能力 (Generalization Ability)
模型在训练集外的数据上,保持良好性能(如准确率、误差等)的能力
训练误差 是模型在训练数据上的表现,泛化能力是模型对新数据的表现;
决策边界
特征空间中模型预测类别发生变化的位置,将不同类别区分开的边界面
数学对象与计算基础
向量 (Vector)
通常指的是一维数组,也就是固定为一维的
张量 (Tensor)
多维数组的统称,可以看作是标量(0阶张量)、向量(1阶张量)、矩阵(2阶张量)在更高维度上的推广
广播机制
PyTorch和NumPy中允许不同形状的张量在运算中自动对齐维度,小张量会被“自动扩展”成跟大张量一样的形状,从而进行逐元素运算,但这个扩展是虚拟的、不会真的复制数据。满足以下两个规则即可触发:
- 两个张量维度相等
- 其中一个维度为 1
张量创建维度传参方式比较
两种写法效果完全一致,仅参数形式不同:
| 写法 | 说明 |
|---|---|
torch.ones(2, 5, 4) |
直接传入多个维度作为参数 |
torch.ones((2, 5, 4)) |
将维度打包成元组传入 |
矢量化(vectorization)
将逐元素的循环操作(如 for-loop)转化为整块的向量或矩阵运算,以便利用底层硬件(如 GPU、SIMD)的并行计算能力,从而加速程序执行。
模型结构与表达
仿射变换(Affine Transformation)
仿射变换是一种保留点、直线和平行关系的几何变换,对空间中的点进行旋转、缩放、剪切和平移,且保持直线性和平行性,但不一定保持角度或距离。
$$
\mathbf{y} = A\mathbf{x} + \mathbf{b}
$$
估计值
当我们的输入包含 $p$ 个特征时,我们将预测结果 $\hat{y}$(通常使用“尖角”符号表示 $\hat{}$ 的估计值)写成如下形式:
$$
\hat{y} = w_0 + w_1 x_1 + w_2 x_2 + \cdots + w_p x_p
$$
向量形式:
$$
\hat{y} = \mathbf{x}^\top \mathbf{w}
$$
- $w_0$:偏置项(bias),有时通过在 $\mathbf{x}$ 开头加一个常数 1 将其统一进向量计算中
全连接层(fully-connected layer)/ 稠密层(dense layer)
线性回归中,每个输入都与每个输出相连。
嵌入模型(Embedding)
指将高维、复杂或非结构化的数据(如文本、图像、语音等)
通过某种映射函数,转换成一个低维且稠密的向量表示(通常是实数向量)。
这种向量表示保留了原始数据的语义或特征信息,使得相似的数据在向量空间中距离较近,
从而便于计算机进行相似度比较、聚类、分类和其他机器学习任务。
阈值单元近似(Threshold Unit Approximation)
早期神经网络中,阈值单元(Threshold Unit)是一种模拟生物神经元“激发/不激发”行为的模型:
$$
f(x) =
\begin{cases}
1 & \text{if } x \geq \theta \
0 & \text{if } x < \theta
\end{cases}
$$
其中 $\theta$ 是阈值。
该函数是一个阶跃函数(Step Function)连续且不可导,无法用于梯度下降等优化方法。
模型训练与优化
超参数(Hyperparameter)
超参数是用于控制模型结构或训练过程的参数,不会在训练过程中被模型自动学习,需要训练开始前由用户设定,或通过搜索算法选定。
超参数影响训练过程和模型性能,不参与反向传播。
调参(hyperparameter tuning)
选择和优化超参数的过程,目标是找到一组能使模型在验证集上表现最好的超参数组合。
模型性能与泛化
训练误差(training error)
模型在训练数据集上计算得到的误差
泛化误差(generalization error)
模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。
泛化(generalization)
模型在未见过的新数据上表现良好的能力。
过拟合(overfitting)
模型在训练数据上拟合的比在潜在分布中更接近的现象。
正则化(regularization)
用于对抗过拟合
特征表示与编码
独热编码(one-hot encoding)
将类别变量转换为二进制向量的方式。对于有 $N$ 个不同取值的离散特征,每个取值用一个长度为 $N$ 的向量表示,其中只有该取值对应的索引为 1,其余为 0。
消除类别之间的“顺序性”或“大小关系”的假象(如果以索引方式0,1,2…模型会认为是一大类,有着先后顺序,one-hot对象距离都是1)。
线性模型由于把索引当作连续变量计算尤其受影响。
概率与统计基础
最大似然估计(MLE)
对于给定的观测数据希望能从所有的参数中找出能最大概率生成观测数据的参数作为估计结果。
以抛硬币为例,假设正面朝上的概率记为 $p$,反面为 $1 - p$,顺序抛出结果是正正反。可以得出$L(p) = p^2 (1 - p)$。为了发生概率最大,展开并求导得到 $p = \frac{2}{3}$ 时最大。也就是说我们会设定参数为正面$2/3$,反面$1/3$。
可能会疑惑这似乎不符合实际概率……这只是基于观测数据的估计,并不一定代表真实的硬币概率。事实上,根据大数定律,最大似然估计的参数会逐渐趋近真实概率,这里只是样本数过少而已。
概率(Probability)和似然性(Likelihood)的区别
| 方面 | 概率(Probability) | 似然性(Likelihood) |
|---|---|---|
| 定义 | 给定参数 $\theta$,事件 $X$ 出现的概率 | 给定数据 $X$,评估参数 $\theta$ 的合理性(似然) |
| 数学表达 | $P(X \mid \theta)$ | $L(\theta \mid X) = P(X \mid \theta)$(但 $\theta$ 为变量) |
| 变量角色 | $X$ 是变量,$\theta$ 是固定的 | $\theta$ 是变量,$X$ 是已知观测值 |
语言模型与知识系统
大语言模型(Large Language Model)
LLM模型是一种基于深度学习的大规模预训练语言模型,能够理解和生成自然语言文本。
重排序器(Reranker)
对初步检索或生成的候选结果进行重新排序,把更相关、更优质的结果排在前面。
知识库 (Knowledge Base,缩写KB)
一个系统化存储、管理和检索结构化或半结构化知识的集合。
它可以包含事实、规则、概念、实体关系等多种信息形式,旨在支持自动推理、问答和决策等任务。
数据与噪声
噪声(Noise)
噪声指数据或信号中随机存在的扰动或误差,通常不包含有用信息。噪声影响模型的训练效果及泛化能力。
白噪声(White Noise)
在时间序列建模(如 AR、MA、ARIMA)中,序列 ({\epsilon_t})(其中 (\epsilon_t) 表示时间 (t) 时刻的噪声值)被称为白噪声需满足以下条件:
- 零均值:
$$
E[\epsilon_t] = 0
$$
- 常数且有限的方差:
$$
\operatorname{Var}(\epsilon_t) = \sigma^2 < \infty, \quad \forall t
$$
- 无自相关(不同时间点之间不相关):
$$
\operatorname{Cov}(\epsilon_t, \epsilon_s) = 0, \quad \forall t \neq s
$$
这里的“无自相关”意味着不同时间点的噪声值之间不存在线性相关关系,但不一定完全独立。
这表明白噪声是一种纯随机过程,不含任何可预测的结构。
“白噪声”名称由来:
类似于光学中的白光包含所有可见光频率,信号处理中的白噪声在频率域上的功率谱密度是均匀分布的,代表所有频率成分权重相等。时间序列中的白噪声对应频谱平坦,意味着没有周期性或结构,完全不可预测。
在时间序列模型中,白噪声通常被用作理想化的随机扰动项,代表纯随机误差。
深度学习核心概念补充
自相关(Autocorrelation)
自相关是一个序列与其自身滞后版本之间的相似度度量,用于分析时间序列中是否存在周期性或结构。
$$
R(k) = \frac{1}{N-k} \sum_{t=1}^{N-k} (x_t - \bar{x})(x_{t+k} - \bar{x})
$$
- $k$:滞后阶数
- $\bar{x}$:样本均值
- $N$:样本数量
卷积神经网络(Convolutional Neural Network, CNN)
CNN 主要用于处理具有网格结构的数据(如图像),通过卷积操作提取局部特征,并利用权值共享降低参数量。
基本操作包括卷积层、激活函数、池化层等。
- 卷积操作:
设输入为二维矩阵 $X$,卷积核为 $K$,输出特征图为 $Y$,则
$$
Y(i,j) = \sum_m \sum_n X(i+m, j+n) \cdot K(m,n)
$$
- 卷积层输出计算公式:
$$
y_{i,j,k} = \sum_{c=1}^{C} \sum_{m=1}^{M} \sum_{n=1}^{N} x_{i+m-1, j+n-1, c} \cdot w_{m,n,c,k} + b_k
$$
其中:
$x$ 为输入特征图,尺寸为 $H \times W \times C$(高度×宽度×通道数)
$w$ 为卷积核,尺寸为 $M \times N \times C \times K$(卷积核高×卷积核宽×输入通道数×输出通道数)
$b_k$ 为偏置
$y$ 为输出特征图,尺寸为 $(H - M + 1) \times (W - N + 1) \times K$
池化操作(以最大池化为例):
$$
y_{i,j,k} = \max_{m=1,…,M, ; n=1,…,N} x_{s i + m -1, s j + n -1, k}
$$
其中,$s$ 是步长。
CNN 通过堆叠卷积层和池化层,能够自动学习图像中的多层次特征。
卷积(Convolution)
卷积是一种提取局部区域特征的运算,广泛用于图像、语音、序列等数据中。
一维卷积:
$$
s(t) = (x * w)(t) = \sum_{\tau} x(\tau) w(t - \tau)
$$
二维卷积(常用于图像):
$$
S(i, j) = \sum_m \sum_n X(i+m, j+n) \cdot W(m, n)
$$
特点:
- 局部连接
- 参数共享
- 可提取边缘、纹理等局部特征
池化(Pooling)
用于降低空间维度、减少计算量、提高平移不变性。
- 最大池化(Max Pooling): 取窗口内最大值
- 平均池化(Average Pooling): 取窗口内平均值
马尔可夫性质(Markov Property)
马尔可夫性质:未来状态仅与当前状态有关,与过去无关。
$$
P(X_{t+1} \mid X_t, X_{t-1}, \dots, X_0) = P(X_{t+1} \mid X_t)
$$
循环神经网络(Recurrent Neural Network, RNN)
用于处理序列数据,具有记忆信息的能力。
每个时刻 $t$ 的状态更新如下:
$$
h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h)
$$
$$
y_t = W_{hy} h_t + b_y
$$
存在梯度消失/爆炸问题,难以捕捉长距离依赖。
长短期记忆网络(Long Short-Term Memory, LSTM)
通过引入门控机制(遗忘门、输入门、输出门)缓解 RNN 的长依赖问题。
门控循环单元(Gated Recurrent Unit, GRU)
GRU 是 LSTM 的简化版本,合并了遗忘门和输入门。
更新公式:
- 更新门:
$$
z_t = \sigma(W_z x_t + U_z h_{t-1})
$$
- 重置门:
$$
r_t = \sigma(W_r x_t + U_r h_{t-1})
$$
- 候选状态:
$$
\tilde{h}t = \tanh(W_h x_t + U_h (r_t \odot h{t-1}))
$$
- 最终状态:
$$
h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t
$$
注意力机制(Attention)
注意力机制允许模型在处理每个输入位置时动态关注不同的上下文部分。
最基础的加性注意力或缩放点积注意力公式如下:
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right) V
$$
- $Q$:Query 查询
- $K$:Key 键
- $V$:Value 值
- $d_k$:Key 的维度(用于缩放)
Transformer
Transformer 架构使用自注意力机制,完全抛弃了循环结构,广泛用于自然语言处理和生成任务。
基本结构:
- 多头注意力层(Multi-head Attention)
- 前馈网络(Feed Forward Network)
- 残差连接(Residual Connection)+ LayerNorm
每个子层的形式:
$$
\text{LayerNorm}(x + \text{Sublayer}(x))
$$
Transformer 的优势:
- 并行训练
- 捕捉长距离依赖
- 可扩展性强
残差连接(Residual Connection)
为解决深层神经网络训练困难,引入“跳跃连接”结构:
$$
\mathbf{y} = \mathcal{F}(\mathbf{x}) + \mathbf{x}
$$
- $\mathcal{F}(\mathbf{x})$:变换函数(如卷积、注意力等)
- $\mathbf{x}$:输入本身
避免梯度消失,便于训练深层模型,是 ResNet、Transformer 等模型的关键结构。
Dropout
Dropout 是一种正则化技术,训练时以一定概率“丢弃”神经元,防止过拟合。
$$
h_i^{\text{drop}} =
\begin{cases}
0 & \text{with probability } p \
\frac{h_i}{1-p} & \text{otherwise}
\end{cases}
$$
- 训练时:随机丢弃
- 推理时:使用全部神经元,但乘以缩放因子
批归一化(Batch Normalization)
用于加速训练、提高稳定性,在每一小批次数据上对特征进行标准化:
$$
\hat{x}^{(k)} = \frac{x^{(k)} - \mu_B^{(k)}}{\sqrt{\sigma_B^{(k)2} + \epsilon}}
$$
再线性变换:
$$
y^{(k)} = \gamma^{(k)} \hat{x}^{(k)} + \beta^{(k)}
$$
- $\mu_B^{(k)}$:第 $k$ 个特征的批次均值
- $\sigma_B^{(k)}$:方差
- $\gamma, \beta$:可学习参数
作用:
- 减少内部协变量偏移(Internal Covariate Shift)
- 允许更高学习率
- 减少对初始化的依赖
激活函数(Activation Function)
用于引入非线性,增强模型表达能力。
- Sigmoid:
$$
\sigma(x) = \frac{1}{1 + e^{-x}}, \quad \sigma’(x) = \sigma(x)(1 - \sigma(x))
$$
- Tanh:
$$
\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}, \quad \frac{d}{dx} \tanh(x) = 1 - \tanh^2(x)
$$
- ReLU:
$$
f(x) = \max(0, x), \quad f’(x) =
\begin{cases}
1 & x > 0 \
0 & x \leq 0
\end{cases}
$$
- Leaky ReLU:
$$
f(x) = \begin{cases}
x & x > 0 \
\alpha x & x \leq 0
\end{cases}
$$
- Softmax(用于多分类):
$$
\sigma(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}}
$$
输出为概率分布,常用于输出层。
位置编码(Positional Encoding)
用于为输入序列引入位置信息,使模型具备顺序感。
常用正余弦编码方式:
$$
\text{PE}{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i / d{model}}} \right)
$$
$$
\text{PE}{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i / d{model}}} \right)
$$
- $pos$:位置
- $i$:维度编号
- $d_{model}$:嵌入维度
数学
一般
范数(Norm)
是数学中用来衡量向量“大小”或“长度”的一个函数。本质上是一种数学映射关系,作为一个函数,输入向量,输出非负实数,表示这个向量的大小或长度。
簇
指在数据集中,一组彼此相似度较高且相互之间距离较近的数据点集合。换句话说,簇是一类在某种度量标准下被划分到一起的样本点的集合,它们内部的相似性最大,而与其他簇之间的差异最大。
基数(Cardinality)
指一个集合中元素的数量,$C_k$ 表示第 $k$ 个簇的样本集合,$|C_k|$ 表示集合 $C_k$ 的基数(元素个数)。
平凡解
指显而易见没有讨论的必要的解,但是为了结果的完整性仍需考虑。
一般用不到这个概念。
线性代数
行列式
标量函数,记作 $\det(A)$ 或 $|A|$,用于判断 $n \times n$ 方阵 $A$ 是否可逆,当且仅当$\det(A) \neq 0$时矩阵可逆。
单位矩阵(Identity Matrix)
主对角线为 1,其余为 0 的方阵,记作 $I_n$,下标 $n$ 代表矩阵阶数。
协方差矩阵(Covariance Matrix)
协方差矩阵用来衡量各个特征之间的线性相关性。它是一个 $m \times m$(特征数量)的方阵,矩阵中的每个元素表示第 $i$ 个特征和第 $j$ 个特征之间的协方差。
协方差公式(样本协方差):
$$
\text{cov}(X_i, X_j) = \frac{1}{n - 1} \sum_{k=1}^{n} (X_{ik} - \bar{X}i)(X{jk} - \bar{X}_j)
$$
其中:
- $X_{ik}$ 表示第 $k$ 个样本在第 $i$ 个特征上的取值。
- $\bar{X}_i$ 表示第 $i$ 个特征的均值。
性质:
- 如果 $\text{cov}(X_i, X_j) > 0$,说明两个特征正相关。
- 如果 $\text{cov}(X_i, X_j) < 0$,说明两个特征负相关。
- 如果 $\text{cov}(X_i, X_j) \approx 0$,说明两个特征几乎没有线性相关性,但可能存在非线性关系。
为什么分母是 $n - 1$:(选看,公式能推但有点费劲)
- 当我们用样本数据来估计总体的协方差时,使用 $n - 1$ 作为分母可以得到无偏估计,让结果更接近真实总体。
- 如果使用的是整个总体数据,分母可以用 $n$。
“无偏”意味着样本方差的期望值应等于总体方差,即样本方差在长期来看既不会系统性偏大也不会偏小。
样本方差通常用分母 $n - 1$ 而非 $n$,这是因为样本均值是基于同一组样本计算的,与样本数据紧密相关。用样本均值代替总体均值计算偏差时,样本数据的波动被低估,导致样本方差的直接计算值总体偏小。
统计学关注的是大量独立重复抽样的长期性质。假设从总体反复抽取大量样本,计算每个样本的方差,再取这些方差的平均值,发现如果分母用 $n$,则平均样本方差会偏小于真实总体方差。
这是因为样本数据相对于样本均值的波动“向内收缩”,样本均值是样本内数据的固定参考点,而总体均值是全局固定,导致样本方差计算时缺少一个自由度。
采用分母 $n - 1$,即自由度校正,能够消除这种系统性偏差,使样本方差成为总体方差的无偏估计,从而保证样本方差的长期平均值准确反映总体波动。
数学推导
假设我们有独立同分布的样本:
$$
X_1, X_2, \ldots, X_n
$$
总体的真实均值是 $\mu$,但是我们不知道它。样本均值是:
$$
\bar{X} = \frac{1}{n} \sum_{i=1}^n X_i
$$
样本平方差和:
$$
S = \sum_{i=1}^n (X_i - \bar{X})^2
$$
为了和总体均值 $\mu$ 联系起来,我们在括号里**加减 $\mu$**,这样写:
$$
X_i - \bar{X} = (X_i - \mu) - (\bar{X} - \mu)
$$
把它带回去,展开平方和:
$$
S = \sum_{i=1}^n \big[(X_i - \mu) - (\bar{X} - \mu)\big]^2
$$
展开平方项得:
$$
S = \sum_{i=1}^n (X_i - \mu)^2 - 2(\bar{X} - \mu) \sum_{i=1}^n (X_i - \mu) + \sum_{i=1}^n (\bar{X} - \mu)^2
$$
因为 $\bar{X} - \mu$ 是一个常数,不随 $i$ 变化,且有 $n$ 个项,所以:
$$
S = \sum_{i=1}^n (X_i - \mu)^2 - 2(\bar{X} - \mu) \sum_{i=1}^n (X_i - \mu) + n(\bar{X} - \mu)^2
$$
接着,注意到:
$$
\sum_{i=1}^n (X_i - \mu) = n(\bar{X} - \mu)
$$
带入上式,得到:
$$
S = \sum_{i=1}^n (X_i - \mu)^2 - 2n(\bar{X} - \mu)^2 + n(\bar{X} - \mu)^2 = \sum_{i=1}^n (X_i - \mu)^2 - n(\bar{X} - \mu)^2
$$
对上式两边取期望:
$$
\mathbb{E}[S] = \mathbb{E}\left[\sum_{i=1}^n (X_i - \mu)^2\right] - \mathbb{E}\left[n(\bar{X} - \mu)^2\right]
$$
由于每个 $X_i$ 独立同分布且方差是 $\sigma^2$,所以:
$$
\mathbb{E}[(X_i - \mu)^2] = \sigma^2
\Rightarrow \mathbb{E}\left[\sum_{i=1}^n (X_i - \mu)^2\right] = n \sigma^2
$$
样本均值的方差是:
$$
\operatorname{Var}(\bar{X}) = \frac{\sigma^2}{n} \Rightarrow \mathbb{E}[(\bar{X} - \mu)^2] = \frac{\sigma^2}{n}
$$
所以:
$$
\mathbb{E}[n(\bar{X} - \mu)^2] = n \times \frac{\sigma^2}{n} = \sigma^2
$$
因此,
$$
\mathbb{E}[S] = n \sigma^2 - \sigma^2 = (n-1) \sigma^2
$$
这就是说,用样本均值计算的平方差和的期望是 $(n-1)\sigma^2$,而不是 $n \sigma^2$。
这就是为什么样本方差的分母不能用 $n$,而是用 $n-1$ — 这样才能保证样本方差的期望等于总体方差,使其成为无偏估计。
换句话说:
- 样本均值是基于样本数据计算的,会导致方差计算的波动被低估。
- 用 $n-1$ 修正分母,补偿这个系统性偏差,得到更准确的方差估计。
也就是对所有可能的值 $x$ 按概率密度加权求积分,得到平均值。
正半定矩阵(Positive Semidefinite Matrix)
“正半定”是“正半定矩阵”的简称,满足下面条件
- $A$ 是对称矩阵(即 $A = A^T$,对称方阵),
- 对任意非零向量 $x$,都有 $x^T A x \geq 0$。
这表示矩阵 $A$ 作用于任意向量时,不会让“二次型”变成负值,只可能是零或者正数。
正定矩阵:对所有非零向量 $x$,都有
$$
x^T A x > 0
$$正半定矩阵:对所有向量 $x$,都有
$$
x^T A x \geq 0
$$
(允许等于零)
概率论
基本概率论
大数定律(Law of Large Numbers, LLN)
随机变量的平均值在大量重复试验后趋近于期望值
数学表述(弱大数定律)
$$
\lim_{n \to \infty} \frac{1}{n} \sum_{i=1}^n X_i = \mu \quad \text{(几乎必然收敛)}
$$
这意味着,当样本数量 $n$ 趋于无穷大时,样本平均值几乎必然会收敛到真实的期望值 $\mu$。也就是理论均值。
抽样(sampling)
从概率分布中抽取样本的过程
数学期望(Expectation,$E$)
理论观测样本的均值,数学期望 $E[X]$ 表示对随机变量 $X$ 的期望值,表示随机变量在长期重复试验中的平均结果。
离散型:
$$
E[X] = \sum_i x_i p_i
$$数学性质:
$$
\mathbb{E}[AX + b] = A , \mathbb{E}[X] + b
$$连续型:
$$
E[X] = \int_{-\infty}^{+\infty} x f(x) , dx
$$
均值(Sample Mean)
实际观测样本的均值,是具体样本数据的平均数,会随着样本改变而波动。
分布(distribution)
事件的概率分配
多项分布(multinomial distribution)
将概率分配给一些离散选择的分布
Var(Variance,方差)
数据偏离期望的程度
$$
\text{Var}(X) = E\left[(X - \mu)^2\right]
$$
样本空间(sample space)/ 结果空间(outcome space)
表示为一个集合 $S$,包含所有可能结果
事件(event)
一组给定样本空间的随机结果,记作 $A \subseteq S$
概率(probability)
将集合映射到真实值的函数,满足以下属性
对于任意事件,其概率从不会是负数,$P(A) \geq 0$
整个样本空间的概率为1,$P(S) = 1$
对于互斥(mutually exclusive)事件,序列中任意一个事件发生的概率等于它们各自发生的概率之和,若 $A_1, A_2, \dots$ 互不相交,则
$$
P\left( \bigcup_{i=1}^{\infty} A_i \right) = \sum_{i=1}^{\infty} P(A_i)
$$
先验概率
先验概率是基于背景常识或者历史数据的统计得出的预判概率,一般只包含一个变量,例如P(A),P(B)。
联合概率(joint probability)
事件同时发生的概率,两个事件同时发生的概率:$P(A,B)$
条件概率(conditional probability)
一个事件发生后另一个事件发生的概率,一般情况下 $B$ 表示某一个因素,$A$ 表示结果,$P(A|B)$ 表示在因素 $B$ 的条件下 $A$ 发生的概率,即由因求果。
条件概率表示在事件 $B$ 已经发生的前提下,事件 $A$ 发生的概率:
$$
P(A \mid B) = \frac{P(A \cap B)}{P(B)} \quad \text{(前提是 } P(B) > 0 \text{)}
$$
其中:
- $P(A \cap B)$ 表示事件 $A$ 与事件 $B$ 同时发生的概率。
- $P(B)$ 是事件 $B$ 的概率。
后验概率
由果求因,也就是在知道结果的情况下求原因的概率,例如Y事件是X引起的,那么P(X|Y)就是后验概率,也可以说它是事件发生后的反向条件概率。
实际上后验概率就是条件概率,只不过条件概率是由因求果,而后验概率是由果求因。
贝叶斯定理(Bayes’ theorem)
利用条件概率进行反向推断:
$$
P(A \mid B) = \frac{P(B \mid A) \cdot P(A)}{P(B)} \quad \text{(前提是 } P(B) > 0 \text{)}
$$
边际概率(marginal probability) / 边际分布(marginal distribution)
事件概率求和将所有选择的联合概率聚合在一起
离散型:
$$
P(X = x) = \sum_y P(X = x, Y = y)
$$连续型:
$$
f_X(x) = \int_{-\infty}^{+\infty} f_{X,Y}(x, y) , dy
$$
信息论(Information Theory)
涉及编码、解码、传输以及尽可能简洁地处理信息或数据。
信息论基本定理
香农第一定理(无失真编码定理)
给定信息源的熵为 $H(X)$,对该信息源的无失真编码,平均码长 $L$ 满足:
$$
H(X) \leq L < H(X) + 1
$$
(在码长为整数的限制下成立)
香农第二定理(信道编码定理)
对于容量为 $C$ 的信道,如果传输速率 $R < C$,则存在编码方案使误码率趋近于 0;反之,若 $R > C$,误码率无法降低。
熵的定义(entropy)
熵度量所有可能事件的信息量的期望值,衡量事件本身信息的不确定性。
事件空间中所有事件发生的概率,乘以该事件的信息量,即可得到熵
$$
H(X) = - \sum_{i=1}^n p_i \log p_i
$$
一般单位是比特(bit)底数为 2。
熵达到最大值时,概率分布为均匀分布。
对于一个必然事件而言,其事件发生的信息熵为0。也就是说,我们不需要传递任何信号(0比特),对方也能知道该事件发生了。
互信息
两个随机变量 $X$ 和 $Y$ 的互信息定义为:
$$
I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)
$$
表示在给定 $Y$ 的条件下,随机变量 $X$ 的不确定性减少的量,即 $X$ 和 $Y$ 之间共享的信息量。
差值表示共享量?信息共享是一种概率结构中的重合关系,本身没有行为,它是客观存在于变量之间的信息重合度量。
可以看看下面的解释
如何理解互信息公式的含义?
互信息的本质就是对称的。
信息论基础
自信息(Information Content / Surprisal)
对于某一具体事件 $x$,其发生的概率为 $p(x)$,定义该事件的信息量为:
$$
I(x) = -\log p(x)
$$
当事件越罕见($p(x)$ 越小),信息量 $I(x)$ 越大,表示惊异程度更高。
交叉熵(Cross-Entropy)
假设真实概率分布为 $P = {p_i}$,观察者主观概率分布为 $Q = {q_i}$
$q_i$ 小于 1 则 log 后为负要加负号,H为0表示模型预测完全正确,无穷大时完全错误
若为独热标签P,其中对应真实类值为 1,其他为 0,即求和时P可以等价为标量1来计算
交叉熵用一个预测分布去描述真实分布时,整体的“惊异度”或“编码代价”。衡量预测模型对真实事件编码效率的损失。和信息量本身没有直接一一对应关系
交叉熵定义为:
$$
H(P, Q) = - \sum_{i} p_i \log q_i
$$
交叉熵表示当数据真实分布为 $P$,但使用概率分布 $Q$ 来编码时的平均信息量(即平均惊异程度)。
当且仅当 $Q = P$ 时,交叉熵达到最小值:
$$
H(P, Q)_{\min} = H(P) = - \sum_i p_i \log p_i
$$
交叉熵总是大于等于熵,差值是 KL 散度:
$$
D_{KL}(P | Q) = H(P, Q) - H(P) \geq 0
$$
log 函数让损失函数对预测错误变得非常敏感
log 函数的梯度形式适合和 softmax 输出配合,数学上简洁
常用术语与定义的英文
| 中文术语 | 英文术语 | 说明 |
|---|---|---|
| 参数 | Parameter | 模型内部需学习的变量(如权重weights、偏置bias) |
| 权重 | Weight | 模型连接强度,学习的核心变量 |
| 偏置 | Bias | 模型的偏移量,辅助调整输出 |
| 超参数 | Hyperparameter | 训练前设置,不参与梯度更新的控制变量 |
| 学习率 | Learning Rate | 控制参数更新步长 |
| 优化器 | Optimizer | 用于训练时更新参数的算法 |
| 损失函数 | Loss Function | 衡量模型预测误差的函数 |
| 目标函数 | Objective Function | 优化的函数,通常指损失函数或其变体 |
| 正则化 | Regularization | 控制模型复杂度,防止过拟合 |
| L1正则化 | L1 Regularization | 参数绝对值和作为正则项,促使参数稀疏 |
| L2正则化 | L2 Regularization (Ridge) | 参数平方和作为正则项,促使参数小而平滑 |
| 权重衰减 | Weight Decay | L2正则化的一种实现方式 |
| 批量大小 | Batch Size | 每次训练用的样本数量 |
| 迭代次数 | Epoch | 遍历训练集一次 |
| 梯度 | Gradient | 损失对参数的偏导数,用于参数更新 |
| 梯度消失 | Vanishing Gradient | 深层网络训练中梯度变得极小,导致更新缓慢或停滞 |
| 梯度爆炸 | Exploding Gradient | 梯度过大导致训练不稳定 |
| 激活函数 | Activation Function | 非线性函数,如ReLU、Sigmoid、Tanh |
| 激活值 | Activation Value | 激活函数输出的值 |
| 过拟合 | Overfitting | 模型在训练集表现很好但泛化能力差 |
| 欠拟合 | Underfitting | 模型复杂度不足,无法捕捉数据规律 |
| 训练集 | Training Set | 用于训练模型的数据集 |
| 验证集 | Validation Set | 用于调参和选择模型的数据集 |
| 测试集 | Test Set | 用于最终评估模型泛化能力的数据集 |
| 预测 | Prediction | 模型对新数据的输出结果 |
| 精度 | Accuracy | 正确预测数占总预测数比例 |
| 召回率 | Recall | 真阳性数占所有实际正例比例 |
| 精确率 | Precision | 真阳性数占所有预测为正例比例 |
| F1分数 | F1 Score | 精确率和召回率的调和平均值 |
| ROC曲线 | ROC Curve | 受试者工作特征曲线,评价分类模型性能 |
| AUC | Area Under Curve | ROC曲线下面积,模型性能指标 |
| 交叉熵损失 | Cross-Entropy Loss | 分类任务常用损失函数 |
| 均方误差 | Mean Squared Error (MSE) | 回归任务常用损失函数 |
| 平均绝对误差 | Mean Absolute Error (MAE) | 回归任务误差绝对值的平均 |
| 优化算法 | Optimization Algorithm | 如SGD、Adam等用于训练的算法 |
| 随机梯度下降 | Stochastic Gradient Descent (SGD) | 每次用小批量数据计算梯度的优化方法 |
| 动量 | Momentum | 优化算法中用于加速收敛的技术 |
| 学习率衰减 | Learning Rate Decay | 训练过程中逐步降低学习率 |
| 学习率调度器 | Learning Rate Scheduler | 按规则动态调整学习率 |
| 提前停止 | Early Stopping | 根据验证性能提前终止训练防止过拟合 |
| 批归一化 | Batch Normalization | 归一化层,稳定训练,加速收敛 |
| Dropout | Dropout | 防止过拟合的随机神经元失活技术 |
| 权重初始化 | Weight Initialization | 参数初始化方法,如Xavier初始化,He初始化 |
| 权重共享 | Weight Sharing | 不同位置共享同一组权重,节省参数 |
| 参数共享 | Parameter Sharing | 不同层或位置共享相同参数 |
| 参数冻结 | Parameter Freezing | 在迁移学习中冻结部分参数不参与训练 |
| 梯度裁剪 | Gradient Clipping | 限制梯度大小防止梯度爆炸 |
| 梯度累积 | Gradient Accumulation | 分批计算梯度,累积后一次更新 |
| 多层感知机 | Multilayer Perceptron (MLP) | 基础前馈神经网络,由输入层、一个或多个隐藏层及输出层组成。每层节点与下一层全连接,隐藏层配非线性激活函数(如ReLU、Sigmoid),能拟合非线性函数。用于分类和回归任务,训练采用反向传播和梯度下降。对高维结构化数据有效,但对空间或序列信息建模有限。 |
| 前馈神经网络 | Feedforward Neural Network | 无环路连接的神经网络,信息单向传播 |
| 卷积神经网络 | Convolutional Neural Network (CNN) | 专门处理网格数据(如图像),通过卷积层提取局部空间特征,利用权重共享和池化层减少参数和降维,广泛用于图像、语音等领域。 |
| 卷积层 | Convolutional Layer | CNN中用于提取空间特征的层 |
| 池化层 | Pooling Layer | 降维层,常用最大池化和平均池化 |
| 循环神经网络 | Recurrent Neural Network (RNN) | 处理序列数据的网络结构,具有循环连接 |
| 长短时记忆网络 | Long Short-Term Memory (LSTM) | 解决RNN梯度消失问题的变体 |
| 门控循环单元 | Gated Recurrent Unit (GRU) | LSTM的简化版,计算效率更高 |
| 注意力机制 | Attention Mechanism | 聚焦输入关键部分的机制 |
| 自注意力 | Self-Attention | 输入自身的注意力机制 |
| Transformer | Transformer | 基于自注意力的主流网络架构 |
| 损失梯度 | Loss Gradient | 损失函数对参数的导数 |
| 反向传播 | Backpropagation | 计算梯度并更新参数的算法 |
| 模型容量 | Model Capacity | 模型表达复杂函数的能力 |
| 训练误差 | Training Error | 模型在训练集上的误差 |
| 验证误差 | Validation Error | 模型在验证集上的误差 |
| 泛化误差 | Generalization Error | 模型在未见过数据上的误差 |
| 数据增强 | Data Augmentation | 通过变换增加训练数据多样性 |
| 迁移学习 | Transfer Learning | 利用预训练模型知识加速新任务训练 |
| 微调 | Fine-tuning | 基于预训练模型进行少量参数调整 |
| 批处理 | Batch Processing | 一次处理多个样本 |
| 小批量梯度下降 | Mini-batch Gradient Descent | 每次用小批量数据计算梯度更新 |
| 损失曲线 | Loss Curve | 训练过程中损失值随迭代变化的曲线 |
| 混淆矩阵 | Confusion Matrix | 分类模型预测结果统计表 |
| 正类 | Positive Class | 分类中的目标类别 |
| 负类 | Negative Class | 分类中的非目标类别 |
| 序列模型 | Sequence Model | 处理序列数据的模型,如RNN、LSTM |
| 激活分布 | Activation Distribution | 神经元激活值的统计分布 |
| 线性层 | Linear Layer | 计算线性变换的神经网络层 |
| 损失函数平滑 | Label Smoothing | 防止过拟合的标签平滑技巧 |
| 模型剪枝 | Model Pruning | 减少模型参数以提升推理效率 |
| 量化 | Quantization | 将模型参数减少位宽以降低存储和计算成本 |
| 蒸馏 | Knowledge Distillation | 通过“教师-学生”模型传递知识 |
| 生成模型 | Generative Model | 用于生成数据的模型,如GAN、VAE |
| 判别模型 | Discriminative Model | 用于分类或预测的模型 |
| 损失平滑 | Loss Smoothing | 通过平滑技术减少损失震荡 |
代码中常见参数名及解释(英文)
| 变量名 | 英文全称 | 说明 |
|---|---|---|
| weights | Weights | 模型的权重参数 |
| bias | Bias | 偏置项 |
| X | Input / Feature Matrix | 输入特征矩阵 |
| y | Output / Target | 目标变量 |
| loss | Loss | 损失函数 |
| grad | Gradient | 损失函数对参数的梯度 |
| lr | Learning Rate | 学习率 |
| epoch | Epoch | 训练轮数 |
| batch_size | Batch Size | 批大小 |
| pred | Prediction | 预测值 |
| epsilon | Epsilon | 极小数,防止数值不稳定 |
| mu | Mean | 均值 |
| sigma | Standard Deviation | 标准差 |
| coeff | Coefficient | 系数(如高斯函数中的归一化常数) |
| exponent | Exponent | 指数部分(如高斯函数中的指数表达式) |
| theta | Parameter Vector | 参数向量(权重的另一种常见符号) |
| alpha | Coefficient / LR | 学习率或正则化参数 |
| beta | Coefficient | 系数,也常用于正则化参数 |
