带你完全读懂正则化(看这一篇就够了)

这篇具有很好参考价值的文章主要介绍了带你完全读懂正则化(看这一篇就够了)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

哈喽大家好 ! 我是唐宋宋宋,很荣幸与您相见!!

学习目标

  • 目标

  • 什么是正则化

  • 为什么需要正则化?

  • 什么是过拟合?

  • 了解L1,L2正则化

  • 知道Droupout正则化的方法

  • 了解早停止法、数据增强法的其它正则化方式

  • 总结

什么是正则化?

Regularization,中文翻译过来可以称为正则化,或者是规范化。什么是规则?闭卷考试中不能查书,这就是规则,一个限制。同理,在这里,规则化就是说给损失函数加上一些限制,通过这种规则去规范他们再接下来的循环迭代中,不要自我膨胀。(记住这是重点概念!!!)


为什么需要正则化?

我们首先回顾一下模型训练的过程,模型参数的训练实际上就是一个不断迭代,寻找到一个方程

来拟合数据集。我们需要一个最好的拟合方式来进行预测,那么如何进行拟合呢或者拟合会出现什么问题呢,我们来看一下下面这张图。

正则化,机器学习,人工智能,计算机视觉,python,深度学习,Powered by 金山文档
  1. 第一张,首先我们看到这条线并没有很好的拟合我们的数据,训练的时候效果不好,可想而知验证效果肯定也是很差的

  1. 第三张,我们看到这条线曲曲折折,我们的每一个数据都有一个很好的拟合,我们知道训练过程中会有很多噪声,对于数据有一定的影响,这样的一条线并不能对于我们后续的数据进行一个准确的预测,并且模型太过复杂,总之对我们的回归模型它丧失了一个预测能力。

  1. 第二张,我们可以看到数据有一个很好的预测,并且能够直观的预测函数的走向。虽然它在测试集的中准确列不及图三高,但在测试集中我们得到的准确率是最高的,同时泛化能力也是最强的。


我们记住一点正则化的作用就是为了解决我们一个过拟合的问题。


什么是过拟合?

那我们就要说一下什么是过拟合,过拟合”是指机器学习在训练模型时,模型与训练数据贴合的太好了,好到误差基本接近于0了,如图:

正则化,机器学习,人工智能,计算机视觉,python,深度学习,Powered by 金山文档

过拟合”会导致模型的“泛化“”能力太差,那什么是“泛化“”能力呢?说的再通俗点,就是模型的通用能力,训练的模型如果只能适用于某种特定的即为苛刻条件,那么这个模型可用的范围,所能承受的抗干扰性(术语叫做鲁棒性)就太差了…

所以为了 防止模型出现“过拟合”的现象,于是就提出了“正则化”这一概念。


了解L1,L2正则化

机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。

区别:

  1. L1是模型各个参数的绝对值之和。

L2是模型各个参数的平方和的开方值。

  1. L1会趋向于产生少量的特征,而其他的特征都是0。

因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵

L2会选择更多的特征,这些特征都会接近于0。

最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每 一项趋近于0。

参数正则化作用:

  • L1: 为模型加入先验, 简化模型, 使权值稀疏,由于权值的稀疏,从而过滤掉一些无用特征,防止过拟合

  • L2: 根据L2的特性,它会使得权值减小,即使平滑权值,一定程度上也能和L1一样起到简化模型,加速训练的作用,同时可防止模型过拟合


知道Droupout正则化的方法

加入了 dropout 后,输入的特征都存在被随机清除的可能,所以该神经元不会再特别依赖于任何一个输入特征,也就是不会给任何一个输入特征设置太大的权重。通过传播过程,dropout 将产生和 L2 正则化相同的收缩权重的效果。

调试时候使用技巧:

dropout 的缺点是成本函数无法被明确定义,保证损失函数是单调下降的,确定网络没有问题,再次打开droupout才会有效。

正则化,机器学习,人工智能,计算机视觉,python,深度学习,Powered by 金山文档

了解早停止法、数据增强法的其它正则化方式

  1. 早停止法

正则化,机器学习,人工智能,计算机视觉,python,深度学习,Powered by 金山文档

通常不断训练之后,损失越来越小。但是到了一定之后,模型学到的过于复杂(过于拟合训练集上的数据的特征)造成测试集开始损失较小,后来又变大。模型的w参数会越来越大,那么可以在测试集损失减小一定程度之后停止训练。

如图箭头位置给停掉。

  1. 数据增强

指通过剪切、旋转/反射/翻转变换、缩放变换、平移变换、尺度变换、对比度变换、噪声扰动、颜色变换等一种或多种组合数据增强变换的方式来增加数据集的大小

正则化,机器学习,人工智能,计算机视觉,python,深度学习,Powered by 金山文档

即使卷积神经网络被放在不同方向上,卷积神经网络对平移、视角、尺寸或照度(或以上组合)保持不变性,都会认为是一个物体。

数据增强的方法有一些传统的平移,旋转,仿射变换等,还有mosaic数据增强,自适应描框等,目的就是为了增加我们数据的多样性来防止对于数据的拟合。


总结:

欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。

过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。

合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高

欠拟合原因:

训练样本数量少

模型复杂度过低

