深度学习:正则化技术

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
深度学习:正则化技术 [2026/03/02 21:54] – [1.3 L2正则化(Ridge回归)] 张叶安深度学习:正则化技术 [2026/03/02 22:00] (当前版本) – [4. 答案与解析] 张叶安
行 86: 行 86:
  
 | 特性 | L1正则化 | L2正则化 | | 特性 | L1正则化 | L2正则化 |
-|------|----------|----------| 
 | 惩罚项 | $\sum |\theta_i|$ | $\sum \theta_i^2$ | | 惩罚项 | $\sum |\theta_i|$ | $\sum \theta_i^2$ |
 | 解的稀疏性 | 稀疏(产生零值) | 非稀疏(均匀收缩) | | 解的稀疏性 | 稀疏(产生零值) | 非稀疏(均匀收缩) |
行 138: 行 137:
  
 **Dropout的最佳实践:** **Dropout的最佳实践:**
-- 输入层:保留概率0.8 +  - 输入层:保留概率0.8 
-- 隐藏层:保留概率0.5 +  - 隐藏层:保留概率0.5 
-- 通常与其他正则化技术结合使用+  - 通常与其他正则化技术结合使用
  
 ==== 1.6 早停法(Early Stopping) ==== ==== 1.6 早停法(Early Stopping) ====
行 149: 行 148:
  
 1. 将数据分为训练集、验证集和测试集 1. 将数据分为训练集、验证集和测试集
 +
 2. 在每个训练周期(epoch)结束时,在验证集上评估模型性能 2. 在每个训练周期(epoch)结束时,在验证集上评估模型性能
 +
 3. 记录验证集上的最佳性能 3. 记录验证集上的最佳性能
 +
 4. 当验证集性能在连续多个周期内不再提升时,停止训练 4. 当验证集性能在连续多个周期内不再提升时,停止训练
 +
 5. 恢复验证集性能最佳时的模型参数 5. 恢复验证集性能最佳时的模型参数
  
行 159: 行 162:
  
 ** patience参数**: ** patience参数**:
-- 定义在验证集性能不再提升后等待的周期数 +  - 定义在验证集性能不再提升后等待的周期数 
-- 较大的patience可能导致过拟合 +  - 较大的patience可能导致过拟合 
-- 较小的patience可能导致欠拟合+  - 较小的patience可能导致欠拟合
  
 **早停法的优势:** **早停法的优势:**
-- 实现简单,计算开销小 +  - 实现简单,计算开销小 
-- 自动确定训练迭代次数 +  - 自动确定训练迭代次数 
-- 有效防止过拟合+  - 有效防止过拟合
  
 ==== 1.7 数据增强(Data Augmentation) ==== ==== 1.7 数据增强(Data Augmentation) ====
行 198: 行 201:
  
 **文本数据增强:** **文本数据增强:**
-- 同义词替换 +  - 同义词替换 
-- 随机插入/删除/交换 +  - 随机插入/删除/交换 
-- 回译(Back-translation)+  - 回译(Back-translation)
  
 **音频数据增强:** **音频数据增强:**
-- 时间拉伸/压缩 +  - 时间拉伸/压缩 
-- 音调变换 +  - 音调变换 
-- 添加背景噪声+  - 添加背景噪声
  
 **数据增强的理论基础:** **数据增强的理论基础:**
行 220: 行 223:
  
 1. **计算均值和方差**: 1. **计算均值和方差**:
-   $$\mu_B = \frac{1}{m} \sum_{i=1}^m x_i$$ + 
-   $$\sigma_B^2 = \frac{1}{m} \sum_{i=1}^m (x_i - \mu_B)^2$$+$$\mu_B = \frac{1}{m} \sum_{i=1}^m x_i$$ 
 + 
 +$$\sigma_B^2 = \frac{1}{m} \sum_{i=1}^m (x_i - \mu_B)^2$$
  
 2. **标准化**: 2. **标准化**:
-   $$\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$$+ 
 +$$\hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$$
  
 3. **缩放和平移**: 3. **缩放和平移**:
-   $$y_i = \gamma \hat{x}_i + \beta$$+ 
 +$$y_i = \gamma \hat{x}_i + \beta$$
  
 **正则化效果:** **正则化效果:**
行 242: 行 249:
  
 直接限制权重的范数,而非通过惩罚项: 直接限制权重的范数,而非通过惩罚项:
-- 最大范数约束(Max-norm):$||\theta||_2 \leq c$ +  - 最大范数约束(Max-norm):$||\theta||_2 \leq c$ 
-- L1范数约束:$||\theta||_1 \leq c$+  - L1范数约束:$||\theta||_1 \leq c$
  
 **1.9.2 标签平滑(Label Smoothing)** **1.9.2 标签平滑(Label Smoothing)**
  
 将硬标签(one-hot)替换为软标签: 将硬标签(one-hot)替换为软标签:
 +
 $$y_{smooth} = (1 - \epsilon) y_{hard} + \epsilon / K$$ $$y_{smooth} = (1 - \epsilon) y_{hard} + \epsilon / K$$
  
