深度学习-全连接神经网络-训练过程-欠拟合、过拟合和Dropout- [北邮鲁鹏]

news2024/11/24 22:53:36

目录标题

  • 机器学习的根本问题
  • 过拟合overfitting
    • 泛化能力差。
    • 应对过拟合
      • 最优方案
      • 次优方案
        • 调节模型大小
        • 约束模型权重,即权重正则化(常用的有L1、L2正则化)
          • L1 正则化
          • L2 正则化
          • 对异常值的敏感性
          • 随机失活(Dropout)
            • 随机失活的问题
  • 欠拟合

机器学习的根本问题

机器学习的根本问题是优化泛化问题。

  • 优化:是指调节模型以在训练数据上得到最佳性能。
  • 泛化:是指训练好的模型在前所未见的数据上的性能好坏。

过拟合overfitting

出现过拟合,得到的模型在训练集上的准确率很高,但是在真实的场景下识别率确很低。

泛化能力差。

过拟合overfitting:指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测得很差的现象。这种情况下模型可能只是记住了训练集数据,而不是学习到了数据特征。

在这里插入图片描述

  • 训练初期:优化和泛化是相关的;训练集上的误差越小,验证集上的误差也越小,模型泛化能力逐渐增强。
  • 训练后期:模型在验证集上的错误率不再降低转而开始变高。模型出现过拟合,开始学习仅和训练数据有关的模式。

应对过拟合

最优方案

获取更多的训练数据

增加更多的训练样本可以帮助模型更好地学习数据的真实分布,减少过拟合的风险。

次优方案

调节模型允许存储的信息量或者对模型允许存储的信息加以约束,该类方法也被称为正则化

调节模型大小

约束模型权重,即权重正则化(常用的有L1、L2正则化)

L1 正则化

L1正则化(Lasso正则化):L1正则化使用模型权重的L1范数作为正则化项,即权重的绝对值之和。

在这里插入图片描述

L1正则化的效果是推动模型的权重向稀疏的方向学习,即将某些权重变为零,使得模型具有稀疏性。这对于特征选择和模型简化很有用。

L2 正则化

L2正则化(Ridge正则化):L2正则化使用模型权重的L2范数作为正则化项,即权重的平方和的平方根。

在这里插入图片描述

L2正则损失对于大数值的权值向量进行严厉惩罚,鼓励更加分散的权重向量,使模型倾向于使用所有输入特征做决策,此时的模型泛化性能好!
在这里插入图片描述

对异常值的敏感性
  • L1正则化对异常值比较敏感,因为它的正则化项是绝对值之和,异常值的存在会对权重产生较大的影响。
  • L2正则化对异常值相对较不敏感,因为它的正则化项是平方和的平方根,异常值对权重的影响相对较小。
随机失活(Dropout)

让隐层的神经元以一定的概率不被激活。

实现方式:

训练过程中,对某一层使用Dropout,就是随机将该层的一些输出舍弃(输出值设置为0),这些被舍弃的神经元就好像被网络删除了一样。
在这里插入图片描述
随机失活比率(Dropout ratio):

是被设为0的特征所占的比例,通常在0.2~0.5范围内。

在这里插入图片描述

随机失活为什么能够防止过拟合呢?

解释一:随机失活使得每次更新梯度时参与计算的网络参数减少了,降低了模型容量,所以能够防止过拟合。

在这里插入图片描述
解释二:随机失活鼓励权重分散,从这个角度来看随机失活也能起到正则化的作用,进而防止过拟合。
在这里插入图片描述

  • 通过随机失活,在训练过程中,将一部分神经元的输出置为零,相当于随机断开了这些神经元与其他神经元之间的连接。这样做的结果是,每个神经元都不再依赖于其他特定的神经元,而是需要通过其他神经元来进行信息传递。因此,网络中的神经元被鼓励去学习更加独立和分散的特征表示,而不是过度依赖于某些特定的神经元
  • 这种随机失活的效果是,网络的不同部分在训练过程中会以更加均衡的方式进行学习,权重会分散到更多的神经元上。这有助于避免某些特定的神经元或权重集中承担大部分的计算负载,从而提高网络的鲁棒性和泛化能力。

