抑制过拟合之正则化与Dropout
避免過擬合:
1、增大數(shù)據(jù)集合 – 使用更多的數(shù)據(jù),噪聲點(diǎn)比減少(減少數(shù)據(jù)擾動(dòng)所造成的影響)
2、減少數(shù)據(jù)特征 – 減少數(shù)據(jù)維度,高維空間密度小(減少模型復(fù)雜度)
3、正則化 / dropout / 數(shù)據(jù)增強(qiáng) – 在缺少訓(xùn)練數(shù)據(jù)情況下
一、Dropout介紹:
訓(xùn)練時(shí):隨機(jī)人為丟棄一些神經(jīng)單元
測試時(shí):使用全部神經(jīng)單元
原理:
1.取平均的作用:相同訓(xùn)練數(shù)據(jù)訓(xùn)練5個(gè)不同的神經(jīng)網(wǎng)絡(luò),得到5個(gè)不同結(jié)果,此時(shí)可以采用“5個(gè)結(jié)果取平均值”或“多數(shù)取勝投票策略”決定最終結(jié)果。
2.減少神經(jīng)元之間復(fù)雜的公適應(yīng)關(guān)系:因?yàn)閐ropout程序?qū)е聝蓚€(gè)神經(jīng)元不一定每次都在一個(gè)dropout網(wǎng)絡(luò)中出現(xiàn)。這樣權(quán)值的更新不再依賴于固定關(guān)系的隱含節(jié)點(diǎn)的共同作用,阻止了某些特征僅僅在其它特定特征下才有效果的情況。
Tf2實(shí)例:
tf.keras.layers.Dropout(rate=0.8)一般可以在Dense層之后添加Dropout層
二、正則化介紹:
L1-norm和 l2-norm中文稱作 L1正則化 和 L2正則化,或者 L1范數(shù) 和 L2范數(shù)。
其中 w 就是線性變化中的參數(shù)。
對(duì)于線性回歸模型,使用L1正則化的模型建叫做Lasso回歸,使用L2正則化的模型叫做Ridge回歸(嶺回歸)。
Tf2實(shí)例:
# kernel_regularizer 計(jì)算的就是層參數(shù)的相應(yīng)值(l1、l2等)tf.keras.layers.Dense(32, kernel_regularizer=tf.keras.regularizers.l2(1e-2)) tf.keras.layers.Dense(10, kernel_regularizer=tf.keras.regularizers.l1(1e-2))# 通過模型的lossed屬性取到各個(gè)層的loss (最后加到損失函數(shù)計(jì)算的loss之中就行) model.losses # [<tf.Tensor: id=241, shape=(), dtype=float32, numpy=0.030209353>, # <tf.Tensor: id=249, shape=(), dtype=float32, numpy=0.6088533>] 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的抑制过拟合之正则化与Dropout的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python自然语言处理】中文分词技术
- 下一篇: 论文笔记(Attentive Recur