正则化 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)

相关推荐

  • windows API怎么使用入门sleep

    技术windows API怎么使用入门sleepwindows API怎么使用入门sleep,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。windows

    攻略 2021年10月23日
  • 怎么解决Mysql中的Last_Errno报错问题

    技术怎么解决Mysql中的Last_Errno报错问题本篇内容主要讲解“怎么解决Mysql中的Last_Errno报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解

    攻略 2021年11月18日
  • 金牛座和什么星座最配,与金牛座最配的星座是哪些

    技术金牛座和什么星座最配,与金牛座最配的星座是哪些金牛座 VS 牡羊座 配对评分金牛座和什么星座最配:70 还满不错的一对 星座比重:46:54 你们是很奇特的一对,白羊是急惊风,一想到就非要马上行动不可;金牛则是慢郎中

    生活 2021年10月26日
  • 如何解决php header失效

    技术如何解决php header失效本篇内容主要讲解“如何解决php header失效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php header失效”吧!解决

    攻略 2021年10月23日
  • 喜欢的英语单词,大家最喜欢嘚英语单词是什么啊

    技术喜欢的英语单词,大家最喜欢嘚英语单词是什么啊最喜欢的英文单词是:favouritefavourite 英[ˈfeɪvərɪt] 美[fevərɪt] adj. 特别受喜爱的; n.

    生活 2021年10月26日
  • 分析Oracle RAC集群

    技术分析Oracle RAC集群这篇文章主要讲解了“分析Oracle RAC集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Oracle RAC集群”吧!一、什么是

    攻略 2021年11月4日