0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解机器学习和深度学习常见的正则化

汽车玩家 来源:CSDN 作者:修炼之路 2020-01-29 17:52 次阅读

前言

说到正则化大家应该都不陌生,这个在机器学习深度学习中都是非常常见的,常用的正则化有L1正则化和L2正则化。提到正则化大家就会想到是它会将权重添加到损失函数计算中来降低模型过拟合的程度。了解更多一点的同学还会说,L1正则化会让模型的权重参数稀疏化(部分权重的值为0),L2正则化会让模型的权重有趋于0的偏好。

不知道大家有没有想过为什么L1正则化会让部分权重的值为0?为什么L2正则化会让权重会有偏向于0?为什么正则化可以防止过拟合?正则化究竟是怎么来的? 带着这些问题,我们来看这篇文章,会帮助大家一一解答。

正则化的由来

在介绍正则化之前,我们先来看一张图

详解机器学习和深度学习常见的正则化

在上图中我们绘制了三条不同的曲线y1、y2、y3 ,从曲线函数值的变化不难看出,y1的函数值变化最大,y2和y3的函数值相对来说要平缓一些。通过函数的表达式可以看出,y2 相对于y1 来说自变量的系数值变小了,y3相对y1 来说自变量少了一个,我们可以理解为少的那个自变量的系数为0。

通常如果函数的取值变化的幅度更大,我们会认为函数更复杂,函数的方差更大。所以,上面的三个函数中,函数y1的复杂度最高。通过函数图像可以发现,降低自变量的系数值,或者减少函数自变量的个数等价于自变量的系数为0是可以降低函数复杂度的。

在构建模型之前,我们是不知道数据的分布,如果模型过于简单就会导致欠拟合,如果模型过于复杂就会过拟合。通常我们为了模型能够更好的拟合数据都是使得模型处于过拟合,为了降低模型的过拟合就需要使得模型部分权重为0或者降低模型的权重,所以我们会为损失函数添加一个惩罚项,数学表达式如下

详解机器学习和深度学习常见的正则化

上式中的J(θ;X,y)表示原目标函数(没有添加正则化),Ω(θ)表示模型参数的惩罚项,惩罚项系数α∈[0,∞) ,α 越大表示正则化惩罚越大。

需要注意:我们在对模型的参数做惩罚的时候,其实只是添加了模型的权重参数并不包括偏置参数,因为模型的偏置参数数量相对于权重参数数量来说要少的多,而且每个权重参数会指定两个变量如何相互作用,而偏置只是控制一个单一的变量,所以我们不对偏置做正则化也不会导致太大的方差。而且,如果对偏置进行正则化可能会导致明显的欠拟合。

上式中的参数θ 包含了权重和偏置,而我们只需要对权重做正则化。所以,L1正则化和L2正则化可以改成如下表达式

详解机器学习和深度学习常见的正则化

正则化的影响

在正则化的由来中,我们直观的介绍了为什么需要加入正则化?接下来我们来介绍一下为什么l1 正则化会使得模型的部分参数为0,l2 正则化会使得模型的参数接近0。为了更好的证明,接下来的公式可能会有点多,不过我会尽可能的详细让大家更好的理解

1. 直观理解

为了帮助大家从直观上理解正则化的效果,接下来我们将通过画图来观察l1正则化和l2正则化的效果

前面我们介绍了正则化其实就是在原代价函数的基础上多增加了一项参数的惩罚项,目的就是为了不让网络的参数过大而导致模型过拟合,所以我们其实可以将正则化后的代价函数理解为在最小化原代价函数的基础上多增加了一个参数的约束函数,对于约束函数的要求就是它需要小于某个常数C

详解机器学习和深度学习常见的正则化

l1 正则化

我们将l1 正则化效果等价于求原代价函数的最小值和对权重参数的约束函数,这里为了便于作图我们只考虑二维情况

详解机器学习和深度学习常见的正则化

根据上两个式子,我们可以绘制出线性规划图如下

详解机器学习和深度学习常见的正则化

上图中的蓝色椭圆表示的是原代价函数的等高线,红色矩形表示的是权重的约束函数,图中的红色箭头表示的是约束函数的法向量方向,其中蓝色箭头表示的是原代价函数在该点的梯度方向(等高线的梯度方向与它的法向量方向一致)

因为约束函数的限制导致ω 只能在红色矩形的边上进行移动来寻找最佳的ω∗。当ω处于上图中的位置时,将原代价函数的梯度分解为沿约束函数的切线方向(即矩形的边)和法线方向,为了使得原代价函数取得最小值此时需要沿着梯度在约束函数的切线方向(左上方)移动。当ω移动到ω′ 时,通过分解原代价函数的梯度可以发现,为了使得取得原代价函数的最小值应该沿着右上方移动,所以最终最优的ω∗ 应该为矩形的顶点位置。

通过观察可以发现此时ω∗ 在坐标轴ω1 方向的取值为0,这也就是为什么l1 正则化会使得权重参数稀疏的原因。

l2 正则化

同样,我们按照分析l1正则化的思路进行分析

详解机器学习和深度学习常见的正则化

