深度学习——PyTorch实战计算机视觉2

欠拟合和过拟合

搭建的模型是否发生过拟合或者欠拟合可作为评价模型拟合程度好坏的指标。欠拟合和过拟合地模型预测新数据地准确性都不理想,最显著的区别就是欠拟合的模型对已有数据地匹配性很差,但是对噪声不敏感;而过拟合的模型对数据的匹配性太好,对噪声很敏感。

1. 欠拟合

举例:

上图为已有的房屋面积与价格的关系数据。

上图就是一个欠拟合模型。虽然捕获了数据的一部分特征,但是不能很好地对新数据进行准确预测。这个欠拟合模型缺点明显,若输入的新数据的真实价格在模型的上下抖动,那么相同面积的房屋在模型中预测的价格会与真实价格有较大的误差。

上图是一个比较不错的拟合模型,从某种程度上讲,该模型已经捕获了原始数据的大部分特征,与欠拟合模型相比,不会存在那么严重的问题。

解决欠拟合问题的三个方法:

  1. 增加特征项:多数情况下,出现欠拟合是因为没有准确把握数据的主要特征,所以可以尝试在模型中加入更多的、和原始数据有重要相关性的特征来训练模型,这样得到的模型可能会有更好的泛化能力。
  2. 构造复杂的多项式:这种方法比较容易理解,例如:一次项函数就是一条直线,二次项函数就是一条抛物线,一项项和二次项函数的特性决定了它们的泛化能力是有局限性的。如果数据不在直线或者抛物线附近,那么必然会出现过拟合的情况。所以可以通过增加函数的次项来增强模型的变化能力,从而提升泛化能力。
  3. 减少正则化参数:使用正则化参数是为了防止过拟合,但若模型已经出现了欠拟合的情况,就可以通过减少正则化参数来消除欠拟合。

2. 过拟合

举例:

 上图为房屋面积与价格之间的关系数据。

上图是一个过拟合模型,已经过度捕获了原始数据的特征,受原始数据中噪声数据的影响很严重。

如上图,若噪声数据严重偏离既定的数据轨道,则拟合出来的模型会发生很大改变,这个影响是灾难性的。

解决过拟合问题的三个办法:

  1. 增大训练的数据量:多数情况下,发生过拟合是因为用于训练模型的数据量太小,模型过度捕获数据的有限特征,就会出现过拟合。增加训练数据后,模型就能捕获数据的更多特征,就不会过于依赖数据的个别特征。
  2. 采用正则化方法:正则化一般指在目标函数之后加上范数,用来防止模型过拟合。实践中常用的正则化方法有L0正则、L1正则和L2正则。
  3. Dropout方法:Dropout方法在神经网络模型中使用频率高。简单来说,Dropout就是在神经网络模型进行前向传播过程中,随机选取和丢弃指定层次之间的部分神经连接。因为整个过程是随机的,所以能有效防止过拟合。
发布了115 篇原创文章 · 获赞 33 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/102612498