统计学习必学的十个问题:理论与实践
上QQ阅读APP看书,第一时间看更新

1.5 正则化和参数绑定

出现欠拟合,我们会增加数据的特征或者增加模型的容量,比如提高多项式模型的阶数;

出现过拟合的时候,我们希望减少数据的特征或者减少模型的容量,比如减少多项式的阶数、特征选择(见第2章)和特征提取(见第6章)。此外,我们还可以采用正则(regularization)的办法来防止过拟合。

正则化并不直接改变模型容量,而是表达了对最终找到的函数形式的偏好。前面提到最小化损失函数的过程就是在假设空间中找到尽可能好的映射,我们对损失函数的修改就改变了最终找到的映射的形式,常见的有L1L2正则化,它们分别对损失函数添加了向量1范数和向量2范数的平方,见定义1.4,我们的新的平方损失函数就可以被写作:

定义1.4(向量范数norm) 向量范数是对向量大小的度量,p范数被定义为:

p=1为1范数,p=2为2范数。

从式(1.7)、(1.8)可以看出,最小化损失函数就是最小化均方误差和正则项的和,其中λ是超参数,用来调节正则化项在损失函数的比例。只从损失函数的角度很难看出防止过拟合的效果,我们以L2正则化为例,来说明正则化项是如何发挥作用的。最小化均方误差,就可以将均方误差对参数求极值,满足一阶导数为零,二阶导数大于零的极值点就是局部最小值点,此时的最优参数可以被表示为:

其中X为样本矩阵,y为目标值,如果XTX是一个奇异矩阵(见定义1.1),其逆矩阵并不存在,式(1.10)就失去了意义,虽然我们可以使用摩尔-彭罗斯广义逆(Moore-Penrose pseudoinverse)来解出参数或者直接使用迭代优化算法(不使用解析),但是会带来过拟合。比如,多重共线性问题会使得XTX并不满秩,成为一个奇异矩阵。

定理1.1(奇异矩阵的性质) 若方阵满足其行列式为零、不满秩两个条件之一,该方阵就是奇异矩阵,奇异矩阵的逆不存在,但广义逆存在。否则,该方阵就是非奇异矩阵,逆矩阵存在,且为唯一的广义逆矩阵。

如果是添加了L2正则化的损失函数,对其参数求极值,最优参数就变为了:

此时矩阵XTX因为加上了一个λ倍的单位矩阵,就变成了非奇异矩阵,这也是L2正则化可以解决多重共线性问题的原因。

在回归任务中,把添加L1正则化的方法叫作LASSO(Least Absolute Shrinkage and Selection Operator),把L2正则化的回归方法叫作岭回归(Ridge Regression)。这两者有着明显的区别(见图1.6),正则化项的等值线与均方误差的等值线的交点就是最优参数点。

图1.6 参数的优化示意图,左边的图为L1正则化,右边的图为L2正则化,ω*是找到的最优参数

我们可以从图中发现三个事实:

(1)最小化添加正则化项的损失函数,最后得到的损失值要大于直接最小化均方误差得到的损失值,换而言之,添加正则化项会使得原本的迭代提前终止,这也正是深度学习经常使用的提前终止(early stopping)被看作正则化手段的原因。

(2)在(1)的前提下,添加正则化项找到的参数值比不添加找到的要小。发生过拟合时,曲线往往要精确地连接每一个点,导数也就比较大,正则化在样本空间上就表现为权重衰减,从而避免严重的过拟合。

(3)在(2)的前提下,Lasso的交点在轴上,意味着某些参数可以为零,L1正则化不仅具备权重衰减的特点,还有特征选择的作用。

事实上,式(1.7)、(1.8)并不是唯一的形式,它们表达了参数对趋于零的偏好。如果我们有足够的把握认为,参数应该趋于一个已知的不为零的数,相应的ωknow正则化形式就可以变为:

这同样也是常见的正则化形式。在深度学习中,任务如果足够相似,模型的参数就可能会接近,所以可以用训练好的模型参数作为我们已知的ωknow,在训练过程中添加上面的正则化项,就可以实现参数绑定(如果考虑先验分布,ωknow其实是先验分布的均值,我们会在第3章详细讨论)。