行 277: 行 285:
  
 1. **基础组合**:L2 + Dropout + Early Stopping 1. **基础组合**:L2 + Dropout + Early Stopping
 +
 2. **图像任务**:Data Augmentation + Dropout + Batch Norm 2. **图像任务**:Data Augmentation + Dropout + Batch Norm
 +
 3. **小数据集**:Strong Data Augmentation + Dropout + L2 3. **小数据集**:Strong Data Augmentation + Dropout + L2
 +
 4. **大模型**:Dropout + Label Smoothing + Various Augmentations 4. **大模型**:Dropout + Label Smoothing + Various Augmentations
  
行 358: 行 369:
  
 **关键因素1:验证集划分** **关键因素1:验证集划分**
-- 验证集应足够大以可靠估计泛化性能 +  - 验证集应足够大以可靠估计泛化性能 
-- 通常使用10-20%的数据作为验证集 +  - 通常使用10-20%的数据作为验证集 
-- 对于小数据集,使用交叉验证+  - 对于小数据集,使用交叉验证
  
 **关键因素2:监控指标选择** **关键因素2:监控指标选择**
-- 分类任务:验证准确率或验证损失 +  - 分类任务:验证准确率或验证损失 
-- 回归任务:验证MSE或MAE +  - 回归任务:验证MSE或MAE 
-- 注意:训练损失持续下降时,验证损失可能已经开始上升+  - 注意:训练损失持续下降时,验证损失可能已经开始上升
  
 **关键因素3:Patience参数** **关键因素3:Patience参数**
  
 Patience定义了性能不提升时等待的周期数: Patience定义了性能不提升时等待的周期数:
-- **小patience(5-10)**: +  - **小patience(5-10)**: 
-  - 优点:快速停止,节省计算资源 +    - 优点:快速停止,节省计算资源 
-  - 缺点:可能因验证波动过早停止+    - 缺点:可能因验证波动过早停止
      
-- **大patience(20-50)**: +  - **大patience(20-50)**: 
-  - 优点:容忍验证波动,捕获长期趋势 +    - 优点:容忍验证波动,捕获长期趋势 
-  - 缺点:可能过拟合,浪费计算资源+    - 缺点:可能过拟合,浪费计算资源
  
-- **自适应patience**: +  - **自适应patience**: 
-  - 初期使用小patience快速收敛 +    - 初期使用小patience快速收敛 
-  - 后期使用大patience精细调整+    - 后期使用大patience精细调整
  
 **关键因素4:模型恢复机制** **关键因素4:模型恢复机制**
  
 实现方式: 实现方式:
-```+
 1. 保存验证性能最佳时的模型状态 1. 保存验证性能最佳时的模型状态
 +
 2. 包括权重、优化器状态、轮次等 2. 包括权重、优化器状态、轮次等
 +
 3. 停止训练后恢复最佳状态 3. 停止训练后恢复最佳状态
 +
 4. 避免使用最终(可能过拟合)的模型 4. 避免使用最终(可能过拟合)的模型
-```+
  
 **关键因素5:与其他正则化的配合** **关键因素5:与其他正则化的配合**
  
 早停法与其他技术的交互: 早停法与其他技术的交互:
-- **与L2正则化**:两者都限制模型复杂度,可能产生叠加效果 +  - **与L2正则化**:两者都限制模型复杂度,可能产生叠加效果 
-- **与Dropout**:早停法可补偿Dropout的训练-测试差异 +  - **与Dropout**:早停法可补偿Dropout的训练-测试差异 
-- **与学习率调度**:应协调patience与学习率衰减周期 +  - **与学习率调度**:应协调patience与学习率衰减周期 
-- **与数据增强**:数据增强延长训练时间,需要更大的patience+  - **与数据增强**:数据增强延长训练时间,需要更大的patience
  
 ===== 3. 训练题 ===== ===== 3. 训练题 =====
行 459: 行 473:
  
 1. **答案:C** 1. **答案:C**
-   解析:L1正则化由于其绝对值函数的几何特性,会产生稀疏解,许多参数会被压缩到精确的零值。+ 
 +解析:L1正则化由于其绝对值函数的几何特性,会产生稀疏解,许多参数会被压缩到精确的零值。
  
 2. **答案:B** 2. **答案:B**
-   解析:保留概率$p$直接表示期望保留的比例,因此$p=0.7$表示70%的神经元被保留。+ 
 +解析:保留概率$p$直接表示期望保留的比例,因此$p=0.7$表示70%的神经元被保留。
  
 3. **答案:B** 3. **答案:B**
-   解析:L2正则化在统计学中称为Ridge回归,L1正则化称为Lasso回归。+ 
 +解析:L2正则化在统计学中称为Ridge回归,L1正则化称为Lasso回归。
  
 4. **答案:C** 4. **答案:C**