参数还未收敛就停止循环

欠拟合的解决办法:

增加样本数量

增加模型参数,提高模型复杂度

增加循环次数

查看是否是学习率过高导致模型无法收敛

过拟合原因:

数据噪声太大

特征太多

模型太复杂

过拟合的解决办法

清洗数据

减少模型参数,降低模型复杂度

增加惩罚因子(正则化),保留所有的特征,但是减少参数的大小(magnitude)。

感谢大家阅读!🙏🙏🙏文章来源地址https://www.toymoban.com/news/detail-770165.html

到了这里,关于带你完全读懂正则化(看这一篇就够了)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SourceTree使用看这一篇就够了

     你梦想有一天成为git大师,然而面对复杂的git命令,你感觉TMD这我能记得住吗?你曾经羡慕从命令行敲git命令,才会更加炫酷,然而时间一长,TMD命令我有忘了。那么今天我介绍的这款工具会让你从git命令中解救出来,这就是git可视化工具SourcTree。 事实上Git的功能十分强大

    2024年02月08日
    浏览(47)
  • CAS自旋锁,看这一篇就够了

    前序 时隔多年,杰伦终于出了新专辑,《最伟大的作品》让我们穿越到1920年,见到了马格利特的绿苹果、大利的超现实、常玉画的大腿、莫奈的睡莲、徐志摩的诗… 他说“最伟大的作品”并不是自己的歌,而是这个世界上最伟大的艺术作品们。 为什么要写CAS自旋锁呢?最近

    2023年04月08日
    浏览(31)
  • ElasticSearch常见用法,看这一篇就够了

    2024送书福利正式起航 关注「哪吒编程」,提升Java技能 文末送3本《一本书讲透Elasticsearch:原理、进阶与工程实践》 大家好,我是哪吒。 ElasticSearch是一款由Java开发的开源搜索引擎,它以其出色的实时搜索、稳定可靠、快速安装和方便使用的特性,在Java开发社区中赢得了广

    2024年03月19日
    浏览(50)
  • 还不会二分查找?看这一篇就够了

    二分查找分为整数二分和浮点数二分,一般所说的二分查找都是指整数二分。 满足单调性的数组一定可以使用二分查找,但可以使用二分查找的数组不一定需要满足单调性。 不妨假设我们找到了条件 C 1 C_1 C 1 ​ ,它和它的 对立条件 C 2 C_2 C 2 ​ 能够将数组 a a a 一分为二,

    2024年01月19日
    浏览(34)
  • 超图(HyperGraph)学习,看这一篇就够了

    最近事多,好久没更新了,随便写写(Ctrl+V)点 一、超图定义 通常图论中的图,一条edge只能连接2个vertex,在超图中,不限量 如何理解呢,就用我正在做的KT问题来看:7道题目-7个顶点;4种概念-4条超边,其中第1,2,3题都是考察概念1的,则构建一个包含了这仨的超边,以此类

    2024年02月02日
    浏览(44)
  • C++异常处理详解 看这一篇就够了

    在程序运行的过程中,我们不可能保证我们的程序百分百不出现异常和错误,那么出现异常时该怎么报错,让我们知道是哪个地方错误了呢? C++中就提供了异常处理的机制。 throw : 当问题出现时,程序会抛出一个异常。这是通过使用 throw 来完成的。 catch : 在您想要处理

    2024年02月14日
    浏览(44)
  • 了解5G安全标准,看这一篇就够了

    随着移动通信系统在社会生活中的使用越来越广泛,特别是5G进一步以企业级应用作为核心应用场景,安全成为了包括5G在内的移动通信系统不可忽视的因素。本文梳理了全球主流移动通信标准化组织在安全方面的标准制定,从而可以快速了解5G协议层面对信息安全的考量。原

    2024年02月05日
    浏览(32)
  • 背包问题(动态规划看这一篇就够了)

    题目描述     一个旅行者有一个最多能装M公斤的背包,现在有n件物品,他们的重量分别是W1,W2,......,Wn,他们的价值分别是C1,C2,......,Cn,求旅行者能获得的最大总价值。 输入     第一行:两个整数,M(M=200)和N(N=30);     第2至N+1行:每行两个整数Wi,Ci,表示每

    2024年04月15日
    浏览(43)
  • JavaScript 入门(简单易懂) 看这一篇就够了

    目录 1、什么是JavaScript 1.1、概述 1.2、历史 2、快速入门 2.1、引入引入JavaScript 2.2、基本语法 2.3、数据类型 2.4、严格检查模式 3、数据类型 3.1、字符串 3.2、数组 3.3、对象 3.4、流程控制 3.5、Map和Set 3.6 iterator 3.7数据类型转换字符串类型 3.8数据类型转换数字型(重点) 3.9标识

    2024年02月02日
    浏览(90)
  • Java迭代器详解,看这一篇就够了

    迭代器 是属于 设计模式 之一, 迭代器模式 提供了一种方法来顺序访问一个聚合对象中各个元素,而不保留该对象的内部表示。 1) Iterator对象 称为 迭代器 ,主要用于遍历 Collection集合 中的元素。 2)所有实现了 Collection接口 的集合类都有一个 iterator() 方法,用以返回一个

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包