热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

(深度学习快速入门)第三章第三节5:深度学习必备组件之欠拟合和过拟合

文章目录一:什么是欠拟合和过拟合二:正则化技术(1)加入正则项①:L1正则项②:L2正则项&#x


文章目录


  • 一:什么是欠拟合和过拟合
  • 二:正则化技术
    • (1)加入正则项
      • ①:L1正则项
      • ②:L2正则项

    • (2)Dropout(暂退法)



我们训练模型的目的是为了让模型真正发现一种泛化模式,而不是说只是简简单单的记住了训练数据,只有这样,模型在遇到全新的数据时,也能成功预测


一:什么是欠拟合和过拟合

欠拟合(underfitting):训练误差和验证误差都很严重,他们之间仅有一点差距。这意味着,模型可能过于简单,也即表达能力差

过拟合(overfitting)(最为常见):模型的训练误差要明显低于验证误差。当然注意,即便是最好的预测模型,它在训练数据上的表现往往⽐在验证数据上好得多。最终,我们通常更关⼼验证误差,⽽不是训练误差和验证误差之间的差距

在这里插入图片描述

前面也说过,在进行模型选择时,不能一味地认为训练误差越小的模型越好,因为此时可能已经到达过拟合状态,此时它在测试数据上误差反而会变大,所以要选择损失函数刚刚收敛时的模型作为最佳模型

在这里插入图片描述


二:正则化技术

正则化:正则化旨在减少泛化误差而不是训练误差,也就是说,正则化的目的是为了防止模型过拟合,降低泛化误差,从而提高泛化能力

正则化技术在深度学习中主要用于了抑制过拟合,主要有四种


  • 加正则项(惩罚项):使用最为广泛,通常只对权重做惩罚而不对偏置做正则惩罚,最常用的是L1和L2
  • Dropout(暂退法)
  • 数据增广
  • 早停法:配合日志

(1)加入正则项


①:L1正则项

L1正则项 在原损失函数后面加入L1范数(非零元素的绝对值之和)








J



︿



(


ω


;


X


,


y


)


=


J


(


ω


;


X


,


y


)


+


α








ω









1




\mathop{J}\limits^{︿}(\omega;X,y) = J(\omega;X, y) + \alpha||\omega||_{1}


J︿(ω;X,y)=J(ω;X,y)+α∣∣ω1

计算梯度后,




ω



\omega


ω
的更新公式为






ω





ω





ξ


α


s


i


g


n


(


ω


)





ξ






ω



J


(


ω


;


X


,


y


)



\omega \leftarrow \omega - \xi\alpha sign(\omega)-\xi \nabla_{\omega}J(\omega;X,y)


ωωξαsign(ω)ξωJ(ω;X,y)

可以看出,L1正则化会使得




@


w



@w


@w
向0靠近,使网络中的权重尽可能为0,使网络中某些神经元失效,以此防止过拟合







  • ω


    >


    0



    \omega>0


    ω>0
    时,梯度下降时更新后的




    ω



    \omega


    ω
    变小





  • ω


    >


    <


    0



    \omega><0


    ω><0
    时&#xff0c;梯度下降时更新后的




    ω



    \omega


    ω
    变大

特点


  • 特征选择器
  • 模型稀疏性

②&#xff1a;L2正则项

L2正则项&#xff1a; 在原损失函数后面加入L2范数&#xff08;向量元素的平方和再开平方&#xff09;








J



︿



(


ω


;


X


,


y


)


&#61;


J


(


ω


;


X


,


y


)


&#43;



α


2




ω


T



ω



\mathop{J}\limits^{︿}(\omega ;X,y) &#61; J(\omega;X, y)&#43;\frac{\alpha}{2}\omega^{T}\omega


J︿(ω;X,y)&#61;J(ω;X,y)&#43;2αωTω

**计算梯度后&#xff0c;




ω



\omega


ω
的更新公式为






ω





(


1





ξ


α


)


ω





ξ






ω



J


(


ω


;


X


,


y


)



\omega \leftarrow (1-\xi\alpha)\omega - \xi \nabla_{\omega}J(\omega;X, y)


ω(1ξα)ωξωJ(ω;X,y)

可以看到&#xff0c;在每次执行梯度更新前&#xff0c;先会收缩权重向量&#xff08;权重衰减&#xff09;&#xff0c;因此L2正则化可以让权重变得更小

特点


  • 连续可导
  • 易于训练

&#xff08;2&#xff09;Dropout&#xff08;暂退法&#xff09;

Dropout&#xff08;暂退法&#xff09;&#xff1a;对于Dropout算法&#xff0c;在模型训练时&#xff0c;它会以下概率丢弃神经元

在这里插入图片描述

在这里插入图片描述







推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 本文介绍了在Android设备上使用命令行来抓取log文件的方法,包括检查设备连接、清除log缓存、选择存放目录、运行程序等步骤,最后可以在桌面上生成log文件。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
author-avatar
grafopenshaw_460
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有