欠拟合与过拟合

欠拟合是指模型在训练集、验证集和测试集上均表现不佳的情况;

过拟合是指模型在训练集上表现很好,到了验证和测试阶段就大不如意了,即模型的泛化能力很差。

欠拟合和过拟合一直是机器学习训练中的难题,在进行模型训练的时候往往要对这二者进行权衡,使得模型不仅在训练集上表现良好,在验证集以及测试集上也要有出色的预测能力。下面对解决欠拟合和过拟合的一般方法作一总结,说明大致的处理方向,具体应用还得结合实际的任务、数据和算法模型等。

解决欠拟合(高偏差)的方法

1. 模型复杂化

•  对同一个算法复杂化。例如回归模型添加更多的高次项,增加决策树的深度,增加神经网络的隐藏层数和隐藏单元数等

•  弃用原来的算法,使用一个更加复杂的算法或模型。例如用神经网络来替代线性回归,用随机森林来代替决策树等

2. 增加更多的特征,使输入数据具有更强的表达能力

•  特征挖掘十分重要,尤其是具有强表达能力的特征,往往可以抵过大量的弱表达能力的特征

•  特征的数量往往并非重点,质量才是,总之强特最重要

•  能否挖掘出强特,还在于对数据本身以及具体应用场景的深刻理解,往往依赖于经验

3. 调整参数和超参数

•  超参数包括:

- 神经网络中:学习率、学习衰减率、隐藏层数、隐藏层的单元数、Adam优化算法中的β1和β2参数、batch_size数值等

- 其他算法中:随机森林的树数量,k-means中的cluster数,正则化参数λ等

4. 增加训练数据往往没有用

•  欠拟合本来就是模型的学习能力不足,增加再多的数据给它训练它也没能力学习好

5. 降低正则化约束

•  正则化约束是为了防止模型过拟合,如果模型压根不存在过拟合而是欠拟合了,那么就考虑是否降低正则化参数λ或者直接去除正则化项

解决过拟合(高方差)的方法

1. 增加训练数据数

•   发生过拟合最常见的现象就是数据量太少而模型太复杂

•   过拟合是由于模型学习到了数据的一些噪声特征导致,增加训练数据的量能够减少噪声的影响,让模型更多地学习数据的一般特征

•   增加数据量有时可能不是那么容易,需要花费一定的时间和精力去搜集处理数据

•   利用现有数据进行扩充或许也是一个好办法。例如在图像识别中,如果没有足够的图片训练,可以把已有的图片进行旋转,拉伸,镜像,对称等,这样就可以把数据量扩大好几倍而不需要额外补充数据

•   注意保证训练数据的分布和测试数据的分布要保持一致,二者要是分布完全不同,那模型预测真可谓是对牛弹琴了

2. 使用正则化约束

•   在代价函数后面添加正则化项,可以避免训练出来的参数过大从而使模型过拟合。使用正则化缓解过拟合的手段广泛应用,不论是在线性回归还是在神经网络的梯度下降计算过程中,都应用到了正则化的方法。常用的正则化有l1正则和l2正则,具体使用哪个视具体情况而定,一般l2正则应用比较多

3. 减少特征数

•   欠拟合需要增加特征数,那么过拟合自然就要减少特征数。去除那些非共性特征,可以提高模型的泛化能力

4. 调整参数和超参数

•   不论什么情况,调参是必须的

5. 降低模型的复杂度

•   欠拟合要增加模型的复杂度,那么过拟合正好反过来

6. 使用Dropout

•   这一方法只适用于神经网络中,即按一定的比例去除隐藏层的神经单元,使神经网络的结构简单化

7. 提前结束训练

•   即early stopping,在模型迭代训练时候记录训练精度(或损失)和验证精度(或损失),倘若模型训练的效果不再提高,比如训练误差一直在降低但是验证误差却不再降低甚至上升,这时候便可以结束模型训练了