详解机器学习和深度学习常见的正则化

上图中蓝色椭圆表示是原代价函数的等高线,红色圆表示的是权重的约束函数它的半径是√ C ,其中蓝色箭头表示的是原代价函数在该点的梯度方向,红色箭头表示的是约束函数在该点的法向量方向,绿色箭头表示的是约束函数在该点的切线方向。

还是按照上面的思想我们将梯度按切线方向和法线方向进行分解,为了使得原代价函数取得最小值,我们需要将ω 按切线方向进行移动,当移动到ω∗ 时,梯度方向与切线方向垂直时梯度沿切线方向的分量为0,此时原代价函数取得最小值,所以ω∗ 为最优点。

通过观察上图可以发现,此时ω1的取值接近于0,这也就是为什么l2正则化会使得权重趋于0的原因。

2. 公式推导证明

l2 正则化

l2 正则化也被称为权重衰减或岭回归,在神经网络中也被经常用到,因为它会使得权重向零点靠近(使得权重的取值趋于0)。为了更好的观察l2正则化的影响,接下来我们观察一下在添加罚项之后,权重参数是如何更新的

详解机器学习和深度学习常见的正则化

使用单步梯度下降更新权重,更新公式如下:

详解机器学习和深度学习常见的正则化

上式中的,ϵ 指的是学习率,α 指的是权重衰减系数,这两个参数通常都是小于1的。

通过单步的权重的梯度更新公式可以发现,权重每次在更新之前都需要乘以一个小于1的系数,相当于每次更新权重的时候都对它做了衰减,在经过多次权重更新之后会,权重的系数会接近于0,最终会导致权重也接近0,假设权重的系数为0.9,经过100次权重的迭代更新,最终权重系数会变为0.9100≈2.7∗10−5(注:这里没有考虑梯度的大小,只是简单表明这种趋势)。

上面只是一个单步的权重更新过程,接下来我们推导一下在整个训练过程中,权重的更新过程,为了简化分析我们假设ω∗ 为J(ω)取得最小值时的权重向量,根据泰勒公式

详解机器学习和深度学习常见的正则化

假设J(ω)二阶可导,我们对其进行二次近似的泰勒展开则有

详解机器学习和深度学习常见的正则化

为了让ˆJ (ω)取得最小值,我们令其导数为0,因为ˆJ(ω∗)为常数,所以它的导数为0,我们就直接省略了

详解机器学习和深度学习常见的正则化

接下来我们研究添加l2 正则化之后的对ˆJ(ω)的影响,我们假设˜ω为l2正则化之后ˆJ(ω)的最优解,可得它的导数为

详解机器学习和深度学习常见的正则化

上式中的 I 表示的是单位矩阵,通过上式不难发现,当正则化的惩罚项系数α 为0时,此时˜ω 的最优解就等于ω∗,接下来我们讨论一下当惩罚项系数不为0的时。因为H 是J 在ω∗ 的Hessian矩阵,所以H 是一个对称矩阵,我们可以对其做特征分解,可得 H = QΛQT,其中Λ为对角矩阵,Q 为一组特征向量的标准正交基,代入上式可得

详解机器学习和深度学习常见的正则化

通过上面的式子可以发现,l2正则化的效果就是沿着H 矩阵特征向量所定义的轴缩放未正则化J(ω)的解ω∗。因为 I 是单位矩阵,我们可以将缩放的系数改成这种形式 ,其中λi指的是矩阵H的特征向量每个轴值的大小,也就是特征分解之后特征值的大小。

通过修改后的衰减系数不难发现,当特征值 λi>>α 时,此时α的影响可以忽略不计,正则化的缩放系数会趋于1,正则化基本没有影响。当特征值 λi<<α 时,可以将缩放系数改为,因为 α>>λi 所以 (α/λi)>>1,所以缩放系数 (λ/iα)<<1,缩放系数趋于0使得权重也会趋于0。

l1正则化

上面我们推导了添加了l2 正则化之后对权重的影响,通过最后推导得到式子可以解释为什么l2正则化会让权重趋于0。接下来,我们以类似的方式来推导l1正则化对于权重的影响

详解机器学习和深度学习常见的正则化

上式中的sign函数为符号函数,函数图像如下

当函数输入值x<0 时输出值恒等于 -1,输入值为0时输出值也等于0,输入值 x>1 时输出值恒等于1,sign函数经常被用来表示阶跃函数

我们将J(ω;X,y) 使用二阶的泰勒展开式来代替,可以将l1正则化后的代价函数转换为如下形式

详解机器学习和深度学习常见的正则化

接下来我们看看如何求解ωi,上式中的J(ω∗)是常数我们不用考虑,主要考虑求和式中的二次项式和绝对值式来使得整个代价函数取得最小值,为了求得后两项和的最小值,我们对其求导并令求导后的结果等于0来求ωi

详解机器学习和深度学习常见的正则化

我们可以将上式中ωi 分为两种情况,第一种是ωi 和ω∗同号即,第二种是ωi 和ω∗异号即,我们先讨论第一种情况,为了帮助大家理解我们可以看看下图

