【深度学习】L1正则化和L2正则化

在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况。正则化是机器学习中通过显式的控制模型复杂度来避免模型过拟合、确保泛化能力的一种有效方式。如果将模型原始的假设空间比作“天空”,那么天空飞翔的“鸟”就是模型可能收敛到的一个个最优解。在施加了模型正则化后,就好比将原假设空间(“天空”)缩小到一定的空间范围(“笼子”),这样一来,可能得到的最优解能搜索的假设空间也变得相对有限。有限空间自然对应复杂度不太高的模型,也自然对应了有限的模型表达能力。这就是“正则化有效防止模型过拟合的”一种直观解析。

L2正则化

在深度学习中,用的比较多的正则化技术是L2正则化,其形式是在原先的损失函数后边再加多一项:\(\frac{1}{2}\lambda\theta_{i}^2\),那加上L2正则项的损失函数就可以表示为:\(L(\theta)=L(\theta)+\lambda\sum_{i}^{n}\theta_{i}^2\),其中\(\theta\)就是网络层的待学习的参数,\(\lambda\)则控制正则项的大小,较大的取值将较大程度约束模型复杂度,反之亦然。

L2约束通常对稀疏的有尖峰的权重向量施加大的惩罚,而偏好于均匀的参数。这样的效果是鼓励神经单元利用上层的所有输入,而不是部分输入。所以L2正则项加入之后,权重的绝对值大小就会整体倾向于减少,尤其不会出现特别大的值(比如噪声),即网络偏向于学习比较小的权重。所以L2正则化在深度学习中还有个名字叫做“权重衰减”(weight decay),也有一种理解这种衰减是对权值的一种惩罚,所以有些书里把L2正则化的这一项叫做惩罚项(penalty)。

我们通过一个例子形象理解一下L2正则化的作用,考虑一个只有两个参数\(w_{1}\)和\(w_{2}\)的模型,其损失函数曲面如下图所示。从a可以看出,最小值所在是一条线,整个曲面看起来就像是一个山脊。那么这样的山脊曲面就会对应无数个参数组合,单纯使用梯度下降法难以得到确定解。但是这样的目标函数若加上一项\(0.1\times(w_{1}^2+w_{2}^2)\),则曲面就会变成b图的曲面,最小值所在的位置就会从一条山岭变成一个山谷了,此时我们搜索该目标函数的最小值就比先前容易了,所以L2正则化在机器学习中也叫做“岭回归”(ridge regression)。

L1正则化

L1正则化的形式是:\(\lambda|\theta_{i}|\),与目标函数结合后的形式就是:\(L(\theta)=L(\theta)+\lambda\sum_{i}^{n}|\theta_{i}|\)。需注意,L1 正则化除了和L2正则化一样可以约束数量级外,L1正则化还能起到使参数更加稀疏的作用,稀疏化的结果使优化后的参数一部分为0,另一部分为非零实值。非零实值的那部分参数可起到选择重要参数或特征维度的作用,同时可起到去除噪声的效果。此外,L1正则化和L2正则化可以联合使用:\(\lambda_{1}|\theta_{i}|+\frac{1}{2}\lambda_{2}\theta_{i}^2\)。这种形式也被称为“Elastic网络正则化”。

正则化对偏导的影响

对于L2正则化:\(C=C_{0}+\frac{\lambda}{2n}\sum_{i}\omega_{i}^2\),相比于未加正则化之前,权重的偏导多了一项\(\frac{\lambda}{n}\omega\),偏置的偏导没变化,那么在梯度下降时\(\omega\)的更新变为:

可以看出\(\omega\)的系数使得权重下降加速,因此L2正则也称weight decay(caffe中损失层的weight_decay参数与此有关)。对于随机梯度下降(对一个mini-batch中的所有x的偏导求平均):

对于L1正则化:\(C=C_{0}+\frac{\lambda}{n}\sum_{i}|\omega_{i}|\),梯度下降的更新为:

符号函数在\(\omega\)大于0时为1,小于0时为-1,在\(\omega=0\)时\(|\omega|\)没有导数,因此可令sgn(0)=0,在0处不使用L1正则化。

相比于L2,有所不同:

  • L1减少的是一个常量,L2减少的是权重的固定比例
  • 孰快孰慢取决于权重本身的大小,权重刚大时可能L2快,较小时L1快

实践中L2正则化通常优于L1正则化。

原文地址:https://www.cnblogs.com/skyfsm/p/8456968.html

时间: 2024-10-08 16:25:03

【深度学习】L1正则化和L2正则化的相关文章

L1与L2正则化

