1. 问题概述
机器学习模型的目标是在训练数据集上表现良好,同时也能很好地泛化到新的未见过的数据。过拟合和欠拟合都是导致模型泛化能力差的原因。
- 欠拟合(underfitting):模型容量不足,无法很好地学习训练数据,在训练集和验证集上表现均较差。
- 过拟合(overfitting):模型容量过大,对训练数据学习过于充分,在训练集上表现良好但在验证集上表现较差。
- 良好拟合(good fit):模型容量适中,同时在训练集和验证集上表现较好。
欠拟合可以通过增加模型容量来解决,例如增加网络层数或节点数。过拟合需要使用正则化技术来解决。
2. 正则化技术
正则化通过限制模型权重大小来降低模型复杂度,实现防止过拟合的目的。常见的正则化技术包括:
- 权重衰减(weight decay):在损失函数中添加权重大小的惩罚项。
- 活动正则化(activity regularization): 对激活值大小添加惩罚。
- 权重约束(weight constraint):约束权重大小在一定范围内。
- 随机失活(dropout):以一定概率随机屏蔽输入单元。
- 加入噪声(noise):在输入数据中加入随机噪声。
- 早停法(early stopping):在验证集上监控模型表现,当泛化性能不再提升时提前停止训练。
这些方法通常结合使用,早停法几乎是必选的 regularization 技术。