权重衰减(weight decay)

  L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。

  L2正则化就是在代价函数后面再加上一个正则化项:

  其中 C0C_0C0​ 代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数 w 的平方的和,除以训练集的样本大小 n。λ就是正则项系数,权衡正则项与 C0C_0C0​ 项的比重。另外还有一个系数 1/21/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​∑w​w2

权重衰减(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)相关推荐

  1. 权值衰减weight decay的理解

    1. 介绍 权值衰减weight decay即L2正则化,目的是通过在Loss函数后加一个正则化项,通过使权重减小的方式,一定减少模型过拟合的问题. L1正则化:即对权重矩阵的每个元素绝对值求和, λ ...

  2. 深度学习的权重衰减是什么_【深度学习理论】一文搞透Dropout、L1L2正则化/权重衰减...

    前言 本文主要内容--一文搞透深度学习中的正则化概念,常用正则化方法介绍,重点介绍Dropout的概念和代码实现.L1-norm/L2-norm的概念.L1/L2正则化的概念和代码实现- 要是文章看完 ...

  3. 权重衰减weight_decay参数从入门到精通

    文章目录 本文内容 1. 什么是权重衰减(Weight Decay) 2. 什么是正则化? 2.1 什么数据扰动 3. 减小模型权重 4. 为Loss增加惩罚项 4.1 通过公式理解Weight De ...

  4. 权重衰减/权重衰退——weight_decay

    目录 权重衰减/权重衰退--weight_decay 一.什么是权重衰减/权重衰退--weight_decay? 二.weight decay 的作用 三.设置weight decay的值为多少? 权 ...

  5. 动态正则化权重系数_权重衰减防止过拟合(L2正则化)

    1..权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化. L2正则化就是在代价函数后面再加上一个正则化项 ...

  6. tf.nn 和tf.layers以及tf.contrib.layers的简单区别(转)

    tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别(转) 2018年09月02日 18:50:33 holmes_MX 版权声明:原创 ...

  7. tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/holmes_MX/article/de ...

  8. TensorFlow(七)tf.nn库

    ##tf.nn,tf.layers, tf.contrib模块有很多功能是重复的 下面是对三个模块的简述: tf.nn :提供神经网络相关操作的支持,包括卷积操作(conv).池化操作(pooling ...

  9. 深度学习:权重衰减(weight decay)与学习率衰减(learning rate decay)

    正则化方法:防止过拟合,提高泛化能力 避免过拟合的方法有很多:early stopping.数据集扩增(Data augmentation).正则化(Regularization)包括L1.L2(L2 ...

最新文章

  1. 家用电器用户行为分析与事件识别_用户行为分析埋点实时数仓实践
  2. Linux中防火墙(一)
  3. js笔记(9)之定时器数字时钟延时提示框
  4. js-innerHTML
  5. win7 蓝牙4.0 ble驱动_初识物联网无线通信技术之蓝牙4.0BLE协议栈
  6. 十五开源的Andr​​oid(2D或3D)Android开发游戏引擎
  7. 从svn导入多个项目_GIT和SVN相比有哪些优势?如何在团队内部推行GIT?
  8. 更新导致Svchost CPU100%(转)
  9. (转)如何在Windows下使用OpenGL 2.0的API(包括GLSL)
  10. linux ubuntu 11.10 下的android开发环境的搭建!
  11. cadence SPB16.6原理图库(.olb)集合的库内容列表2
  12. Android NFC开发(一)
  13. nmap和masscan
  14. 【ESP32 Arduino平衡小车制作】(一)霍尔编码器解码
  15. CodeForces1036 F Relatively Prime Powers(莫比乌斯容斥)
  16. 玩转iOSARkit以及3D模型
  17. Android 系统第三方应用系统修改权限及在应用上层显示权限默认打开
  18. azure不支持哪些语句 sql_SQL Azure vs SQL Server
  19. 算法---程序的灵魂,没错就是灵魂!
  20. 对参考文献格式的一些举例

热门文章

  1. Node.js 究竟是什么?
  2. Windows下的for
  3. 四种软件架构演进史,会一种就很牛逼了!
  4. 某程序员为让公司裁掉自己,消极怠工!故意旷工!但公司坚持不裁他,领导:给你发工资,就是不裁你!...
  5. 深度学习在高德的探索与实践
  6. CTO让我研究中台(一):阿里的“数据+业务”双中台架构
  7. 我在阿里做中后台开发
  8. 别光顾着背单词了,每天花18分钟做这件事,英语水平暴增!
  9. 高效精细化管理企业工单
  10. OKR怎么使用比较好?