zoukankan      html  css  js  c++  java
  • ML | 画图解释机器学习中的过拟合和欠拟合

    转载 1

    一张图看懂过拟合和欠拟合

    在这里插入图片描述

    过拟合

    通俗解释:对训练的数据支持的非常非常好

    定义:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

    分类的训练数据:
    在这里插入图片描述
    下一次给你相同的数据,也测试的很好,准确率100%
    来一个新数据
    在这里插入图片描述
    那我们说这个方块100%是红数据,这样是有错误率的

    欠拟合

    通俗解释:测啥啥不准
    定义:一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

    最佳拟合

    不考虑异常数据
    在这里插入图片描述

    过拟合原因以及解决办法

    原因:原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点
    解决办法:
    1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
    2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。
    3)减少特征维度,防止维灾难
    4) 对于Knn来说,近邻的数量非常的重要

    欠拟合原因以及解决办法

    原因:学习到数据的特征过少
    解决办法:
    1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照葫芦画瓢,总会得到意想不到的效果。除上面的特征之外,“上下文特征”、“平台特征”等等,都可以作为特征添加的首选项。
    2)添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强

  • 相关阅读:
    2019-9-2-C#枚举中使用Flags特性
    2019-9-2-C#枚举中使用Flags特性
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-获取进程退出代码
    2019-8-31-C#-获取进程退出代码
    access truncate
    GIT分布式版本控制系统
    iSCSI的配置(target/initiator)
    chkconfig命令
  • 原文地址:https://www.cnblogs.com/gaodi2345/p/14718600.html
Copyright © 2011-2022 走看看