tf.nn.l2_loss() 与 权重衰减(weight decay)
权重衰减(weight decay)
L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。
L2正则化就是在代价函数后面再加上一个正则化项:
其中 C0C_0C0 代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数 w
的平方的和,除以训练集的样本大小 n
。λ就是正则项系数,权衡正则项与 C0C_0C0 项的比重。另外还有一个系数 1/2
,1/2
主要是为了后面求导的结果方便。系数 λ
就是权重衰减系数。
在 tensorflow
中, tf.nn.l2_loss()
函数的作用是利用L2范数来计算张量的误差值,并且只取L2范数的值的一半,即 1/2
。
函数原型是这样的:官方文档
tf.nn.l2_loss(t,name=None
)
t
是一个张量,一般有两个维度。
这个函数的输出为:output = sum(t ** 2) / 2
相当于计算上面公式中的 12∑ww2\frac{1}{2}\sum_{w}w^221∑ww2
权重衰减(L2正则化)的作用
作用:权重衰减(L2正则化)可以避免模型过拟合问题。
思考:L2正则化项有让 w
变小的效果,但是为什么 w
变小可以防止过拟合呢?
原理:
- (1)从模型的复杂度上解释:更小的权值
w
,从某种意义上说,表示网络的复杂度更低,对数据的拟合更好(这个法则也叫做奥卡姆剃刀),而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果。 - (2)从数学方面的解释:过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。
Reference:
https://blog.csdn.net/program_developer/article/details/80867468
https://blog.csdn.net/yangfengling1023/article/details/82910536
tf.nn.l2_loss() 与 权重衰减(weight decay)相关推荐
- 权值衰减weight decay的理解
1. 介绍 权值衰减weight decay即L2正则化,目的是通过在Loss函数后加一个正则化项,通过使权重减小的方式,一定减少模型过拟合的问题. L1正则化:即对权重矩阵的每个元素绝对值求和, λ ...
- 深度学习的权重衰减是什么_【深度学习理论】一文搞透Dropout、L1L2正则化/权重衰减...
前言 本文主要内容--一文搞透深度学习中的正则化概念,常用正则化方法介绍,重点介绍Dropout的概念和代码实现.L1-norm/L2-norm的概念.L1/L2正则化的概念和代码实现- 要是文章看完 ...
- 权重衰减weight_decay参数从入门到精通
文章目录 本文内容 1. 什么是权重衰减(Weight Decay) 2. 什么是正则化? 2.1 什么数据扰动 3. 减小模型权重 4. 为Loss增加惩罚项 4.1 通过公式理解Weight De ...
- 权重衰减/权重衰退——weight_decay
目录 权重衰减/权重衰退--weight_decay 一.什么是权重衰减/权重衰退--weight_decay? 二.weight decay 的作用 三.设置weight decay的值为多少? 权 ...
- 动态正则化权重系数_权重衰减防止过拟合(L2正则化)
1..权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化. L2正则化就是在代价函数后面再加上一个正则化项 ...
- tf.nn 和tf.layers以及tf.contrib.layers的简单区别(转)
tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别(转) 2018年09月02日 18:50:33 holmes_MX 版权声明:原创 ...
- tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/holmes_MX/article/de ...
- TensorFlow(七)tf.nn库
##tf.nn,tf.layers, tf.contrib模块有很多功能是重复的 下面是对三个模块的简述: tf.nn :提供神经网络相关操作的支持,包括卷积操作(conv).池化操作(pooling ...
- 深度学习:权重衰减(weight decay)与学习率衰减(learning rate decay)
正则化方法:防止过拟合,提高泛化能力 避免过拟合的方法有很多:early stopping.数据集扩增(Data augmentation).正则化(Regularization)包括L1.L2(L2 ...
最新文章
- 家用电器用户行为分析与事件识别_用户行为分析埋点实时数仓实践
- Linux中防火墙(一)
- js笔记(9)之定时器数字时钟延时提示框
- js-innerHTML
- win7 蓝牙4.0 ble驱动_初识物联网无线通信技术之蓝牙4.0BLE协议栈
- 十五开源的Andr​​oid(2D或3D)Android开发游戏引擎
- 从svn导入多个项目_GIT和SVN相比有哪些优势?如何在团队内部推行GIT?
- 更新导致Svchost CPU100%(转)
- (转)如何在Windows下使用OpenGL 2.0的API(包括GLSL)
- linux ubuntu 11.10 下的android开发环境的搭建!
- cadence SPB16.6原理图库(.olb)集合的库内容列表2
- Android NFC开发(一)
- nmap和masscan
- 【ESP32 Arduino平衡小车制作】(一)霍尔编码器解码
- CodeForces1036 F Relatively Prime Powers(莫比乌斯容斥)
- 玩转iOSARkit以及3D模型
- Android 系统第三方应用系统修改权限及在应用上层显示权限默认打开
- azure不支持哪些语句 sql_SQL Azure vs SQL Server
- 算法---程序的灵魂,没错就是灵魂!
- 对参考文献格式的一些举例