4.14 进阶:正则化
Numquam ponenda est pluralitas sine necessitate——“若无必要,勿增实体。”——奥卡姆的威廉
让学到的权重与训练数据完美匹配会带来问题。如果某个特征碰巧只出现在一个类别中,因而能完美预测结果,它就会获得非常大的权重。模型会试图过度完美地拟合训练集细节,连偶然与类别相关的噪声因素也一并建模。这个问题称为过拟合(overfitting)。好模型应能从训练数据很好地泛化到未见测试集,而过拟合模型的泛化能力很差。
为避免过拟合,在式 4.21 的损失函数中加入新的正则化项(regularization term)R(θ)。对一批 m 个样本,目标变为(将最小化损失改写为最大化对数概率,并去掉不影响 argmax 的 1/m):
θ^=θargmaxi=1∑mlogP(y(i)∣x(i))−αR(θ)(4.49) R(θ) 用来惩罚大权重。因此,虽然一组权重能完美匹配训练数据,但如果为此使用许多大权重,它受到的惩罚会高于拟合略差、权重却较小的另一组设置。正则化强度(regularization strength)α 越高,模型权重越小,对训练数据的依赖也越弱。通常不对偏置项正则化,因为偏置充当阈值,有助于处理未中心化数据和类别先验。
计算 R(θ) 常用两种方法。L2 正则化(L2 regularization)是权重值的二次函数,因使用权重的 L2 范数平方而得名。L2 范数 ∥θ∥2 等于向量 θ 到原点的欧氏距离。若 θ 包含 n 个权重:
R(θ)=∥θ∥22=j=1∑nθj2(4.50) L2 正则化后的目标函数为:
θ^=θargmax[i=1∑mlogP(y(i)∣x(i);θ)]−αj=1∑nθj2(4.51) L1 正则化(L1 regularization)是权重值的线性函数,因使用 L1 范数 ∥θ∥1 而得名。L1 范数是权重绝对值之和,也称曼哈顿距离:
R(θ)=∥θ∥1=i=1∑n∣θi∣(4.52) L1 正则化后的目标函数为:
θ^=θargmax[i=1∑mlogP(y(i)∣x(i);θ)]−αj=1∑n∣θj∣(4.53) 这些正则化方法源于统计学:L1 正则化称为 lasso 回归(Tibshirani, 1996),L2 正则化称为岭回归(ridge regression),两者都常用于语言处理。L2 的导数简单(θ2 的导数是 2θ),因而更容易优化;L1 则更复杂,因为 ∣θ∣ 的导数在零点不连续。不过,L2 偏好包含许多小权重的向量,L1 偏好稀疏解,即保留少数较大权重、把更多权重置零。因此,L1 会产生稀疏得多的权重向量,也就是使用少得多的特征。两种正则化通常都忽略偏置项,只考虑其他权重。
L1 和 L2 也可以作贝叶斯解释,视为对权重先验分布的约束。L1 相当于给权重施加拉普拉斯先验;L2 相当于假设权重服从均值 μ=0 的高斯分布。高斯分布中,值离均值越远,概率越低(其尺度由方差 σ2 决定)。因此,高斯权重先验表达了“权重偏好取 0”的假设。权重 θj 的高斯分布为:
2πσj21exp(−2σj2(θj−μj)2)(4.54) 将每个权重乘以相应高斯先验,就要最大化:
θ^=θargmaxi=1∏mP(y(i)∣x(i))×j=1∏n2πσj21exp(−2σj2(θj−μj)2)(4.55) 转到对数空间,令 μ=0 并假设 2σ2=1,便得到:
θ^=θargmaxi=1∑mlogP(y(i)∣x(i))−αj=1∑nθj2(4.56) 这与式 4.51 形式相同。