L2正则化是一种减少过拟合的方法,在损失函数中加入刻画模型复杂程度的指标。假设损失函数是 J(θ) J(\theta),则优化的是 J(θ)+λR(w) J(\theta)+\lambda R(w), R(w)=∑ni=0|w2i| R(w)=\sum_{i=0}^n |w_{i}^2|。

在tensorflow中的具体实现过程如下:

#coding:utf-8import tensorflow as tfdef get_weight(shape,lambda):var = tf.Variable(tf.random_normal(shape),dtype=tf.float32)tf.add_to_collection("losses",tf.contrib.layers.l2_regularizer(lambda)(var))#把正则化加入集合losses里面return varx = tf.placeholder(tf.float32,shape=(None,2))
y_ = tf.placeholder(tf.float32,shape=(none,1))#真值batcg_size = 8layer_dimension = [2,10,10,10,1]#神经网络层节点的个数n_layers = len(layer_dimension)#神经网络的层数cur_layer = xin_dimension = layer_dimension[0]for i in range (1,n_layers):out_dimension = layer_dimension[i]weight = get_weight([in_dimension,out_dimension],0.001)bias = tf.Variable(tf.constant(0.1,shape(out_dimension)))cur_layer = tf.nn.relu(tf.matmul(x,weight)) + bias)in_dimension = layer_dimension[i]ses_loss = tf.reduce_mean(tf.square(y_ - cur_layer))#计算最终输出与标准之间的losstf.add_to_collenction("losses",ses_loss)#把均方误差也加入到集合里loss = tf.add_n(tf.get_collection("losses"))
#tf.get_collection返回一个列表,内容是这个集合的所有元素
#add_n()把输入按照元素相加

L2正则化—tensorflow实现相关推荐

  1. (4)[Tensorflow]L2正则化和collection【tf.GraphKeys】

    L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 1. tf. ...

  2. [Tensorflow]L2正则化和collection【tf.GraphKeys】

    L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 一.tf.G ...

  3. 31,32,33_过拟合、欠拟合的概念、L2正则化,Pytorch过拟合欠拟合,交叉验证-Train-Val-Test划分,划分训练集和测试集,K-fold,Regularization

    1.26.过拟合.欠拟合及其解决方案 1.26.1.过拟合.欠拟合的概念 1.26.1.1.训练误差和泛化误差 1.26.1.2.验证数据集与K-fold验证 1.26.1.3.过拟合和欠拟合 1.2 ...

  4. 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型

    持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tens ...

  5. 过拟合解决方法之L2正则化和Dropout

    七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共1161个字,17张图,预计阅读时间10分钟. 什么是过拟合? 一幅图胜千言万语 ...

  6. 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...

  7. L2正则化和collection,tf.GraphKeys

    L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 一.tf.G ...

  8. 梯度下降、牛顿法凸优化、L1、L2正则化、softmax、Batchnorm、droupout、Targeted Dropout详解

    一.梯度下降 问题提出:虽然给定一个假设函数,我们能够根据cost function知道这个假设函数拟合的好不好,但是毕竟函数有这么多,总不可能一个一个试吧?因此我们引出了梯度下降:能够找出cost ...

  9. L2正则化Regularization详解及反向传播的梯度求导

    摘要 本文解释L2正则化Regularization, 求解其在反向传播中的梯度, 并使用TensorFlow和PyTorch验证. 相关 系列文章索引 : https://blog.csdn.net ...

最新文章

  1. 滤波器电路的Python仿真
  2. 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
  3. MySQLdb的安装
  4. ruby sinatra mysql_一分钟开始持续集成之旅系列之:Ruby + Sinatra 应用
  5. UPX 加壳工具:The Ultimate Packer for eXecutables
  6. IoT SaaS加速器——助力阿尔茨海默病人护理
  7. 通过django 执行命令或者脚本
  8. 【转】[你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理...
  9. linux自动重启保护,Linux在崩溃时自动重启应用程序 – 守护进程
  10. 【华为云技术分享】Entity Framework Core 捕获数据库变动
  11. hdu 2255 奔小康赚大钱 KM算法
  12. 别忘记了修正反欺诈中的这些内容
  13. GET /favicon.ico HTTP/1.1 404
  14. 机器学习中的数学基础
  15. EDI系统-AS2传输常见问题
  16. 分布式文件存储-FastDFS原理简介
  17. IE\firfox\chrome的差异和兼容问题
  18. 大数据是什么 有哪些价值
  19. android pppd log,未记录的pppd退出代码
  20. 百度地图自定义瓦片切片工具

热门文章

  1. Rasa使用指南01
  2. 造成BGA焊接不良问题有哪些?
  3. webpack 配置 alias
  4. Linux基础bash命令
  5. c语言,判断整数 m 是否素数
  6. 【修复H5农场复利】黄金家园农场理财游戏源码Thinkphp开发 带商城仓库商店模块
  7. 零售数字化必经哪四个阶段?
  8. 谱密度,功率谱,能量谱密度
  9. windows 的cmd设置代理方法
  10. 一文说尽 MySQL 优化原理