![](/img/trans.png)
[英]Does tf.nn.l2_loss and tf.contrib.layers.l2_regularizer serve the same purpose of adding L2 regularization in tensorflow?
[英]Tensorflow - adding L2 regularization loss simple example
我熟悉机器学习,但是我正在阅读大学的一些幻灯片,从而独自学习Tensorflow。 下面,我仅使用一项功能设置线性回归的损失函数。 我正在将L2损失添加到总损失中,但是我不确定自己是否做得正确:
# Regularization
reg_strength = 0.01
# Create the loss function.
with tf.variable_scope("linear-regression"):
W = tf.get_variable("W", shape=(1, 1), initializer=tf.contrib.layers.xavier_initializer())
b = tf.get_variable("b", shape=(1,), initializer=tf.constant_initializer(0.0))
yhat = tf.matmul(X, W) + b
error_loss = tf.reduce_sum(((y - yhat)**2)/number_of_examples)
#reg_loss = reg_strength * tf.nn.l2_loss(W) # reg 1
reg_loss = reg_strength * tf.reduce_sum(W**2) # reg 2
loss = error_loss + reg_loss
# Set up the optimizer.
opt_operation = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
我的具体问题是:
我有两条线(分别称为reg 1
和reg 2
)来计算重量W
的L2损失。 标记为reg 1
的行使用Tensorflow内置函数。 这两个L2实现是否等效?
我是否将正则化损失reg_loss
正确添加到最终损失函数中?
这两个L2实现是否等效?
就像@fabrizioM指出的那样,几乎可以在这里看到TensorFlow文档中l2_loss的介绍。
我是否将正则化损失reg_loss正确添加到最终损失函数中?
到现在为止还挺好 : )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.