机器学习中的一个核心问题是设计不仅在训练数据上表现好,而且能在新输入上泛化(?)好的算法。在机器学习中,许多策略被显式地设计来减少测试误差(可能会以增大训练误差为代价)。这些策略被统称为正则化。

待补充 141

1 参数范数惩罚

许多正则化方法通过对目标函数JJJ添加一个参数范数惩罚Ω(θ)\Omega(\theta)Ω(θ),限制模型(如神经网络、线性回归或逻辑回归)的学习能力。我们将正则化后的目标函数记为J~\tilde{J}J~:

J~(θ;X,y)=J(θ;X,y)+αΩ(θ)(7.1)\tilde{J}(\theta;X,y)=J(\theta;X,y)+\alpha\Omega(\theta)\quad\quad\quad\quad\quad(7.1)J~(θ;X,y)=J(θ;X,y)+αΩ(θ)(7.1)

其中α∈[0,∞)\alpha\in[0,\infty)α∈[0,∞)是权衡范数惩罚项Ω\OmegaΩ和标准目标函数F(X;θ)F(X;\theta)F(X;θ)相对贡献的超参数。将α\alphaα设为0表示没有正则化。α\alphaα越大,对应正则化惩罚越大。

当我们的训练算法最小化正则化后的目标函数J~\tilde{J}J~时,它会降低原始目标JJJ关于训练数据的误差并同时减小在某些衡量标准下参数θ\thetaθ(或参数子集)的规模。选择不同的参数范数Ω\OmegaΩ会偏好不同的解。在本节中,我们会讨论各种范数惩罚对模型的影响。

在探究不同范数的正则化表现之前,我们需要说明一下,在神经网络中,参数包
括每一层仿射变换的权重和偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。
精确拟合偏置所需的数据通常比拟合权重少得多。每个权重会指定两个变量如何相
互作用。我们需要在各种条件下观察这两个变量才能良好地拟合权重。而每个偏置仅
控制一个单变量。这意味着,我们不对其进行正则化也不会导致太大的方差。另外,
正则化偏置参数可能会导致明显的欠拟合。因此,我们使用向量 w 表示所有应受范
数惩罚影响的权重,而向量 θ 表示所有参数 (包括 w 和无需正则化的参数)。

在神经网络的情况下,有时希望对网络的每一层使用单独的惩罚,并分配不同
的 α 系数。寻找合适的多个超参数的代价很大,因此为了减少搜索空间,我们会在
所有层使用相同的权重衰减。

1.1 L2L^2L2参数正则化

权重衰减(weight decay)是最简单且最常见的参数范数惩罚,它表现为L2L^2L2参数范数惩罚。这个正则化策略通过向目标函
数添加一个正则项Ω(θ)=12∥w∥22\Omega(\theta)=\frac{1}{2}\Vert w\Vert_2^2Ω(θ)=21​∥w∥22​,使权重更加接近原点(更一般地,我们可以将参数正则化为接近空间中的任意特定点,令人惊讶的是这样也仍有正则化效果,但是特定点越接近真实值结果越好。当我们不知道正确的值应该是正还是负时,零是有意义的默认值。由于模型参数正则化为零的情况更为常见,我们将只探讨这种特殊情况。)。在其他学术圈,L2L^2L2也被称为岭回归或 Tikhonov 正则。

我们可以通过研究正则化后目标函数的梯度,洞察一些权重衰减的正则化表现。为了简单起见,我们假定其中没有偏置参数,因此θ\thetaθ就是www。这样一个模型具有以下总的目标函数:

J~(w;X,y)=α2wTw+J(w;X,y)(7.2)\tilde{J}(w;X,y)=\frac{\alpha}{2}w^Tw+J(w;X,y)\quad\quad\quad\quad(7.2)J~(w;X,y)=2α​wTw+J(w;X,y)(7.2)

与之对应的梯度为

∇wJ~(w;X,y)=αw+∇wJ(w;X,y)(7.3)\nabla_w\tilde{J}(w;X,y)=\alpha w+\nabla_wJ(w;X,y)\quad\quad\quad\quad(7.3)∇w​J~(w;X,y)=αw+∇w​J(w;X,y)(7.3)

(?上面的公式推导)

使用单步梯度下降更新权重,即执行以下更新:

w←w−ϵ(αw+∇wJ(w;X,y)).(7.4)w\leftarrow w-\epsilon(\alpha w+\nabla_wJ(w;X,y)).\quad\quad\quad\quad\quad(7.4)w←w−ϵ(αw+∇w​J(w;X,y)).(7.4)

换一种写法,上式变为:

w←(1−ϵα)w−ϵ∇wJ(w;X,y).(7.5)w\leftarrow(1-\epsilon\alpha)w-\epsilon\nabla_wJ(w;X,y).\quad\quad\quad\quad(7.5)w←(1−ϵα)w−ϵ∇w​J(w;X,y).(7.5)

