正则化 Regularization

技术正则化 Regularization 正则化 Regularization什么是正则化
凡是减少泛化误差(而不是训练误差)的方法都可以称作正则化
换句话说,也就是减小过拟合的方法
范数 Norm
L

正则化。

什么是正则化

任何减少泛化误差(而不是训练误差)的方法都可以称为正则化。

换句话说,就是减少过拟合的方法。

范数 Norm

L1范数:\(| | w | | _ 1={ | w _ 1 | | w _ 2 | \ cdots | w _ n | } \)。

权重(W)被视为空间中的向量。如果\(W\)到原点的距离是欧氏距离,那么这个范数就是L2范数:\(| | W | | 2=\ sqrt { | W _ 1 | 2 | W _ 2 | 2 \ cdots | W。

其他规范

\[| | w | | _ p=\ sqrt[p]{|w_1|^p |w_2|^p \ cdots |w_n|^p}

\]

从图中可以看出,在\(p\ge 1\)形成的集是凸集。

为何要正则化

从三个不同的角度理解正则化的作用。

拉格朗日乘数法

训练神经网络时,权重的初始值会影响最终的结果。不同的模型之后,权重的结果会更大或更小。这个结果不会对训练集产生任何影响,但是如果输入新的数据集,就会出现这种影响。如果权重过大,误差和噪声会被放大。为了解决这个问题,我们使用正则化来控制参数。

从拉格朗日乘数法的角度来看,是指人为地在参数范围内增加一个约束(可行域),并在可行域内寻找最大值。如果超出可行范围,即使损失函数的值很小,也不会被采用。

这里只能使用约束\(W\),因为\(W\)最终决定了曲线的形状,而\(b\)只是一个偏移量。

\[\begin{align*}

\\最小J(W,b,x)\\

s.t. ||W||_2-C \le 0\\

L(W,\)=J(W)\(| | W | | _ 2-C)\

\最小_宽\最大_长(宽,宽)\\

\ s.t. \lambda \ge 0

\end{align*}

\]因为我们找到了\(W\)的最大值,所以只需要计算\(W\),所以一般正则化公式如下。

\[L(W,\)=J(W)\| | W | | _ 2

\]从2D形象直观感受一下。

L1正则化的稀疏性:可以调整\(\lambda\)使某些\(w_i\)有值,即某些特征起作用,从图像上看,某些数轴上有值。

权重衰减 Weight Decay

添加正则化项后的损失函数为:其中\(\frac 1 2\)用于推导和计算。

\[j(w)=j(w)\ frac \u 2 w^tw

\]权重更新的计算是。

\[\begin{align*}

W=W-\\ cdot \ nab la _ W J(W)-\\ cdot \ alpha \ cdot W \ \

=(1-\ eta \ cdot \ alpha)W-\ eta \ cdot \ nabla _ WJ(W)

\end{align*}

\]从这个计算可以看出,与原始的梯度下降算法(\(W\)减去学习率乘以梯度不同,\(W\)在这里乘以一个大于0但小于1的数字,这意味着权重\(W\)在梯度更新之前是部分衰减的。

以此类推,这相当于在权重更新中增加了一个毒圈。以前重量可以在地图上自由运行,但是加了毒圈之后只能在一定范围内移动,每走一步毒圈都会缩小一点。

从图像来理解,如果惩罚后\(W\)变小,那么泰勒展开后模型函数的系数(即k阶导数)也会变小,那么函数的曲线就不会那么精确,导致过拟合,如下图所示。

但是,需要注意的是,正则化可能不完全等同于权重衰减。

具体见本文:下降权重衰减正则化。

贝叶斯概率

正则化与原解的关系

首先,对原始损失函数进行二阶泰勒展开。

然后计算加入正则项后的梯度。

因此,可以计算原始解(红色)和正则解(橙色)之间的关系。

然后利用Hessian矩阵的性质对公式进行变形。

终于得到

因此,L2正则化是对原始损失函数的极值点进行标度,标度依赖于。

L1正则化要麻烦得多,为了简化问题,假设Hessian矩阵是对角的,即,\ (h={\ rmdiag} ([h _ {1,1},\ cdots,h _ {n,n}]) \)。

这解释了为什么L1正则化会带来稀疏性,因为落在这个范围内的\(W\)将变成0。

Reference

从拉格朗日乘数法的角度理解。

为什么也叫重量衰减?衰减到哪里去了?

这本书告诉我,疼痛是有规律的。

拉格朗日乘数法;重量衰减;贝叶斯概率

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52944.html

(0)

相关推荐

  • [源码解析] PyTorch 分布式(9) ----

    技术[源码解析] PyTorch 分布式(9) ---- [源码解析] PyTorch 分布式(9) ----- DistributedDataParallel 之初始化前文我们对DDP的一些支撑模块已

    礼包 2021年11月23日
  • 如何在遥远的CDB迁移名为jypdb的PDB

    技术远程CDB中怎么将名为jypdb的PDB进行迁移这篇文章主要介绍“远程CDB中怎么将名为jypdb的PDB进行迁移”,在日常操作中,相信很多人在远程CDB中怎么将名为jypdb的PDB进行迁移问题上存在疑惑,小编查阅

    攻略 2021年12月21日
  • 怎么用Glide框架缓存压缩图片做一个网络图片查看器

    技术怎么用Glide框架缓存压缩图片做一个网络图片查看器这篇文章主要介绍“怎么用Glide框架缓存压缩图片做一个网络图片查看器”,在日常操作中,相信很多人在怎么用Glide框架缓存压缩图片做一个网络图片查看器问题上存在疑

    攻略 2021年10月29日
  • 世界各国人口,现今世界各国人口形势怎么样

    技术世界各国人口,现今世界各国人口形势怎么样谢谢邀请世界各国人口,人口是人类发展的根本,截止目前全球总人数约为77.17亿人(数据来自上海自然博物馆),全球人口的不断增多,既增强了人类的能力,又给地球带来了负担。对于一个

    生活 2021年10月22日
  • POSTGRESQL10.3源码如何安装主从搭建

    技术POSTGRESQL10.3源码如何安装主从搭建这篇文章将为大家详细讲解有关POSTGRESQL10.3源码如何安装主从搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、下载P

    攻略 2021年11月10日
  • 应接不暇是什么意思,应接不暇的应是什么意思

    技术应接不暇是什么意思,应接不暇的应是什么意思应接不暇:景物繁多,来不及观赏应接不暇是什么意思。目前多形容来人或事情太多,应付不过来。暇:空闲; 不暇:没有空闲,来不及。原形容景物繁多,目不暇接。后来形容人太多或事务繁杂

    生活 2021年10月30日