计算机基础知识
最底下是参数与变量对应英语查询表,方便快速回忆
机器学习与深度学习
基本概念
泛化能力 (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}
$$
其中:
- $\mathbf{x}$:输入向量(如图像坐标、特征向量)
- $A$:线性变换矩阵(如旋转、缩放、剪切等)
- $\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}
$$
其中:
- $\hat{y}$:模型的预测值
- $\mathbf{x} = [x_1, x_2, \dots, x_p]^\top$:输入特征向量
- $\mathbf{w} = [w_1, w_2, \dots, w_p]^\top$:对应的权重向量
- $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
]
这里的“无自相关”意味着不同时间点的噪声值之间不存在线性相关关系,但不一定完全独立。
这表明白噪声是一种纯随机过程,不含任何可预测的结构。
“白噪声”名称由来:
类似于光学中的白光包含所有可见光频率,信号处理中的白噪声在频率域上的功率谱密度是均匀分布的,代表所有频率成分权重相等。时间序列中的白噪声对应频谱平坦,意味着没有周期性或结构,完全不可预测。
在时间序列模型中,白噪声通常被用作理想化的随机扰动项,代表纯随机误差。
信息论(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
]
熵达到最大值时,概率分布为均匀分布。
互信息
两个随机变量 ( X ) 和 ( Y ) 的互信息定义为:
[
I(X; Y) = H(X) - H(X|Y)
]
表示在给定 (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} ),则交叉熵定义为:
[
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
]
常用术语与定义的英文
中文术语 | 英文术语 | 说明 |
---|---|---|
参数 | 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 | 通过平滑技术减少损失震荡 |
代码中常见参数名及解释(英文)
变量名 | 英文全称 | 符号(MathJax) | 说明 |
---|---|---|---|
weights | Weights | ( \mathbf{w}, \mathbf{\theta} ) | 模型的权重参数 |
bias | Bias | ( b ) | 偏置项 |
X | Input / Feature Matrix | ( \mathbf{X} ) | 输入特征矩阵 |
y | Output / Target | ( \mathbf{y} ) | 目标变量 |
loss | Loss | ( \mathcal{L} ) | 损失函数 |
grad | Gradient | ( \nabla \mathcal{L} ) | 损失函数对参数的梯度 |
lr | Learning Rate | ( \alpha, \eta ) | 学习率 |
epoch | Epoch | — | 训练轮数 |
batch_size | Batch Size | — | 批大小 |
pred | Prediction | ( \hat{y} ) | 预测值 |
epsilon | Epsilon | ( \varepsilon ) | 极小数,防止数值不稳定 |
mu | Mean | ( \mu ) | 均值 |
sigma | Standard Deviation | ( \sigma ) | 标准差 |
coeff | Coefficient | — | 系数(如高斯函数中的归一化常数) |
exponent | Exponent | — | 指数部分(如高斯函数中的指数表达式) |
theta | Parameter Vector | ( \boldsymbol{\theta} ) | 参数向量(权重的另一种常见符号) |
alpha | Coefficient / LR | ( \alpha ) | 学习率或正则化参数 |
beta | Coefficient | ( \beta ) | 系数,也常用于正则化参数 |