模型调参
1. 核心超参数基础
Section titled “1. 核心超参数基础”- 学习率 (Learning Rate):决定梯度下降的步长。过大会导致发散或在最优解附近震荡,过小会导致收敛极慢或陷入局部最优。
2. 常见激活函数选型
Section titled “2. 常见激活函数选型”激活函数为神经网络引入了非线性表达能力:
- 恒等函数 (Identity)
- 阶跃函数 (Step)
- Sigmoid:输出映射到
(0,1),早期常用,但存在严重的梯度消失问题。 - ReLU (Rectified Linear Unit):现代深度学习的绝对主力,计算极快,有效缓解梯度消失。
- tanh:输出映射到
(-1,1),零中心化,表现通常优于 Sigmoid。
3. 核心优化策略与防抖
Section titled “3. 核心优化策略与防抖”3.1. 批处理 (Mini-Batch)
Section titled “3.1. 批处理 (Mini-Batch)”不使用全量数据(计算太慢)或单条数据(梯度震荡过大),而是将数据分批送入网络。
- 优势:利用矩阵运算的并行化大幅减少 I/O 和计算时间;梯度的期望方向更稳定。
3.2. 权重的初始化 (Weight Initialization)
Section titled “3.2. 权重的初始化 (Weight Initialization)”初始值不能全部设定为 0(会导致所有神经元更新出相同的梯度,失去不对称性)。
- Xavier 初始化:如果前一层的节点数为 $n$,则初始化值使用标准差为 $\frac{1}{\sqrt{n}}$ 的正态分布。非常适合 Sigmoid/tanh 激活函数。
- He 初始化:如果前一层的节点数为 $n$,则初始化值使用标准差为 $\sqrt{\frac{2}{n}}$ 的正态分布。专为 ReLU 激活函数设计。
3.3. 批归一化 (Batch Normalization, BN)
Section titled “3.3. 批归一化 (Batch Normalization, BN)”在网络层之间强制将激活值的分布拉回到均值为 0、方差为 1 的标准正态分布。
- 优势:
- 极大加速学习与收敛。
- 降低模型对初始权重值的敏感依赖。
- 自带微弱的正则化效果,一定程度上抑制过拟合。
4. 防止过拟合 (Overfitting) 的正则化手段
Section titled “4. 防止过拟合 (Overfitting) 的正则化手段”过拟合是指模型在训练集上表现极好,但在测试集上表现极差(缺乏泛化能力)。
- 权值衰减 (L1/L2 正则化):对巨大的权重进行惩罚。但在模型极其复杂(如深度网络)时,单纯的权重衰减可能失效。
- Dropout (随机失活):在训练过程中,按设定的概率随机“删除”(临时关闭)部分神经元。这迫使网络不依赖于任何局部特征,而是学习更加稳健的全局表示。
5. 调参算法与交叉验证
Section titled “5. 调参算法与交叉验证”5.1. 自动调参搜索策略
Section titled “5.1. 自动调参搜索策略”- Grid Search (网格搜索):暴力穷举所有组合。
- Random Search (随机搜索):随机组合参数,效率高于网格。
- Bayesian Search (贝叶斯搜索):利用先验知识指导下一步搜索,寻找极值的效率最高。
5.2. 模型评估:交叉验证
Section titled “5.2. 模型评估:交叉验证”为防止单次划分训练/测试集带来的偶然性偏差:
- 简单验证 (Hold-out)
- K 折交叉验证 (K-Fold):将数据分为 K 份,轮流作为测试集,结果取均值。
- 留一法 (LOOCV):极其耗时,通常仅用于极小的数据集。