正则化

一 正则化概念
所谓正则化,其实就是在神经网络计算损失值的过程中,在损失后面再加一项。这样损失值所代表的输出值与标准结果间的误差就会受到干扰,导致学习参数w和b无法按照目标方向来调整,实现模型无法与样本完全拟合的结果,从而到达防止过拟合的效果。
理解原理之后,现在就来介绍如何添加这个干扰项。干扰项一定要有这样的特性:
当欠拟合时,希望它对模型误差的影响越小越好,以便让模型快速拟合实际。
如果是过拟合时,希望它对模型误差的影响越大越好,以便让模型不要产生过拟合的情况。
由此引入了两个范式L1和L2:
L1:所有学习参数w的绝对值的和,乘以λ/n。
L2:所有学习参数w的平方,除以训练集的样本大小n。
如果放到损失函数公式里,会将其变形一下:
L1:
L2:
最终的C为等式左边的结果,C0代表真实的loss值,C0后面的那一项就代表正则化了,λ为一个可以调节的参数,用来控制正则化对C0的影响。
对于L2,将其乘以 1/2是为了反向传播时对其求导正好可以将数据规整。

二 TensorFlow中的正则化
L1的正则化函数:
tf.reduce_sum(tf.abs(w))
L2的正则化函数:
tf.nn.l2_loss(t,name=None)

三 参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值