可以看到,加入权重衰减后会引起学习规则的修改,即在每步执行通常的梯度更新之前先收缩权重向量(将权重向量乘以一个常数因子)。这是单个步骤发生的变化。但是,在训练的整个过程会发生什么呢?

我们进一步简化分析,令w∗w^*w∗为未正则化的目标函数取得最小训练误差时的权重向量,即w∗=arg min⁡wJ(w)w^*=\argmin\limits_{w}J(w)w∗=wargmin​J(w),并在w∗w^*w∗的邻域对目标函数做二次近似。如果目标函数确实是二次的 (如以均方误差拟合线性回归模型的情况),则该近似是完美的。近似的J^(θ)\hat{J}(\theta)J^(θ)如下:

J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)(7.6)\hat{J}(\theta)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*)\quad\quad\quad\quad(7.6)J^(θ)=J(w∗)+21​(w−w∗)TH(w−w∗)(7.6)

其中HHH是JJJ在w∗w^*w∗处计算的 Hessian 矩阵 (关于www)。因为w∗w^*w∗被定义为最优,即梯度消失为 0,所以该二次近似中没有一阶项。同样地,因为 w∗w^*w∗ 是 JJJ 的一个最优点,我们可以得出 HHH 是半正定的结论。(?)

当 J^\hat{J}J^ 取得最小时,其梯度

∇wJ^(w)=H(w−w∗)(7.7)\nabla_w\hat{J}(w)=H(w-w^*)\quad\quad\quad\quad(7.7)∇w​J^(w)=H(w−w∗)(7.7)

为0.(还是一个问题,这里是怎么推导的?)

为了研究权重衰减带来的影响,我们在式 (7.7) 中添加权重衰减的梯度。现在我们探讨最小化正则化后的 J^\hat{J}J^。我们使用变量 w~\tilde{w}w~ 表示此时的最优点:

αw~+H(w~−w∗)=0(7.8)\alpha\tilde{w}+H(\tilde{w}-w^*)=0\quad\quad\quad\quad\quad(7.8)αw~+H(w~−w∗)=0(7.8)
(H+αI)w~=Hw∗(7.9)(H+\alpha I)\tilde{w}=Hw^*\quad\quad\quad\quad\quad(7.9)(H+αI)w~=Hw∗(7.9)
w~=(H+αI)−1Hw∗(7.10)\tilde{w}=(H+\alpha I)^-1Hw^*\quad\quad\quad\quad\quad(7.10)w~=(H+αI)−1Hw∗(7.10)

(?矩阵什么时候可逆)

当 α\alphaα 趋向于 0 时,正则化的解 w~\tilde{w}w~ 会趋向 w∗w^*w∗。那么当 α\alphaα 增加时会发生什么呢?因为 HHH 是实对称的,所以我们可以将其分解为一个对角矩阵 Λ\LambdaΛ 和一组特征向量的标准正交基 QQQ,并且有 H=QΛQTH=Q\Lambda Q^TH=QΛQT(?实对称矩阵的什么性质)。将其应用于式 (7.10) ,可得:

w~=(QΛQT+αI)−1QΛQTw∗(7.11)=[Q(Λ+αI)QT]−1QΛQTw∗(7.12)=Q(Λ+αI)−1ΛQTw∗(7.13)\tilde{w}=(Q\Lambda Q^T+\alpha I)^{-1}Q\Lambda Q^Tw^*\quad\quad\quad\quad\quad\ \ (7.11)\\=[Q(\Lambda+\alpha I)Q^T]^{-1}Q\Lambda Q^T w^*\quad\quad\quad\quad(7.12)\\=Q(\Lambda+\alpha I)^{-1}\Lambda Q^Tw^*\quad\quad\quad\quad\quad\quad\quad(7.13)w~=(QΛQT+αI)−1QΛQTw∗  (7.11)=[Q(Λ+αI)QT]−1QΛQTw∗(7.12)=Q(Λ+αI)−1ΛQTw∗(7.13)

(?)中间推导

我们可以看到权重衰减的效果是沿着由HHH的特征向量所定义的轴缩放w∗w^*w∗。具体来说,我们会根据λiλi+α\frac{\lambda_i}{\lambda_i+\alpha}λi​+αλi​​因子缩放与HHH第iii个特征向量对齐的w∗w^*w∗的分量(图2.3中有这种缩放的原理)

沿着HHH特征值较大的方向(如λi≫α\lambda_i\gg\alphaλi​≫α)正则化的影响较小。而λi≪α\lambda_i\ll\alphaλi​≪α的分量将会收缩到几乎为零。这种效应如图7.1所示:

