L2正则化—tensorflow实现
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实现相关推荐
- (4)[Tensorflow]L2正则化和collection【tf.GraphKeys】
L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 1. tf. ...
- [Tensorflow]L2正则化和collection【tf.GraphKeys】
L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 一.tf.G ...
- 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 ...
- 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型
持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tens ...
- 过拟合解决方法之L2正则化和Dropout
七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习 快速带你入门阅读全文> 正文共1161个字,17张图,预计阅读时间10分钟. 什么是过拟合? 一幅图胜千言万语 ...
- 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...
- L2正则化和collection,tf.GraphKeys
L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值. 相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法. 一.tf.G ...
- 梯度下降、牛顿法凸优化、L1、L2正则化、softmax、Batchnorm、droupout、Targeted Dropout详解
一.梯度下降 问题提出:虽然给定一个假设函数,我们能够根据cost function知道这个假设函数拟合的好不好,但是毕竟函数有这么多,总不可能一个一个试吧?因此我们引出了梯度下降:能够找出cost ...
- L2正则化Regularization详解及反向传播的梯度求导
摘要 本文解释L2正则化Regularization, 求解其在反向传播中的梯度, 并使用TensorFlow和PyTorch验证. 相关 系列文章索引 : https://blog.csdn.net ...
最新文章
- 滤波器电路的Python仿真
- 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
- MySQLdb的安装
- ruby sinatra mysql_一分钟开始持续集成之旅系列之:Ruby + Sinatra 应用
- UPX 加壳工具:The Ultimate Packer for eXecutables
- IoT SaaS加速器——助力阿尔茨海默病人护理
- 通过django 执行命令或者脚本
- 【转】[你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理...
- linux自动重启保护,Linux在崩溃时自动重启应用程序 – 守护进程
- 【华为云技术分享】Entity Framework Core 捕获数据库变动
- hdu 2255 奔小康赚大钱 KM算法
- 别忘记了修正反欺诈中的这些内容
- GET /favicon.ico HTTP/1.1 404
- 机器学习中的数学基础
- EDI系统-AS2传输常见问题
- 分布式文件存储-FastDFS原理简介
- IE\firfox\chrome的差异和兼容问题
- 大数据是什么 有哪些价值
- android pppd log,未记录的pppd退出代码
- 百度地图自定义瓦片切片工具