IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 欠拟合、过拟合现象,及解决办法 -> 正文阅读

[人工智能]欠拟合、过拟合现象,及解决办法

@创建于:2022.05.27
@修改于:2022.05.27

1、过拟合与欠拟合

机器学习中模型的泛化能力强的模型才是好模型。对于训练好的模型:

  • 若在训练集表现差,不必说在测试集表现同样会很差,这可能是欠拟合导致;
  • 若模型在训练集表现非常好,却在测试集上差强人意,则这便是过拟合导致的。

过拟合与欠拟合也可以用 Bias 与 Variance 的角度来解释:

  • 欠拟合会导致高 Bias
  • 过拟合会导致高 Variance

所以模型需要在 Bias 与 Variance 之间做出一个权衡。

现象训练集表现验证集表现导致后果
欠拟合不好不好高 Bias
过拟合不好高 Variance
适度拟合Bias 和 Variance 的折中

在这里插入图片描述

2、欠拟合

2.1 出现的原因

使用的模型复杂度过低
使用的特征量过少
【其他的,如果您知道,请告诉我!感谢】

2.2 解决的办法

1、对于机器学习

  • 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间
  • 添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
  • 减少正则化参数,正则化的目的是用来防止过拟合的,但是模型出现了欠拟合,则需要减少正则化参数
  • 使用非线性模型,比如核SVM 、决策树、深度学习等模型
  • 调整模型的容量(capacity),通俗地,模型的容量是指其拟合各种函数的能力。对于神经网络,这在很大程度上取决于它有多少神经元以及它们如何连接在一起。
  • 容量低的模型可能很难拟合训练集;使用集成学习方法,如Bagging ,将多个弱学习器Bagging

2、对于深度学习
欠拟合的原因以及解决办法(深度学习)

  • 对原始数据做归一化处理,这个会加速模型的收敛
  • 减少使用正则化,减少的dropout
  • 增加单层的神经元个数,加深网络层次
  • 正确使用激活函数

3、过拟合

3.1 出现的原因

1、对于机器学习

  • 建模样本选取有误,如样本数量太少,选样方法错误,样本标签错误等,导致选取的样本数据不足以代表预定的分类规则

  • 样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则

  • 假设的模型无法合理存在,或者说是假设成立的条件实际并不成立
    参数太多,模型复杂度过高

  • 对于决策树模型,如果我们对于其生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据(event)或非事件数据(no event),使其虽然可以完美匹配(拟合)训练数据,但是无法适应其他数据集

2、对于神经网络模型

  • a)对样本数据可能存在分类决策面不唯一,随着学习的进行,BP算法使权值可能收敛过于复杂的决策面;
  • b)权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征

3.2 解决的办法

  • 正则化(Regularization)(L1和L2)
  • 数据扩增,即增加训练数据样本(Data augmentation)
  • Dropout
  • Early stopping
  • 降低模型复杂度
  • 使用交叉验证

4. Early stopping

深度学习入门四----过拟合与欠拟合

在这里插入图片描述
在训练期间验证损失(validation loss)可能会开始增加,为了防止这种情况,在验证损失(validation loss)不再减少时停止训练。以这种方式中断训练称为early stopping。

一旦检测到验证损失开始再次上升,可以将权重重置为最小值出现的位置。这可确保模型不会继续学习噪声和过度拟合数据。

提前停止训练也意味着不太可能在网络完成学习信号之前过早停止训练。所以除了防止过拟合训练时间过长之外,提前停止还可以防止欠拟合训练时间不够长。只需将您的训练时期设置为一个较大的数字(比您需要的多),早期停止将处理其余部分。

5、Dropout

深度学习入门五----Dropout and Batch Normalization
过拟合的原因以及解决办法(深度学习)
在训练的每一步随机丢弃层输入单元的一部分,使网络更难学习训练数据中的那些虚假模式。相反,它必须搜索广泛的、通用的模式,其权重模式往往更加稳健。

在这里插入图片描述

6、L1 和 L2 正则化

L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。
在这里插入图片描述

7、参考资料

机器学习防止欠拟合、过拟合方法
欠拟合和过拟合出现原因及解决方案

深度学习入门四----过拟合与欠拟合
深度学习入门五----Dropout and Batch Normalization

欠拟合的原因以及解决办法(深度学习)
过拟合的原因以及解决办法(深度学习)

机器学习中正则化项L1和L2的直观理解
L1正则化与L2正则化

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:13:42  更:2022-06-01 15:17:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:30:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码