解释三:Dropout可以看作模型集成
在这里插入图片描述

  • Dropout可以被解释为在训练过程中对多个不同的子模型进行训练,每个子模型都是通过保留一部分神经元并且随机设置其他神经元的输出为零来实现的。在测试阶段,为了获得更稳定的预测结果,通常会对这些子模型的预测结果进行平均或投票。
随机失活的问题

训练过程中使用随机失活,测试过程中不随机失活。要保证两者结果相似,需要进行修改。
在这里插入图片描述
在测试过程中,不进行随机失活,而是将Dropout的参数p乘以输出。

上图例子中p=1 / 2

  • 训练E[a] = 测试E[a] * p = 测试E[a] * 1 / 2
  • 训练E[a] / p = 训练E[a] / (1 / 2) = 测试E[a]

代码示例:
则训练E[a] = 测试E[a] * p = 测试E[a] * 1 / 2
在这里插入图片描述
训练E[a] / p = 训练E[a] / (1 / 2) = 测试E[a]
在这里插入图片描述

欠拟合

模型描述能力太弱,以至于不能很好地学习到数据中的归路。产生欠拟合的原因通常是模型过于简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1009719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCLoud——服务的拆分和远程调用

服务拆分 服务拆分注意事项 一般是根据功能的不同,将不同的服务按照功能的不同而分开。 微服务拆分注意事项 不同微服务,不要重复开发相同业务微服务数据独立,不要访问其他微服务的数据库微服务可以将自己的业务暴露为接口,供…

「打造个人网盘」教你一招使用Net2FTP即可搭建免费web文件管理器

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人…

VR全景算不算好的创业项目?有哪些特性?

现在是全民创业的时代,大家都在找创业项目,那么什么是好的创业项目呢?有人会问VR全景算不算创业好项目呢?一般情况下好的创业项目,发展前景和市场消费群体都是比较大的,市场需求大才能满足多数消费者的需求…

acclerator和tensorboard共同使用采坑记录

acclerator和tensorboard共同使用采坑记录 问题描述可采用的方案可采用的方案1可采用的方案2其他可采用方案可采用方案的总结 建议的最终方案 问题描述 最近在做用多个GPU训练,我选择的是hugging face开源团队的acclerate库中的accelerator类来实现的,在…

多元函数的微分法

目录 复合函数微分法 隐函数微分法 复合函数求导与全微分 隐函数偏导数与全微分 复合函数微分法 复合函数微分法是一种求导方法,用于计算复合函数的导数。 假设有一个复合函数yf(u),其中ug(x),则复合函数微分法可以用于计算y对x的导数。根…

3D模型转换工具HOOPS Exchange如何实现OBJ格式轻量化?

什么是OBJ模型轻量化? OBJ格式是一种常用的三维模型文件格式,通常包含模型的顶点、法线、纹理坐标等信息,但有时候这些信息可能会使模型文件变得较大,不利于网络传输、加载和运行。 OBJ(Object)模型轻量化…

又一重磅利好来袭!Zebec Payroll 集成至 Nautilus Chain 主网

流支付协议 Zebec Protocol 正在积极的拓展自身生态,随着此前其全新路线图的发布,揭示了该生态从 Web3 世界向 Web2 世界跨越的决心。根据其最新路线图,Zebec Protocol 正在从最初构建在 Solana 上的流支付协议,拓展为囊括模块化公…

Linux下修改jar包中的配置文件application.conf

文件位置 jar包文件工程目录 打包后解压jar包目录 提取和上传 jar tf XXX.jar # 获取包内文件 application.conf是jar包的配置文件,如果修改需要 提取文件 jar xf my-app.jar application.conf 修改后上传文件 jar uf my-app.jar application.conf

