如何有效地识别“过拟合”和“欠拟合”现象,并有针对性地进行模型调整,是不断改进机器学习模型的关键。

  • 过拟合

    • 模型对于训练数据拟合呈过当的情况
    • 反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差
    • 模型过于复杂,容易把噪声数据的特征也学习到模型中,导致模型泛化能力下降,在后期应用过程中很容易输出错误的预测结果
  • 欠拟合
    • 模型在训练和预测时表现都不好的情况
    • 没有很好地捕捉到数据的特征,不能够很好地拟合数据

7.1 降低“过拟合”风险的方法

(1)获得更多的训练数据

  • 使用更多的训练数据是解决过拟合问题最有效的手段

    • 因为更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响
  • 直接增加实验数据一般是很困难的,可以通过一定的规则来扩充训练数据
    • 在图像分类的问题上,可以通过图像的平移、旋转、缩放等方式扩充数据
    • 更进一步地,可以使用生成式对抗网络来合成大量的新训练数据

(2)降低模型复杂度

  • 在数据较少时,模型过于复杂是产生过拟合的主要因素,适当降低模型复杂度可以避免模型拟合过多的采样噪声。

    • 在神经网络模型中减少网络层数、神经元个数等
    • 在决策树模型中降低树的深度、进行剪枝等

(3)正则化方法

  • 给模型的参数加上一定的正则约束,比如将权值的大小加入到损失函数中

    • 以L2正则化为例,这样,在优化原来的目标函数C0的同时,也能避免权值过大带来的过拟合风险

    C=C0+λ2n⋅∑iwi2C=C_0+\frac{\lambda}{2n}\cdot\sum_iw_i^2 C=C0​+2nλ​⋅i∑​wi2​

(4)集成学习方法

  • 把多个模型集成在一起,来降低单一模型的过拟合风险

    • 如Bagging方法

7.2 降低“欠拟合”风险的方法

(1)添加新特征

  • 当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合
  • 通过挖掘“上下文特征”“ID类特征”“组合特征”等新的特征,往往能够取得更好的效果
    • 如因子分解机、梯度提升决策树、Deep-crossing等都可以成为丰富特征的方法

(2)增加模型复杂度

  • 增加模型的复杂度可以使模型拥有更强的拟合能力

    • 在线性模型中添加高次项
    • 在神经网络模型中增加网络层数或神经元个数等

(3)减小正则化系数

  • 正则化是用来防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。

百面机器学习 #2 模型评估:07 过拟合和欠拟合及其常用解决方法相关推荐

  1. 百面机器学习之模型评估

    1.准确率的局限性.         Hulu的奢侈品广告主们希望把广告定向投放给奢侈品用户.Hulu通过第三方的数据管理平台(Data Management Platform,DMP)拿到了一部分奢 ...

  2. 百面机器学习:模型评估

    1. 评估指标的局限性         要合理地运用评估指标,才可以发现模型本身的问题,不然反其道而行之得出错误的调参结论.         先讲了TP.FP.FN.和FP这几个值. 这几个率真的是看 ...

  3. 百面机器学习 #2 模型评估:03 余弦距离和余弦相似度、欧氏距离

    文章目录 余弦相似度 余弦相似度和余弦距离 和欧式距离的比较和关系 余弦距离不是一个严格定义的距离 在模型训练过程中,我们也在不断地评估着样本间的距离,如何评估样本距离也是定义优化目标和训练方法的基础 ...

  4. 百面机器学习 #2 模型评估:0102 精确率与召回率,假阳性与真阳性率,PR曲线和ROC曲线

    文章目录 1. P-R(Precision-Recall)曲线 F1 score 2. 平方根误差的局限性 3. ROC曲线 ROC曲线绘制 4. AUC predict Positive predi ...

  5. 百面机器学习02-模型评估

    评估指标的局限性 场景描述: 在模型评估过程中,分类问题.排序问题.回归问题往往需要使用不同的指标进行评估 .在诸多的评估指标中,大部分指标只能片面地反映模型的一部分性能 . 如果不能合理地运用评估指 ...

  6. python训练模型测试模型_python 机器学习中模型评估和调参

    在做数据处理时,需要用到不同的手法,如特征标准化,主成分分析,等等会重复用到某些参数,sklearn中提供了管道,可以一次性的解决该问题 先展示先通常的做法 import pandas as pd f ...

  7. python 两点曲线_python机器学习分类模型评估

    python机器学习分类模型评估 1.混淆矩阵 在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多 ...

  8. 【机器学习】模型评估

    1 模型评估常用方法? ​ 一般情况来说,单一评分标准无法完全评估一个机器学习模型.只用good和bad偏离真实场景去评估某个模型,都是一种欠妥的评估方式.下面介绍常用的分类模型和回归模型评估方法. ...

  9. 百面机器学习2---模型评估

    1 评估指标的局限性 引例:Hulu的奢侈品广告主们希望把广告定向投放给奢侈品用户.Hulu拿到了一部分奢侈品用户的数据,并以此为训练集和测试集,训练和测试奢侈品用户的分类模型.该模型的分类准确率超过 ...

最新文章

  1. pl/sql developer执行光标所在行
  2. mysql 记录所有操作_mysql 的一些记录的操作
  3. React进阶—性能优化
  4. PLC对步进电机的快速精确定位控制
  5. HTML5游子吟网页的完整代码,《游子吟》教学案
  6. jupyter中markdown模式编辑文本格式
  7. keras深度学习(3)-单标签多分类问题之新闻分类
  8. 隐藏OEM分区的解决办法和推荐的清理磁盘的方法
  9. 使用nginx在指定端口做反向代理
  10. 你应该了解真相_世界首次了解核风险的真相
  11. BZOJ5473: 仙人掌
  12. 【Excel常用函数】VLookup函数使用教程,附视频教程
  13. python 函数式编程及递归
  14. 把扫描文件转变为word文档的最实用的四款OCR识别软件
  15. 数据分析 第三讲 matplotlib常用统计图
  16. NEO4J-链路预测算法03-优先链接算法(Preferential Attachment)应用场景简介
  17. python画国际象棋棋盘图片_python使用turtle绘制国际象棋棋盘
  18. MyBatisPlus--多数据源
  19. 永动机:空想与诈骗——收集一些趣味的永动机设计
  20. 上门汽车保养预约小程序

热门文章

  1. es6中的promise解读
  2. Spring Boot 学习系列(04)—分而治之,多module打包
  3. linux 权限管理命令chown、chgrp、umask、linux新建文件或目录的默认权限755
  4. java实现.net中的枚举
  5. sql 遍历结果print和表格形式
  6. PhpStrom 配置Xdebug
  7. 测试基础-06-测试计划编写
  8. @Import-给容器中加载bean的第三种方式
  9. Python3列表、元组及之间的区别和转换
  10. 软件测试个人感悟之测试用例的评审重点是什么?