过拟合的本质:模型对于噪声过于敏感,把训练样本里的噪声当做特征进行学习,以至于在测试集的表现不好,加入正则化后,当输入有轻微的改动,结果受到的影响较小。
正则化的方法主要有以下几种:
- 参数范数惩罚,比较好理解,将范数加入目标函数(损失函数),常见的有一范数,二范数
- 数据集增强
- 添加噪声
- earlystopping,当验证集的效果下降,而训练集还未收敛,提前终止训练
- 模型的融合,bagging方法
- Dropout(类似于bagging多个神经网络)
- Batch Normalization
- 简化网络结构
本文接下来将详细介绍L1范数和L2范数,其他的正则化方法比较好理解,就不在详述
L1范数和L2范数
有监督的机器学习问题主要有两个任务:最小化误差和规则化参数。最小化误差主要是为了让模型拟合我们的训练数据,规则化参数是防止模型过分拟合训练数据。因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。