tf.contrib.layers.l2_regularizer

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)))

规则化可以帮助防止过度配合,提高模型的适用性。(让模型无法完美匹配所有的训练项。)(使用规则来使用尽量少的变量去拟合数据)

规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀。

损失通常被添加到 tf.GraphKeys.REGULARIZATION_LOSSES

机器学习的 L1 和 L2 规范

其他规则化函数 Regularizers

  • tf.contrib.layers.apply_regularization

  • tf.contrib.layers.l1_regularizer

  • tf.contrib.layers.l2_regularizer

  • tf.contrib.layers.sum_regularizer

转载于:https://www.cnblogs.com/guqiangjs/p/7807852.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值