本文轉(zhuǎn)自徐飛翔的“曲線擬合問(wèn)題與L2正則”
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
曲線擬合
回想[1]我們談到的多項(xiàng)式曲線擬合問(wèn)題,我們這里重新描述一遍:假設(shè)我們有一個(gè)訓(xùn)練集,其中有N個(gè)觀察值,其自變量x寫作,同時(shí),對(duì)應(yīng)的觀察因變量值y寫作
。如下圖是一組生成的數(shù)據(jù),綠線為通過(guò)函數(shù)
生成的,真實(shí)的生成曲線,藍(lán)點(diǎn)是從綠線上取值后添加上噪聲數(shù)據(jù)得到的。(這里的噪聲可能來(lái)自于隨機(jī)過(guò)程中的噪聲,也可能是因?yàn)榇嬖谝恍┫嚓P(guān)的變量沒(méi)有被觀察到)
我們的目標(biāo),就是利用訓(xùn)練集來(lái)訓(xùn)練一個(gè)模型,對(duì)于一個(gè)新的輸入,可以預(yù)測(cè)出其
。這個(gè)過(guò)程中,將會(huì)隱式地學(xué)習(xí)到用來(lái)生成這個(gè)綠色曲線的
。如果我們不考慮我們預(yù)測(cè)的不確定性,那么我們直接就可以采用最小化誤差函數(shù)的方法進(jìn)行模型參數(shù)值估計(jì)。我們假設(shè)模型為多項(xiàng)式模型,如下所示:
注意到,這個(gè)模型是關(guān)于的線性模型,但是并不是關(guān)于
的線性模型,像這種多項(xiàng)式,關(guān)于未知參數(shù)呈現(xiàn)線性的模型統(tǒng)稱為線性模型(Linear Model)。為了讓我們的模型盡可能的接近訓(xùn)練集的數(shù)據(jù),我們引入一個(gè)所謂的誤差函數(shù)(error function)去度量預(yù)測(cè)值和真實(shí)值之間的距離,一般我們可以采用平方和函數(shù)作為誤差函數(shù),從[1]中,我們將會(huì)發(fā)現(xiàn),當(dāng)數(shù)據(jù)噪聲滿足0均值高斯分布時(shí),可以推出平方和損失函數(shù)。
下圖展示了計(jì)算預(yù)測(cè)值和真實(shí)值之間的距離示意圖,綠色距離之和即為所求。
因?yàn)槭阶?1.2)是一個(gè)關(guān)于的二次函數(shù),關(guān)于這些系數(shù)的導(dǎo)數(shù)將會(huì)是一個(gè)關(guān)于
線性的,通過(guò)令其梯度的每一個(gè)分量的導(dǎo)數(shù)為0,我們可以知道其有一個(gè)唯一解
,這個(gè)可以完全通過(guò)閉式解得到。當(dāng)然也可以通過(guò)基于梯度下降的方法得到近似解[3]。模型復(fù)雜度
接下來(lái)的問(wèn)題就在于如何選取超參數(shù)。如下圖所示,
太大,將會(huì)導(dǎo)致模型復(fù)雜度太大,使得模型容易過(guò)擬合[4];然而,如果M太小,則模型的復(fù)雜度太低,擬合能力差,導(dǎo)致欠擬合。
但是,我們需要注意的是,導(dǎo)致模型過(guò)擬合和欠擬合的,不僅僅和超參數(shù)的設(shè)置有關(guān),而且很重要的一點(diǎn)是:和你訓(xùn)練集的好壞,規(guī)模也有重要的關(guān)系。如下圖所示,左圖是 個(gè)樣本點(diǎn),而右圖是
個(gè)樣本點(diǎn),同樣地采用了
的超參數(shù)設(shè)置,我們可以明顯地看到,樣本數(shù)量更多的一個(gè),越符合真實(shí)的數(shù)據(jù)生成函數(shù)。不失一般地說(shuō),模型容量越大,模型復(fù)雜度越高,就需要更多的數(shù)據(jù)進(jìn)行訓(xùn)練,以排除噪聲的影響。
我們?cè)俅位氐?M = 0 , 1 , 6 , 9 M=0,1,6,9 M=0,1,6,9的四種情況,我們分別觀察它的 系數(shù),我們有:
不難發(fā)現(xiàn),M越大,其參數(shù)?的幅度也越大,并且是正負(fù)交錯(cuò)的,這使得擬合曲線有著極大的震蕩,能夠在訓(xùn)練集上精確地?cái)M合每一個(gè)訓(xùn)練數(shù)值,導(dǎo)致其泛化性能極差。在[1]中我們將會(huì)對(duì)
進(jìn)行一個(gè)先驗(yàn)假設(shè),通過(guò)貝葉斯理論的方法減緩這種情況的發(fā)生。然而,現(xiàn)在我們可以同樣完成這一件事情,通過(guò)添加一個(gè)懲罰項(xiàng)(penalty)即可,我們稱之為正則項(xiàng)(regularization)。形式如:
其中的懲罰項(xiàng)(正則項(xiàng)),然后
調(diào)節(jié)其和平方和損失之間的重要性比例。這種正則稱之為
正則化,因?yàn)榍竽2僮饕脖环Q之為
范式的原因。通過(guò)引入這種正則操作,使得參數(shù)能夠盡可能的小,而不會(huì)導(dǎo)致上面談到的問(wèn)題。這種二次正則子稱為嶺回歸(ridge regression),在神經(jīng)網(wǎng)絡(luò)相關(guān)文獻(xiàn)中,也稱之為權(quán)值衰減(weight decay)(注意和學(xué)習(xí)率指數(shù)衰減分開)。
參考我們?cè)赱4]中曾經(jīng)討論過(guò)的,我們一般有兩種方式限制模型容量,通過(guò)設(shè)置超參數(shù)進(jìn)而控制模型的假設(shè)空間太困難了,比如這里的 的選取就是一個(gè)困難的事。因此我們往往采取第二種做法,添加正則項(xiàng)對(duì)模型進(jìn)行偏好排除,我們?cè)O(shè)置一個(gè)足夠大的
,當(dāng)然也不能太大,但是起碼不用擔(dān)心其不夠容量對(duì)數(shù)據(jù)進(jìn)行擬合即可,然后添加合適的正則項(xiàng)進(jìn)行模型的偏好排除就可以較為容易地控制模型容量。這個(gè)方法也是在深度學(xué)習(xí)中經(jīng)常使用的。
最后我們定量地觀察下正則項(xiàng)前系數(shù) 對(duì)參數(shù)
?的影響,如下圖所示,當(dāng)
的時(shí)候,可以觀察到參數(shù)的確都縮小到了合適的范圍。