概述
正则化是机器学习中非常重要并且非常有效的减少泛华误差的技术,特别是在深度学习模型中,由于其模型参数非常多非常容易产生过拟合。因此研究者也提出很多有效的技术防止过拟合,比较常用的技术包括:
- 参数添加约束,例如L1、L2范数等
- 训练集合扩充,例如添加噪声、数据变换等
- Dropout
该文主要介绍深度学习中比较常见几类正则化方法以及常用参数选择,并试图解释其原理。
正则化技术
参数惩罚
通过对模型参数添加惩罚参数来限制模型能力,常用的就是在损失函数基础上添加范数约束。
J˜(θ;,X,y)=J(θ;X,y)+αΩ(θ)
通常情况下,深度学习中只对仿射参数 w 添加约束,对偏置项不加约束。主要原因是偏置项一般需要较少的数据就能精确的拟合。如果添加约束常常会导致欠拟合。
L2正则
参数约束添加L2范数惩罚项,该技术也称之为Weight Decay、岭回归、Tikhonov regularization等。
通过最优化技术,例如梯度相关方法可以很快推导出,参数优化公式为
w=(1−ϵα)w−ϵ∇J(w)
其中 ϵ 为学习率,相对于正常的梯度优化公式,对参数乘上一个缩减因子。
假设J是一个二次优化问题时,模型参数可以进一步表示为 w˜i=λiλi+αwi ,即相当于在原来的参数上添加了一个控制因子,其中 λ 是参数Hessian矩阵的特征值。由此可见
1. 当 λi>>α 时,惩罚因子作用比较小。
2. 当 λi<<α 时,对应的参数会缩减至0
L1正则
对模型参数添加L1范数约束,即
J˜(w;X,y)=J(w;X,y)+α||w||1
如果通过梯度方法进行求解时,参数梯度为
∇J˜(w)=αsign(w)+∇J(w)
特殊情况下,对于二次优化问题,并且假设对应的Hessian矩阵是对角矩阵,可以推导出参数递推公式为 wi=sign(w∗i