只有在显著减小目标函数方向上的参数会保留得相对完好。在无助于目标函数减小的方向(对应 Hessian 矩阵较小的特征值)上改变参数不会显著增加梯度。这种不重要方向对应的分量会在训练过程中因正则化而衰减掉。

目前为止,我们讨论了权重衰减对优化一个抽象通用的二次代价函数的影响。这些影响具体是怎么和机器学习关联的呢?我们可以研究线性回归,它的真实代价函数是二次的,因此我们可以使用相同的方法分析。再次应用分析,我们会在这种情况下得到相同的结果,但这次我们使用训练数据的术语表述。线性回归的代价函数是平方误差之和:

(Xw−y)T(Xw−y)(7.14)(Xw-y)^T(Xw-y)\quad\quad\quad\quad(7.14)(Xw−y)T(Xw−y)(7.14)

我们添加L2L^2L2正则项后,目标函数变为:

(Xw−y)T(Xw−y)+12αwTw(7.15)(Xw-y)^T(Xw-y)+\frac{1}{2}\alpha w^Tw\quad\quad\quad\quad(7.15)(Xw−y)T(Xw−y)+21​αwTw(7.15)

这将普通方程的解从(?):

w=(XTX)−1XTyw=(X^TX)^{-1}X^Tyw=(XTX)−1XTy

变为:

w=(XTX+αI)−1XTy(7.17)w=(X^TX+\alpha I)^{-1}X^Ty\quad\quad\quad\quad\quad(7.17)w=(XTX+αI)−1XTy(7.17)

式 (7.16) 中的矩阵XTXX^TXXTX与协方差矩阵1mXTX\frac{1}{m}X^TXm1​XTX成正比。L2L^2L2正则项将这个矩阵替换为式 (7.17) 中的(XTX+αI)−1(X^TX+\alpha I)^{-1}(XTX+αI)−1这个新矩阵与原来的是一样的,不同的仅仅是在对角加了α\alphaα。这个矩阵的对角项对应每个输入特征的方差。我们可以看到,L2L^2L2正则化能让学习算法 ‘‘感知’’ 到具有较高方差的输入xxx,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。(?)

1.2 L1L^1L1参数正则化

对模型参数www的L1L^1L1正则化被定义为:

Ω(θ)=∥w∥1=∑i∣wi∣(7.18)\Omega(\theta)=\Vert w\Vert_1=\sum\limits_{i}|w_i|\quad\quad\quad\quad(7.18)Ω(θ)=∥w∥1​=i∑​∣wi​∣(7.18)

即各个参数的绝对值之和。接着我们将讨论L1L^1L1正则化对简单线性回归模型的影响,与分析L2L^2L2正则化时一样不考虑偏置参数。我们尤其感兴趣的是找出L1L^1L1和L2L^2L2正则化之间的差异。与L2L^2L2权重衰减类似,我们也可以通过缩放惩罚项Ω\OmegaΩ的正超参数α\alphaα来控制L1L^1L1权重衰减的强度。因此,正则化的目标函数 J~(w;X,y)\tilde{J}(w;X,y)J~(w;X,y)如下所示:

J~(w;W,y)=α∥w∥1+J(w;X,y)(7.19)\tilde{J}(w;W,y)=\alpha\Vert w\Vert_1+J(w;X,y)\quad\quad\quad\quad\quad(7.19)J~(w;W,y)=α∥w∥1​+J(w;X,y)(7.19)

对应的梯度(实际上是次梯度)(?):

∇wJ~(w;X,y)=αsign(w)+∇wJ(w;X,y)(7.20)\nabla_w\tilde{J}(w;X,y)=\alpha sign(w)+\nabla_wJ(w;X,y)\quad\quad\quad\quad(7.20)∇w​J~(w;X,y)=αsign(w)+∇w​J(w;X,y)(7.20)

其中sign(w)sign(w)sign(w)只是简单地取www各个元素的正负号。

观察式 (7.20) ,我们立刻发现L1L^1L1的正则化效果与L2L^2L2大不一样。具体来说,我们可以看到正则化对梯度的影响不再是线性地缩放每个wiw_iwi​;而是添加了一项与sign(wi)sign(w_i)sign(wi​) 同号的常数。使用这种形式的梯度之后,我们不一定能得到J(X,y;w)J(X,y;w)J(X,y;w) 二次近似的直接算术解(L2L^2L2正则化时可以)。

简单线性模型具有二次代价函数,我们可以通过泰勒级数表示。或者我们可以设想,这是逼近更复杂模型的代价函数的截断泰勒级数。在这个设定下,梯度由下式给出

∇wJ^(w)=H(w=w∗)(7.21)\nabla_w\hat{J}(w)=H(w=w^*)\quad\quad\quad\quad\quad(7.21)∇w​J^(w)=H(w=w∗)(7.21)

