過(guò)擬合
第一個(gè)模型簡(jiǎn)單庭呜,第二個(gè)模型比較合理滑进,第三個(gè)模型則過(guò)擬合了,容易導(dǎo)致募谎,模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好扶关,而在測(cè)試數(shù)據(jù)上的表現(xiàn)較差的情況。正則化特點(diǎn)
都是通過(guò)限制權(quán)限的大小数冬。
L1:讓參數(shù)變得更稀疏节槐,即使更多的參數(shù)變?yōu)?,類似特征提取拐纱。
L2:弱參數(shù)平方后變的更小铜异,模型優(yōu)化中幾乎可以忽略,比如0.0001的平方秸架。
當(dāng)然揍庄,根據(jù)需要可以結(jié)合L1和L2一起使用。
L1正則化公式如下:
L2正則化公式如下:
結(jié)合使用:
tensorflow代碼實(shí)戰(zhàn):
#L1东抹,L2demo
w = tf.constant([[1.0,2.],[-2.,4.]])
with tf.Session() as sess:
print(sess.run(tf.contrib.layers.l1_regularizer(0.5)(w)))
print(sess.run(tf.contrib.layers.l2_regularizer(0.5)(w)))
print(sess.run(tf.contrib.layers.l1_l2_regularizer(scale_l1=0.5,scale_l2=0.5)(w)))
out:
4.5
6.25
10.75
由demo可以看出蚂子,tensorflow 會(huì)將L2正則的值除以2.