-   解析:增加网络层数会增加模型复杂度,不属于正则化或数据增强方法。其他选项都是图像数据增强技术。+ 
 +解析:增加网络层数会增加模型复杂度,不属于正则化或数据增强方法。其他选项都是图像数据增强技术。
  
 5. **答案:B** 5. **答案:B**
-   解析:标签平滑将硬标签替换为软标签,防止模型对预测过于自信,从而提高泛化能力。+ 
 +解析:标签平滑将硬标签替换为软标签,防止模型对预测过于自信,从而提高泛化能力。
  
 **二、填空题答案:** **二、填空题答案:**
  
 6. **答案:**$\theta_i^2$ 6. **答案:**$\theta_i^2$
-   解析:L2正则化使用参数的平方和作为惩罚项。+ 
 +解析:L2正则化使用参数的平方和作为惩罚项。
  
 7. **答案:**$1/p$(或$1/0.5=2$);不使用(或停止) 7. **答案:**$1/p$(或$1/0.5=2$);不使用(或停止)
-   解析:Dropout在训练时需要缩放以保持一致期望值,测试时使用完整网络。+ 
 +解析:Dropout在训练时需要缩放以保持一致期望值,测试时使用完整网络。
  
 8. **答案:**验证(或validation) 8. **答案:**验证(或validation)
-   解析:早停法通过监控验证集性能来防止过拟合。+ 
 +解析:早停法通过监控验证集性能来防止过拟合。
  
 9. **答案:**L1;L2(或Lasso;Ridge) 9. **答案:**L1;L2(或Lasso;Ridge)
-   解析:弹性网络同时包含L1和L2惩罚项。+ 
 +解析:弹性网络同时包含L1和L2惩罚项。
  
 10. **答案:**标准化(或减去均值除以标准差) 10. **答案:**标准化(或减去均值除以标准差)
-    解析:批归一化的核心步骤包括:计算统计量、标准化、学习缩放和平移。+ 
 +解析:批归一化的核心步骤包括:计算统计量、标准化、学习缩放和平移。
  
 **三、计算题答案:** **三、计算题答案:**
行 494: 行 518:
 11. **解答:** 11. **解答:**
          
-    L2正则化后的损失函数: + 
-    $$\tilde{J} = \frac{1}{2}\sum_{i=1}^n (y_i - \hat{y}_i)^2 + \lambda(w_1^2 + w_2^2)$$+L2正则化后的损失函数: 
 + 
 +$$\tilde{J} = \frac{1}{2}\sum_{i=1}^n (y_i - \hat{y}_i)^2 + \lambda(w_1^2 + w_2^2)$$
          
-    对$w_1$求偏导: +对$w_1$求偏导: 
-    $$\frac{\partial \tilde{J}}{\partial w_1} = -\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1} + 2\lambda w_1$$+ 
 +$$\frac{\partial \tilde{J}}{\partial w_1} = -\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1} + 2\lambda w_1$$
          
-    梯度下降更新: +梯度下降更新: 
-    $$w_1^{new} = w_1^{old} - \eta\left[-\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1} + 2\lambda w_1^{old}\right]$$ + 
-    $$= w_1^{old}(1 - 2\eta\lambda) + \eta\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1}$$+$$w_1^{new} = w_1^{old} - \eta\left[-\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1} + 2\lambda w_1^{old}\right]$$ 
 + 
 +$$= w_1^{old}(1 - 2\eta\lambda) + \eta\sum_{i=1}^n (y_i - \hat{y}_i)x_{i1}$$
          
-    其中$(1 - 2\eta\lambda)$体现了"权重衰减"的效果。+其中$(1 - 2\eta\lambda)$体现了"权重衰减"的效果。
  
 12. **解答:** 12. **解答:**
          
-    训练时:期望激活神经元数 = $100 \times p = 100 \times 0.5 = 50$个+训练时:期望激活神经元数 = $100 \times p = 100 \times 0.5 = 50$个
          
-    测试时:使用所有神经元,不应用Dropout,因此100个神经元全部激活。+测试时:使用所有神经元,不应用Dropout,因此100个神经元全部激活。
          
-    注意:如果使用Inverted Dropout,训练时保留的神经元输出会乘以$1/p=2$,测试时不做处理。+注意:如果使用Inverted Dropout,训练时保留的神经元输出会乘以$1/p=2$,测试时不做处理。
  
 13. **解答:** 13. **解答:**
          
-    正则化项 = $0.01(|\theta_1| + |\theta_2|)$+正则化项 = $0.01(|\theta_1| + |\theta_2|)$
          
-    $= 0.01(|3| + |-4|)$+$= 0.01(|3| + |-4|)$
          
-    $= 0.01(3 + 4)$+$= 0.01(3 + 4)$
          
-    $= 0.01 \times 7$+$= 0.01 \times 7$
          
-    $= 0.07$+$= 0.07$
          
-    因此,正则化项的值为0.07。+因此,正则化项的值为0.07。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • 深度学习/正则化技术.1772459640.txt.gz
  • 最后更改: 2026/03/02 21:54
  • 张叶安