本文是对《深度学习》的第七章,正则化方法的简单学习记录。
7.1 参数范式惩罚
对目标模型J添加一个参数范数惩罚$\Omega (\theta)$,限制模型 的学习能力。正则化后的目标函数记为:
$$\tilde{J}(\theta ;X,y) = J(\theta ;X,y) +\alpha \Omega (\theta)$$
我们通常只对权重做惩罚而不对偏置做正则惩罚。
神经网络情况下,有时候希望对网络的每一层使用单独的惩罚,并分配不同的$\alpha$系数。寻找合适的多个超参数的代价很大,因此为了减少搜索空间,我们会在所以层使用相同的权重衰减。
符号约束说明:向量$w$表示所有应受范数惩罚影响的权重,而向量$\theta$表示所有参数(包括w和无须正则化的参数)。
7.1.1 $L^2$参数正则化
5.2节中已经见过最简单的、最常见的$L^2$参数范数惩罚。其正则项为:
$$\Omega (\theta) = \frac 12 ||w||^2_2$$
令$w^\ast $为未正则化的目标函数取得最小训练误差时的权重向量,即$w^\ast =\text {argmin}_w J(w)$,并在$w^\ast $的邻域对目标函数做二次近似。
近似的$\hat J (\theta)$如下:
$$\hat J (\theta) = J (w^\ast) + \frac 12 (w-w^\ast)^TH(w-w^\ast) $$
其中,$H$是$J$在$w^\ast $处计算的Hessian矩阵(关于$w$)。因为$w^\ast $被定义为最优,所以该二次近似中没有一阶项。同样地,因为$w^\ast $是$J$的一个最优点,可以得出$H$是半正定。
7.1.2 $L^1$正则化
7.2 作为约束的范数惩罚
7.3 正则化和欠约束问题
7.4 数据集增强
使用更多的数据进行训练。
创建假数据并添加到训练集中。
图像:沿着训练图像每个方向平移几个像素。旋转。缩放。
数据集增强对语音识别也是有效的。
网络输入层注入噪声,
算法性能对比时,应确保算法使用同一 人工设计的数据集增强方案。
7.5 噪声鲁棒性
7.6 半监督学习
在半监督学习的框架下,$P(x)$产生的未标记样本和$P(x,y)$中的标记样本都用于估计$P(y|x)$或者根据x预测y。
半监督学习通常是学习一个表示:$h=f(x)$。学习表示的目的是使相同类的样本有类似的表示。
无监督学习可以为如何在空间聚集样本提供有用的线索。
模型的构建:生成模型$P(x)$或$P(x,y)$与判别模型$P(y|x)$共享参数,而不用分离无监督和监督部分。
权衡监督模型准则$-\text{log}P(y|x)$和无监督(或生成)模型准则$-\text{log}P(x)$或$-\text{log}P(x,y)$。
生成模型准则表达了对 监督学习问题的特殊形式的先验知识,即$P(x)$的结构通过某种共享参宿的方式连接到$P(y|x)$。
7.7 多任务学习
7.8 提前终止
在训练有足够表示能力甚至会过拟合的大模型时,经常会出现:训练误差随着时间推移逐渐降低但验证集的误差会再次上升。
此时,我们只需要返回验证集误差最低的参数设置。
在每次验证集误差有所改善时,我们存储模型参数的副本。当验证集的误差在事先指定的循环次数内没有进一步改善时,算法就会终止。
这就是提前终止(early stopping)。
两个代价:一是训练步数作为超参数,训练期间需要定期评估验证集。而是需要保持最佳的参数副本。
提前终止是一个不显眼的正则化形式。
提前终止需要验证集,意味着一部分训练数据不能馈送到模型。
为了更好地利用这部分数据,可以在提前终止的首次训练后,进行额外的训练。在第二轮(额外的)训练中,所有的训练数据都被包括在内。
未完待续。
7.9 参数绑定和参数共享
7.10 稀疏表示
7.13 Bagging和其他集成方法
Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术。
主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。
这是机器学习的一项常规策略,被称为:模型平均(model averaging)。采用这种策略的技术被称为:集成方法。