欠拟合(Underfitting)和过拟合(Overfitting)
原文地址:美团点评技术团队
所谓欠拟合(Underfitting),即模型没有学到数据内在关系,如下图左一所示,产生分类面不能很好的区分X和O两类数据;产生的深层原因,就是模型假设空间太小或者模型假设空间偏离。
所谓过拟合(Overfitting),即模型过渡拟合了训练数据的内在关系,如下图右一所示,产生分类面过好地区分X和O两类数据,而真实分类面可能并不是这样,以至于在非训练数据上表现不好;产生的深层原因,是巨大的模型假设空间与稀疏的数据之间的矛盾。
在实战中,可以基于模型在训练集和测试集上的表现来确定当前模型到底是Underfitting还是Overfitting,判断方式如下表:
训练集表现 | 测试集表现 | 问题 |
---|---|---|
< 期望目标值 | < 期望目标值 | Underfitting |
> 期望目标值 | 接近或略逊于训练集 | 合适 |
> 期望目标值 | 远差于训练集 | Overfitting |
怎么解决Underfitting和Overfitting问题?
问题 | 数据 | 特征 | 模型 |
---|---|---|---|
Underfitting | 清洗数据 | 1. 增加特征 2. 删除噪音特征 | 1. 调低正则项的惩罚参数 2. 换更“复杂”的模型(如把线性模型换为非线性模型) 3. 多个模型级联或组合 |
Overfitting | 增加数据 | 1. 进行特征选择 2. 降维(如对特征进行聚类、主题模型进行处理等) | 1. 提高正则项的惩罚参数 2. 减少训练迭代次数 3. 换更“简单”的模型(如把非线性模型换为线性模型) |
正则化(Regularization)
正则化技术广泛应用在机器学习和深度学习算法中,本质作用是防止过拟合、提高模型泛化能力。过拟合简单理解就是训练的算法模型太过复杂了,过分考虑了当前样本结构。其是防止过拟合的其中一种技术手段。
在早期的机器学习领域一般只是将范数惩罚叫做正则化技术,而在深度学习领域认为:能够显著减少方差,而不过度增加偏差的策略都可以认为是正则化技术,故推广的正则化技术还有:扩增样本集、早停止、Dropout、集成学习、多任务学习、对抗训练、参数共享等。
[视频讲解]史上最全面的正则化技术总结与分析!(微信公众号:机器学习算法全栈工程师)