七、深度学习中的正则化相关推荐

  1. AI圣经-深度学习-读书笔记(七)-深度学习中的正则化

    深度学习中的正则化 0 简介 机器学习中的一个核心问题是设计不仅在训练数据上表现好,而且能在新输入上泛化好的算法.采用显式减少测试误差(可能会增加训练误差)的策略称为正则化. 在深度学习的背景下,大多 ...

  2. 理解深度学习中的正则化

    写在前面:这篇文章虽然公式有点多,但很好懂的. 仔细看一定会有很大收获.     本文介绍了对深度学习中正则化的理解,分为以下几部分: 什么是正则化? 为什么要正则化? 怎样理解正则化? 举例 首先从 ...

  3. 花书笔记:第07章 深度学习中的正则化

    花书笔记:第07章 深度学习中的正则化 7.1 参数范数惩罚 参数范数惩罚 Ω ( θ ) \Omega(\theta) Ω(θ) α ∈ [ 0 , ∞ ) \alpha \in [0,\infty ...

  4. 深度学习Bible学习笔记:第七章 深度学习中的正则化

    一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...

  5. 学习笔记:深度学习中的正则化

    点击上方"视学算法",星标公众号 重磅干货,第一时间送达 作者:草yang年华 一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 ...

  6. 深度学习中的正则化技术(附Python代码)

    作者:SHUBHAM JAIN 翻译:和中华 校对:丁楠雅 本文约3500字,建议阅读20分钟. 本文简单介绍了什么是正则化以及在深度学习任务中可以采用哪些正则化技术,并以keras代码具体讲解了一个 ...

  7. 正则化的通俗解释_干货|深度学习中的正则化技术概述(附Python+keras实现代码)...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 介绍 数据科学研究者们最常遇见的问题之一就是怎样避免过拟合.你也许在训练模型的时候也遇 ...

  8. 深度学习 正则化 正则化率_何时以及如何在深度学习中使用正则化

    深度学习 正则化 正则化率 介绍: (Introduction:) The key role of Regularization in deep learning models is to reduc ...

  9. 深度学习中的正则化技术详解

    目录 基本概念 1. 参数范数惩罚 1.1 \(L^2\)正则化 1.2 \(L^1\)正则化 1.3 总结\(L^2\)与\(L^1\)正则化 2. 作为约束的范数惩罚 3. 欠约束问题 4. 数据 ...

  10. 读书笔记:深度学习中的正则化

    声明:读书笔记,未完成梳理,不值得参考. 阅读书籍:<深度学习>花书,第7章 正则化:对学习算法的修改--旨在减小泛化误差而不是训练误差. 个人描述:正则化项的目的是为了提升模型的泛化能力 ...

最新文章

  1. Ubuntu 系统 卸载OpenJDK 8
  2. Collection接口详解
  3. 【转】HashTable 和 HashMap的区别
  4. python dlib 年龄 性别_python dlib学习(一):人脸检测
  5. Mac Nginx 中 JDK安装位置,安装信息,打开jDK安装目录
  6. oracle虚拟机怎么拖到windows,如何使用Virtualbox从Windows 10拖放到Ubuntu 18 VM
  7. 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)...
  8. 一文看懂神经网络中的梯度下降原理 图像说明
  9. Oracle 临时表、数据闪回、系统常用表、及常用操作
  10. 【JSP开发】response重定向和resquest转发
  11. NodeMCU(ESP8266)按键中断实现单击-双击-长按功能
  12. 学3D建模需要有美术功底吗?
  13. 通用发票在线OCR识别,报销场景适用,支持近20种票据
  14. OA实施方法论的重要性
  15. 安装Microsoft Office - Win系统
  16. java libraries在哪_java.library.path在哪? | 学步园
  17. iOS 真机调试 No profile for team xxxx matching xx found
  18. 阿里云虚拟主机,免费用
  19. layui数据表格分页无法正常显示
  20. formidable词根词缀_词根词缀+语境:和UP一起逻辑背单词(三十六)

热门文章

  1. 未来的计算机想象,关于未来电脑的想象作文
  2. 快速导入Maven依赖的方法
  3. Apache Flink 进阶(三):Checkpoint 原理剖析与应用实践
  4. ijkplayer框架深入剖析
  5. 换工作,看机会的,戳进来!
  6. Android Multimedia框架总结(四)MediaPlayer中从Java层到C++层类关系及prepare及之后其他过程
  7. 最牛逼android上的图表库MpChart(二) 折线图
  8. 华师计算机硕士考试科目,华中师范大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  9. 前牙正常覆盖是多少_深覆合千万不要矫正?用图示告诉你深覆合深覆盖的区别是什么,有什么危害...
  10. linux web目录安全设置,[LNMP]Linux的Web环境的安全配置