目录 过拟合 结构风险最小化原理 正则化 L2正则化 L1正则化 L1与L2正则化 参考链接 过拟合 机器学习中,如果参数过多.模型过于复杂,容易造成过拟合. 结构风险最小化原理 在经验风险最小化(训练误差最小化)的基础上,尽可能采用简单的模型,以提高模型泛化预测精度. 正则化 为了避免过拟合,最常用的一种方法是使用正则化,例如L1和L2正则化. 所谓的正则化,就是在原来损失函数的基础上,加了一些正则化项,或者叫做模型复杂度惩罚项. L2正则化 L2正则化即:\(L=E_{in}+\lambda

提升深度学习模型的表现,你需要这20个技巧

提升深度学习模型的表现,你需要这20个技巧 标签: 深度学习 2016-09-24 21:28 6650人阅读 评论(0) 收藏 举报  分类: 深度学习(4)  选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一位职业软件开发者,没有博士学位的他通过「从应用中学习」的方法自学了机器学习,他表示对帮助职业开发者应用机器学习来解决复杂问题很有热情,也

深度学习—过拟合问题

1.过拟合问题 欠拟合:根本原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大:  解决方法:增加特征维度:  过拟合:根本原因是特征维度过大,导致拟合的函数完美的预测训练集,但对新数据的预测结果差.  解决方法:(1)减少特征维度:(2)正则化,降低参数值. 减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂  (1)获取更多数据 :从数据源头获取更多数据:数据增强(Data Augmentation)  (2)使用合适的模型:减少网络的层数.神经元个数等均可以限制网络

深度学习之概述(Overview)

2016年被称为人工智能的元年,2017年是人能智能应用的元年:深度学习技术和应用取得飞速发展:深度学习在互联网教育场景也得到广泛应用.本文主要介绍机器学习及深度学习之定义及基本概念.相关网络结构等. 本文主要内容包括机器学习的定义及组成分类.深度学习的定义.深度学习和机器学习的区别.神经网络基本概念及基本结构.深度学习的相关核心概念(基本假设.数据集.表示.泛化.容量.优化.超参数.误差.欠拟合.过拟合.正则化).两种典型深度网络结构(CNN.RNN)基本介绍. 引言 人工智能究竟能够做什么?

深度学习之前馈神经网络(前向传播和误差方向传播)

这篇文章主要整理三部分内容,一是常见的三种神经网络结构:前馈神经网络.反馈神经网络和图网络:二是整理前馈神经网络中正向传播.误差反向传播和梯度下降的原理:三是梯度消失和梯度爆炸问题的原因及解决思路. 一.神经网络结构 目前比较常用的神经网络结构有如下三种: 1.前馈神经网络 前馈神经网络中,把每个神经元按接收信息的先后分为不同的组,每一组可以看做是一个神经层.每一层中的神经元接收前一层神经元的输出,并输出到下一层神经元.整个网络中的信息是朝着一个方向传播的,没有反向的信息传播(和误差反向传播不是

深度 | 提升深度学习模型的表现,你需要这20个技巧(附论文)

深度 | 提升深度学习模型的表现,你需要这20个技巧(附论文) 2018-04-15 19:53:45 JF_Ma 阅读数 296更多 分类专栏: 机器学习 深度 | 提升深度学习模型的表现,你需要这20个技巧(附论文) 2016-09-23 机器之心 选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一位职业软件开发者,没有博士学位的他通过「从应用

资深程序员带你玩转深度学习中的正则化技术(附Python代码)!

目录 1. 什么是正则化? 2. 正则化如何减少过拟合? 3. 深度学习中的各种正则化技术: L2和L1正则化 Dropout 数据增强(Data augmentation) 提前停止(Early stopping) 4. 案例:在MNIST数据集上使用Keras的案例研究 1. 什么是正则化? 在深入该主题之前,先来看看这几幅图: 之前见过这幅图吗?从左到右看,我们的模型从训练集的噪音数据中学习了过多的细节,最终导致模型在未知数据上的性能不好. 换句话说,从左向右,模型的复杂度在增加以至于训练

机器学习之路: python线性回归 过拟合 L1与L2正则化

git:https://github.com/linyi0604/MachineLearning 正则化: 提高模型在未知数据上的泛化能力 避免参数过拟合正则化常用的方法: 在目标函数上增加对参数的惩罚项 削减某一参数对结果的影响力度 L1正则化:lasso 在线性回归的目标函数后面加上L1范数向量惩罚项. f = w * x^n + b + k * ||w||1 x为输入的样本特征 w为学习到的每个特征的参数 n为次数 b为偏置.截距 ||w||1 为 特征参数的L1范数,作为惩罚向量 k 为

吴恩达-深度学习-课程笔记-8: 超参数调试、Batch正则化和softmax( Week 3 )

1 调试处理( tuning process ) 如下图所示,ng认为学习速率α是需要调试的最重要的超参数. 其次重要的是momentum算法的β参数(一般设为0.9),隐藏单元数和mini-batch的大小. 第三重要的是神经网络的层数和学习率衰减 adam算法的三个参数一般不调整,设定为0.9, 0.999, 10^-8. 注意这些直觉是ng的经验,ng自己说了,可能其它的深度学习研究者是不这么认为的. 那么如何选择参数呢?下面介绍两个策略,随机搜索和精细搜索. 早一代的机器学习算法中,如下