快速加入Health Kit,一文了解审核流程

HUAWEI Health Kit是为华为生态应用打造的基于华为帐号和用户授权的运动健康数据开放平台。 在获取用户授权后,开发者可以使用Health Kit提供的开放能力获取运动健康数据,基于多种类型数据构建运动健康领域应用与服务,为用户打造丰富、便捷、…

EXCEL如何把一个单元格内的文本和数字分开?例如:龚龚15565 = 龚龚 15565

使用工具:WPS 举例: EXCEL如何把一个单元格内的文本和数字批量分开?不使用数据分列。 第一步、将第二行数据冻结 第二步、在B1、C1单元格输入需要分开的示例 第三步、点击选中B1单元格,输入快捷键【CTRLE】进行填充。B2单元格也是…

C++新经典 | C++ 查漏补缺(类)

目录 1. 类对象的复制 2. 权限修饰符 3. 成员函数的定义与声明 4. 构造函数 (1)explicit关键字 (2)构造函数初始化列表 (3)默认构造函数 (4)default;和delete&…

SEC的下一步目标是什么?过时的证券法与加密货币行业,哪个会被先淘汰?

加密货币已经“不合规”了,尤其是其“商业模式”,至少美国证券交易委员会(SEC)主席Gary Gensler这样认为。由于这种观点在美国监管机构中普遍存在,因此涉及加密的执法行动达到历史最高水平也不足为奇。 在短短几年内,我们目睹了所…

MFC项目改为多字节字符集界面风格变为win98风格的问题

在项目->属性->配置属性中,将字符集改为多字节字符集,则界面风格变成了win98风格 解决办法,在stdafx.h中有 #ifdef _UNICODE #if defined _M_IX86 #pragma comment(linker,"/manifestdependency:\"typewin32 nameMicrosoft.Windows.Com…

【建议收藏】职场人口头和书面沟通必备词语,瞬间高大上

这年头,在职场不但要会做,还要会说。 会说还不能平铺直叙的说,还要能把普通的工作说出话来,这就需要一些“考究”的用词。尤其是在某些头部企业的带领下,业务不够、产品不行、解决方案不够新,就用华丽的辞…

浅谈C++|STL之list+forward_list篇

一.list基本概念 功能:将数据进行链式存储 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由—系列结点组成 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结…

前端深入理解JavaScript面向对象编程与Class

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 引言 1. 什么是面向对象编程? 2. Class的基本概念 3. Class的语法 3.1 构造函数 3.2 属性 3.3 方…

中断子系统 --- 硬件相关层

中断控制器驱动 由于linux支持中断控制器的级联,因此多个中断控制器就可能包含相同的硬件中断号。为了可以通过中断号唯一地标识一个中断,linux引入了irq domain机制以实现将硬件中断号映射为全局唯一的逻辑中断号。 Hwirq映射到irq 每个中断控制器都对…

hive创建hbase表映射

将hbase中的表映射至hive中,便于表的操作 create external table student_info(id string,student_name string,gender string,pwd string,school_name string,location string ) stored by org.apache.hadoop.hive.hbase.HBaseStorageHandler withserdeproperties…

Python二级 每周练习题18

练习一: 从键盘输入任意字符串,按照下面要求分离字符串中的字符: 1、分别取出该字符串的第偶数位的元素(提醒注意:是按照从左往右数的方式确定字符串的位置) 2、并依次存储到一个列表中; 3、输出这个列表。 答案: ninput(请输入任意字符串:) #创建变量n存放用户…

【深度学习】卷积神经网络(LeNet)

卷积神经网络 LeNet #前言LeNet 模型代码实现MINST代码分块解析1 构建 LeNet 网络结构2 加载数据集3 初始化模型和优化器4 训练模型5 训练完成 完整代码 Fashion-MINST代码分块解析1 构建 LeNet 网络结构2 初始化模型参数3 加载数据集4 定义损失函数和优化器5 训练模型 完整代码…