第七章-深度学习中的正则化技术
1、前言
以增大训练误差为代价来减少测试误差,这些策略统称为正则化。
2、参数范数惩罚
我们讨论各种范数惩罚对模型的影响。在神经网络中,我们通常只对每一层仿射变换的权重做惩罚而不对偏置做正则惩罚。
2.1L^2参数正则化
最简单和最常见的参数范数惩罚是通常被称为权重衰减的参数范数惩罚。这个正则化策略通过向目标函数调价一个正则项KaTeX parse error: Can't use function '\v' in math mode at position 1: \̲v̲{(\theta)}=\fra…
2.2 L^1参数正则化
对模型参数w的L1正则化形式定义为:
KaTeX parse error: Can't use function '\v' in math mode at position 1: \̲v̲{(\theta)}=||w|…
即各个参数的绝对值之和
Bagging和其他集成方法
Bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。被称为模型平均。
模型平均奏效的原因是不同的模型通常不会再测试集上产生完全相同的错误。
Bagging是一种允许重复多次使用同一种模型、训练算法和目标函数的方法。
具体来说,Bagging涉及构造k个不同的数据集。每个数据集与原始数据集具有相同数量的样例,但从原始数据集中替换采样构成。这意味着,每个数据集以高概率缺失一些来自原始数据集的例子,还包含若干重复例子。
Boosting的技术构建比单个模型容量更高集成模型。向集成逐步添加神经网络,Boosting已经应用于构建神经网络的集成。通过逐渐添加神经网络的隐藏单元,Boosting也可以将单个神经网络解释为单个集成。
Dropout
Dropout提供了正则化一大类模型的方法,计算方便功能强大。第一张近似下,Dropout可以被认为是集成非常多的大神经网络的使用Bagging方法。Bagging涉及训练多个模型,并在每个测试样本上评估多个模型。Dropout提供一种廉价的Baagging集成近似,能够训练和评估指数级的神经网络。
具体而言,dropout可以训练所有子网络的集合,Dropout训练的集成包括所有从基本的基础网络除去非输出单元形成子网络。
我们通过放射和非线性变换,使神经元的输出乘以0,进行移除神经元。
训练中使用Dropout,我们使用基于minibatch的学习算法和小的步长,如梯度下降等。我们每次在minibatch加载一个样本,然后随机抽样应用于网络中所有输入和隐藏单元的不同二值掩码。
Dropout模型是共享参数的,其中每个模型继承的父神经网络参数的不同子集。
bagging与dropout训练对比
在bagging中,所有分类器都是独立的,而在dropout中,所有的模型都是参数共享的。
在bagging中,所有的分类器都是在特定的数据集下训练至收敛,而在dropout中没有明确的模型训练过程。网络都是在一步中训练一次(输入一个样本,随机训练一个子网络)
相同点:对于训练集来说,每一个子网络的训练数据是通过原始数据替代采样得到的子集。