详解机器学习和深度学习常见的正则化

通过上图可以发现,当ωi 与ω∗异号时,无论是哪种情况为了使得损失函数最小,其最优值都是ωi=0此时能保证代价函数的二次项式和绝对值式都取得最小值。

当ωi和ω∗ 同号时,可以将上式进行化简可得

详解机器学习和深度学习常见的正则化

详解机器学习和深度学习常见的正则化

所以,我们可以合并上式的结果得到最终的ωi的表达式为

详解机器学习和深度学习常见的正则化

总结

我们通过画图和使用公式推导证明了l1正则化和l2正则化产生不同效果的原因,需要注意的是它们的共同点其实都是在衰减对于代价函数的值变化影响相对较小的权重,也就是特征值小的权重,而l1正则化的效果是会使得这部分权重为0,l2正则化会使得它们趋于0。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 正则化
    +关注

    关注

    0

    文章

    17

    浏览量

    8091
  • 机器学习
    +关注

    关注

    66

    文章

    8126

    浏览量

    130571
  • 深度学习
    +关注

    关注

    73

    文章

    5239

    浏览量

    119913
收藏 人收藏

    评论

    相关推荐

    一文详解机器学习深度学习的区别

    深度学习这几年特别火,就像5年前的大数据一样,不过深度学习其主要还是属于机器学习的范畴领域内,所
    发表于 09-06 12:48 1342次阅读
    一文<b class='flag-5'>详解</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别

    探讨机器学习深度学习基本概念与运算过程

    人工智慧隶属于大範畴,包含了机器学习(Machine Learning) 与深度学习(Deep Learning)。如下图所示,我们最兴趣的深度
    的头像 发表于 12-18 15:45 3949次阅读
    探讨<b class='flag-5'>机器</b><b class='flag-5'>学习</b>与<b class='flag-5'>深度</b><b class='flag-5'>学习</b>基本概念与运算过程

    基于深度学习技术的智能机器

    ——工业机器人的智能程度要求也越来越高,采用深度学习技术为工业机器人赋能是目前各大厂商的统一认知。本文结合实际案例,简要说明一下智能
    发表于 05-31 09:36

    人工智能、数据挖掘、机器学习深度学习的关系

    人工智能、数据挖掘、机器学习深度学习之间,主要有什么关系?
    发表于 03-16 11:35

    改善深层神经网络--超参数优化、batch正则和程序框架 学习总结

    深度学习工程师-吴恩达》02改善深层神经网络--超参数优化、batch正则和程序框架 学习总结
    发表于 06-16 14:52

    一种基于机器学习的建筑物分割掩模自动正则和多边形方法

    摘要我们提出了一种基于机器学习的建筑物分割掩模自动正则和多边形方法。以图像为输入,首先使用通用完全卷积网络( FCN )预测建筑物分割图
    发表于 09-01 07:19

    如何区分深度学习机器学习

    深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长。当数据很少时,深度学习
    发表于 10-27 16:50 1747次阅读
    如何区分<b class='flag-5'>深度</b><b class='flag-5'>学习</b>与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    一文读懂深度学习机器学习的差异

    机器学习深度学习变得越来越火。突然之间,不管是了解的还是不了解的,所有人都在谈论机器学习
    发表于 11-16 01:38 2862次阅读
    一文读懂<b class='flag-5'>深度</b><b class='flag-5'>学习</b>与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的差异

    深度学习机器学习深度的不同之处 浅谈深度学习的训练和调参

    近年来,深度学习作为机器学习中比较火的一种方法出现在我们面前,但是和非深度学习
    发表于 05-02 10:30 4167次阅读

    【连载】深度学习笔记4:深度神经网络的正则

    今天要写的是关于机器学习深度学习中的一项关键技术:正则化。相信在机器
    的头像 发表于 08-14 11:58 3137次阅读

    5分钟内看懂机器学习深度学习的区别

    由 mengqiqi 于 星期四, 2018-09-13 09:34 发表 在本文中,我们将研究深度学习机器学习之间的差异。我们将逐一了解它们,然后讨论他们在各个方面的不同之处。除了
    发表于 09-13 17:19 417次阅读

    机器学习深度学习有什么区别?

    深度学习算法现在是图像处理软件库的组成部分。在他们的帮助下,可以学习和训练复杂的功能;但他们的应用也不是万能的。 “机器学习”和“
    的头像 发表于 03-12 16:11 7867次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>有什么区别?

    人工智能与机器学习深度学习的区别

    人工智能包含了机器学习深度学习。你可以在图中看到,机器学习是人工智能的子集,
    的头像 发表于 03-29 11:04 1178次阅读
    人工智能与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>、<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别

    机器学习深度学习的区别

    机器学习深度学习的区别 随着人工智能技术的不断发展,机器学习
    的头像 发表于 08-17 16:11 3394次阅读

    机器学习深度学习的区别

      机器学习深度学习是当今最流行的人工智能(AI)技术之一。这两种技术都有助于在不需要人类干预的情况下让计算机自主学习和改进预测模型。本文
    发表于 08-28 17:31 1054次阅读