import tensorflow as tf
import tensorflow.contrib as contrib
weight = tf.constant([[1.0, -2.0], [-3.0, 4.0]])
with tf.Session() as sess:
# 输出为(|1|+|-2|+|-3|+|4|)*0.5=5
print(sess.run(contrib.layers.l1_regularizer(0.5)(weight)))
# 输出为(1²+(-2)²+(-3)²+4²)/2*0.5=7.5
# TensorFlow会将L2的正则化损失值除以2使得求导得到的结果更加简洁
print(sess.run(contrib.layers.l2_regularizer(0.5)(weight)))
# l1_regularizer+l2_regularizer
print(sess.run(contrib.layers.l1_l2_regularizer(0.5, 0.5)(weight)))通常将regularizer + loss 作为final_loss进行优化,防止weight过度拟合
tensorflow正则化惩罚项
最新推荐文章于 2022-11-21 15:03:47 发布
本文通过实例展示了如何使用TensorFlow实现L1、L2正则化及两者的结合,帮助读者理解不同正则化方法对于权重的影响。
1万+

被折叠的 条评论
为什么被折叠?



