前言:

机器学习的模式是通过大量的数据喂给一个模型,模型会根据数据不断调整自身参数,最终具备判别这些数据的模式或特征的能力。若模型无法从这些数据中训练出一个很好的效果,则认为它是欠拟合。若模型在训练的时候达到很好的效果,而在未参与训练的数据上测试,效果不好,则认为它是过拟合。

在本文,将介绍欠拟合与过拟合的概念、特点、产生的原因、解决的方法。在认真阅读本文后,读者将会对欠拟合与过拟合有个全面的认识。

关注公众号CV技术指南,及时获取更多计算机视觉技术总结文章。

 

欠拟合与过拟合的概念

在训练模型的过程中,我们通常希望达到以下两个目的:

1. 训练的损失值尽可能地小。

2. 训练的损失值与测试的损失值之间的差距尽可能地小。

当第一个目的没有达到时,则说明模型没有训练出很好的效果,模型对于判别数据的模式或特征的能力不强,则认为它是欠拟合的。

当第一个目的达到,第二个没有达到时,说明模型训练出了很好的效果,而测试的损失值比较大,则说明模型在新的数据上的表现很差,此时可认为模型过度拟合训练的数据,而对于未参与训练的数据不具备很好的判别或拟合能力,这种情况下,模型是过拟合的。

 

用一个通俗的例子来说明:

假定你家里安排你去相亲,告诉你女方在某某餐厅等你。

若你家里人告诉你,女方穿裙子,披肩长发。结果你进去,发现有好几个位置都是穿裙子、披肩长发的女生,此时你无法判断是哪一个,这说明你了解女生身上的特征不够多,是欠拟合的。

若你家里人告诉你,女方穿裙子,戴了个帽子,披肩长发,手机壳是哆啦A梦,眉角有颗痣。结果女方觉得餐厅太热,进餐厅没多久就脱了帽子,你进去后发现有一个女生其它条件都符合,就是没戴帽子,你就因此认定她不是你相亲对象,这说明你了解的女生的特征太多,对于稍微有点不同的特征,你就做出了错误判断,这是过拟合的。

若家里人告诉你,女方穿裙子,披肩长发,眉角有颗痣。你进去后发现,虽然穿裙子的有好几个,披肩长发的也不少,但眉角有痣的就那一位,即便那位还戴了个帽子,也不妨碍你认为她就是你相亲对象,于是你准确地走到了她面前开始了尴尬的交流,这是合理的拟合。

在这个例子中,裙子,披肩长发都是女生很普遍的特征,眉角的痣和裙子、披肩长发的组合是她特有的特征,手机壳和戴帽子这属于偶然的特征,不能因为她换了手机壳或没戴帽子就不认识这人了。过拟合在于将偶然的特征也作为识别身份的标志,而欠拟合在于了解的特征的特征不够多,在机器学习中表示模型的学习能力不够,无法学到足够的数据特征。

 

欠拟合的特点:训练的损失值很大,且测试的损失值也很大。

过拟合的特点:训练的损失值足够小,而测试的损失值很大。

对于一个足够复杂度或足够参数量的模型或神经网络来说,随着训练的进行,会经历一个“欠拟合-适度拟合-过拟合”的过程。

对于一个复杂度不够的模型或参数量太少的神经网络来说,只有欠拟合。

 

欠拟合产生的原因与解决方法

根据欠拟合的特点来看,产生欠拟合的主要原因有两个:

1. 模型的容量或复杂度不够,对神经网络来说是参数量不够或网络太简单,没有很好的特征提取能力。通常为了避免模型过拟合,会添加正则化,当正则化惩罚太过,会导致模型的特征提取能力不足。

2. 训练数据量太少或训练迭代次数太少,导致模型没有学到足够多的特征。

 

根据欠拟合产生的原因来分析,解决方法有两个:

1. 换个更复杂的模型,对神经网络来说,换个特征提取能力强或参数量更大的网络。或减少正则化的惩罚力度。

2. 增加迭代次数或想办法弄到足够的训练数据或想办法从少量数据上学到足够的特征。如适度增大epoch,数据增强,预训练,迁移学习,小样本学习,无监督学习等。

 

过拟合产生的原因与解决方法

根据过拟合的特点来看,过拟合产生的原因有以下四个:

1. 模型太复杂,对神经网络来说,参数太多或特征提取能力太强,模型学到了一些偶然的特征。

2. 数据分布太单一,例如训练用的所有鸟类都在笼子里,模型很容易把笼子当成识别鸟的特征。

3. 数据噪声太大或干扰信息太多,如人脸检测,训练图像的分辨率都是几百乘几百,而人脸只占了几十到几百个像素,此时背景太大,背景信息都属于干扰信息或噪声。

4. 训练迭代次数太多,对数据反复地训练也会让模型学到偶然的特征。

根据过拟合产生的原因来看,解决方法有以下四个:

1. 换一个复杂度低一点的模型或正则化,对神经网络来说,使用参数量少一点的网络,或使用正则化。

2. 使用不同分布的数据来训练。如数据增强,预训练等。

3. 使用图像裁剪等方法对图像进行预处理。

4. 及时地停止训练。如何判断什么时候该停止训练?使用K折交叉验证,若训练损失还在减少,而验证损失开始增加,则说明开始出现过拟合。

 

欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “入门指南“可获取计算机视觉入门所有必备资料。

其它文章

ML2021 | PatrickStar:通过基于块的内存管理实现预训练模型的并行训练

ICCV2021 | PnP-DETR:用Transformer进行高效的视觉分析

ICCV2021 | 医学影像等小数据集的非自然图像领域能否用transformer?

ICCV2021 | Vision Transformer中相对位置编码的反思与改进

ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征

2021-视频监控中的多目标跟踪综述

统一视角理解目标检测算法:最新进展分析与总结

全面理解目标检测中的anchor      |    姿态估计综述

目标检测中回归损失函数总结     |     小目标检测常用方法总结

视觉Transformer综述    |    2021年小目标检测最新研究综述

Siamese network综述    |  小目标检测的一些问题,思路和方案

视频理解综述:动作识别、时序动作定位、视频Embedding

从CVPR 2021的论文看计算机视觉的现状

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | TransCenter: transformer用于多目标跟踪算法

CVPR2021 | 开放世界的目标检测

CVPR2021 | TimeSformer-视频理解的时空注意模型

CVPR2021 | 一个高效的金字塔切分注意力模块PSA

CVPR2021 | 特征金字塔的新方式YOLOF

经典论文系列 | 重新思考在ImageNet上的预训练

经典论文系列 | Group Normalization & BN的缺陷

经典论文系列 | 目标检测–CornerNet  & anchor boxes的缺陷

经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

CV方向的高效阅读英文文献方法总结

CNN可视化技术总结(一)-特征图可视化

CNN可视化技术总结(二)–卷积核可视化

CNN可视化技术总结(三)–类可视化

CNN可视化技术总结(四)–可视化工具与项目

池化技术总结    |  NMS总结    |  注意力机制总结

特征金字塔总结      |  数据增强方法总结

计算机视觉专业术语总结(一)构建计算机视觉的知识体系

欠拟合与过拟合技术总结    |  损失函数技术总结

CNN可视化技术总结

CNN结构演变总结—经典模型

CNN结构演变总结—轻量化模型

CNN结构演变总结—设计原则

论文创新的常见思路总结

在公众号《CV技术指南》中回复“技术总结”可获取以上所有总结系列文章的汇总pdf


版权声明:本文为wxkang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wxkang/p/14883567.html