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

相关推荐

  • 如何理解Java MeteoInfo解析与绘图代码教程

    技术如何理解Java MeteoInfo解析与绘图代码教程这篇文章主要讲解了“如何理解Java MeteoInfo解析与绘图代码教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年10月21日
  • Android开发中常用到的工具类有哪些

    技术Android开发中常用到的工具类有哪些这篇文章给大家介绍Android开发中常用到的工具类有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。作为一个程序员界的新晋司机,也是时候整理一些东西了

    攻略 2021年11月26日
  • ig是个什么梗,“皮皮虾我们走”是什么梗

    技术ig是个什么梗,“皮皮虾我们走”是什么梗“皮皮虾我们走”是2017年的网络流行语。“XXX我们走”最初是游戏王YGOcore里的玩家梗ig是个什么梗,起源是“源龙星,我们走”。2017年1月,经过网友魔改成“皮皮虾我

    生活 2021年10月29日
  • Django组件-forms组件

    技术Django组件-forms组件 Django组件-forms组件Django组件-forms组件
    forms组件
    校验字段功能
    针对一个实例:注册用户讲解。
    模型:models.pyclass U

    礼包 2021年12月13日
  • 竹石的写作背景,《竹石》的写作背景和赏析

    技术竹石的写作背景,《竹石》的写作背景和赏析【赏析】 这是一首是在竹石图上的题画诗竹石的写作背景,作者咏的是竹石,但已不是对自然界竹石的一般描写,而是蕴含了作者深刻的思想感情。作者以物喻人,实写竹子,赞颂的却是人。诗人屹

    生活 2021年10月21日
  • Redis中的两种持久化方式是什么

    技术Redis中的两种持久化方式是什么本篇内容主要讲解“Redis中的两种持久化方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的两种持久化方式是什么”吧

    攻略 2021年10月25日