• 过拟合与欠拟合的原因以及解决方案


    作者:我执
    链接:https://zhuanlan.zhihu.com/p/271727854
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    有哪些原因会导致过拟合?

    数据层面

    1. 训练集和测试集的数据分布不一致
    2. 训练数据集太少,样本单一,模型无法从中学到泛化的规则
    3. 训练集中的噪音太多,导致模型过分记住了噪音特征

    模型层面

    1. 模型过于复杂,换句话说就是模型把这些数据“死记硬背”了下来,而不是学到了泛化规则。

    过拟合如何解决?

    数据层面

    1. 增加数据的量,或者增加数据的多样性,让模型学到更有效的特征。

    模型层面

    1. 降低模型的复杂度,把模型变得更简单。如决策树的剪枝算法、神经网络中的L2/L1正则化等。

    训练层面

    1. 使用验证集,当验证集发生过拟合现象时及早停止模型。
    2. 在训练过程中使用正则化技术,如神经网络中的Dropout、L2、L1正则化等。

    模型融合

    1. 把多个模型集成在一起,降低模型过拟合的风险,如Bagging方法。

    有哪些原因会导致欠拟合?

    欠拟合一般是模型表达能力不够或者说数据有问题,导致无法从数据中学到有效的特征与规则。
    数据层面

    1. 数据特征表达能力不强或者现有特征与标签之间的相关性不强。

    模型层面

    1. 假设的模型太简单,导致无论怎么学习都无法学到有效的信息,即模型“先天不足”。
    2. 模型合适,但是没有训练好,即模型还没有训练到收敛的情况。

     

    解决欠拟合的常见方法有哪些?

    1. 添加新的数据特征
    2. 增加模型复杂度,假设一个更复杂的空间
    3. 减小正则化系数
    4. 增加模型训练时间,直到模型收敛为止
    作者:你的雷哥
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    代码书写的细节
    php中的正则函数主要有三个-正则匹配,正则替换
    2个比较经典的PHP加密解密函数分享
    淘宝运营中的6大致命误区,你犯过么?
    30分钟教你写出10分的淘宝标题
    超全的web开发工具和资源
    转化率不好?告诉你转化飙秘诀
    帮你店铺日销千单的20个淘宝小技巧
    不刷单,中小卖家如何提升店铺流量?
    使用Flexible实现手淘H5页面的终端适配
  • 原文地址:https://www.cnblogs.com/henuliulei/p/15291178.html
Copyright © 2020-2023  润新知