什么是欠拟合现象_欠拟合和过拟合是什么?解决方法总结相关推荐

  1. 什么是欠拟合现象_什么是过拟合?什么是欠拟合?

    原标题:什么是过拟合?什么是欠拟合? 过拟合:1)简单理解就是训练样本的得到的输出和期望输出基本一致,但是样本输出和测试样本的期望输出相差却很大 .2)为了得到一致假设而使假设变得过度复杂称为过拟合. ...

  2. 枪火游侠显示无法连接服务器,枪火游侠游戏无响应怎么办_枪火游侠玩不了解决方法...

    近日,不少玩家反应在进入游戏总会出现各种玩不了或打不开的问题,导致无法正常运行游戏,那么枪火游侠游戏无响应怎么办?下面小编就把枪火游侠玩不了解决方法分享给大家! 枪火游侠游戏无响应怎么办_枪火游侠玩不 ...

  3. 什么是欠拟合现象_深度学习中过拟合、欠拟合问题及解决方案

    在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据 ...

  4. 什么是欠拟合现象_在模型评估过程中,过拟合和欠拟合具体指什么现象?能否说出几种降低过拟合和欠拟合风险的方法?...

    在模型评估过程中,过拟合和欠拟合具体指什么现象? 过拟合是指模型在训练数据拟合呈过当的情况,反应到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现很差.欠拟合指的是模型在训练和预测 ...

  5. 什么是欠拟合现象_在模型评估过程中,过拟合和欠拟合具体指什么现象

    在模型评估过程中,过拟合和欠拟合具体指什么现象? 过拟合是指模型对于训练数据拟合呈过当的情况,反映到评估指标上,就是模型在训练集上的表现好,但是在测试集和新数据上的表现较差. 欠拟合指的是模型在训练和 ...

  6. 什么是欠拟合现象_过拟合与欠拟合问题

    过拟合(overfitting)与欠拟合(underfitting)是统计学中的一组现象.过拟合是在统计模型中,由于使用的参数过多而导致模型对观测数据(训练数据)过度拟合,以至于用该模型来预测其他测试 ...

  7. 误差函数拟合优缺点_欠拟合、过拟合及如何防止过拟合

    对于深度学习或机器学习模型而言,我们不仅要求它对训练数据集有很好的拟合(训练误差),同时也希望它可以对未知数据集(测试集)有很好的拟合结果(泛化能力),所产生的测试误差被称为泛化误差.度量泛化能力的好 ...

  8. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探...

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...

  9. sigmoid函数解决溢出_梯度消失和梯度爆炸及解决方法

    一.为什么会产生梯度消失和梯度爆炸? 目前优化神经网络的方法都是基于BP,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化.其中将误差从末层往前传递的过程需要链式法则(Cha ...

最新文章

  1. mybatis学习7 实战项目
  2. linux zip指定目录解压,Linux zip解压/压缩并指定目录
  3. cin输入问题的处理:cin.clear() 、cin.sync() 、cin.ignore()
  4. python代码块使用缩进表示-Python 为什么使用缩进来划分代码块?
  5. Android 服务入门
  6. 前端面试题——HTML基础篇
  7. java 示例_功能Java示例 第2部分–讲故事
  8. 海量数据处理--位图(BitMap)
  9. html 表格 单击,在HTML表格中单击“空”单元格
  10. 机器学习hierarchical clustering_材料学+AI:非监督学习预测新型固态锂离子导体材料...
  11. kell Vision5有那些使用技巧呢
  12. (转)比较全的OA模板
  13. java 排队实现_Java实现排队论的原理
  14. python中oct函数_Python内置函数OCT详解
  15. 浅谈根号分治——暴力的美学
  16. Mac系统下Carina初体验
  17. Java中使用jedis操作redis(使用maven)
  18. ELLE风尚大典暨全球75周年庆典在成都环球中心举办
  19. 云米Q2财报:复苏表象下有苦衷
  20. 计算机无法验证此文件,oxcoooo428无法验证此文件的数字签名的解决方法

热门文章

  1. 闲人闲谈PS之二十一——SAP自定义程序增加附件上传下载功能
  2. hiho一下 第139周 《买零食》 多维01背包
  3. Logstash~filter.kv插件使用教程(附带示例)
  4. 关于IOS7 AutoLayout的各种bug
  5. 为何热爱机器人工程专业的朋友如此少
  6. 5V转3.3V的N种方法
  7. ARM嵌入式Linux系统设计与开发
  8. 计算机电缆传输频率,传输频率
  9. wikioi1369 xth 砍树
  10. 社保卡医保卡居民健康卡电动读卡器|读写器M100-C2W如何规避标的入围行业技术壁垒的问题