热门标签 | 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;它会以下概率丢弃神经元

在这里插入图片描述

在这里插入图片描述







推荐阅读
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 智能投顾机器人:创业者如何应对新挑战?
    随着智能投顾技术在二级市场的兴起,针对一级市场的智能投顾也逐渐崭露头角。近日,一款名为阿尔妮塔的人工智能创投机器人正式发布,它将如何改变投资人的工作方式和创业者的融资策略? ... [详细]
  • 本文介绍百度AI Studio这一集成开发平台,涵盖丰富的AI教程、经典数据集及云端计算资源。通过具体示例——在AI Studio上构建线性回归项目,帮助初学者快速掌握其核心功能与操作方法。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
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社区 版权所有