线性代数应该这样讲(三)-向量2范数与模型泛化
在線性代數(shù)(一)中,小夕主要講解了映射與矩陣的關(guān)系;在線性代數(shù)(二)中,小夕講解了映射視角下的特征值與特征向量的物理意義。本文與下一篇會(huì)較為透徹的解析一下向量的二范數(shù)與一范數(shù),他們?cè)跈C(jī)器學(xué)習(xí)任務(wù)中是最常用,有時(shí)甚至是核心的東西哦。
?
首先,來(lái)一個(gè)俗俗的開(kāi)篇。向量x的p范數(shù)表示如下:
?
由此,p=1、p=2就分別代表1范數(shù)和2范數(shù)。本文只看p=2的情況。
二范數(shù)相信大家在大一學(xué)線性代數(shù)的時(shí)候就已經(jīng)被灌輸了“用來(lái)度量向量長(zhǎng)度”、”用來(lái)度量向量空間中兩個(gè)點(diǎn)的距離“這兩個(gè)典型意義,但是卻鮮有學(xué)校講過(guò)最小化二范數(shù)會(huì)帶來(lái)什么有趣的現(xiàn)象,而這正是二范數(shù)在機(jī)器學(xué)習(xí)中非常重要的應(yīng)用。
?
我們經(jīng)常在機(jī)器學(xué)習(xí)的loss函數(shù)中加上參數(shù)的2范數(shù)項(xiàng),以減少模型對(duì)訓(xùn)練集的過(guò)擬合,即提高模型的泛化能力。那么問(wèn)題來(lái)了,2范數(shù)憑什么可以提高模型的泛化能力呢?使用參數(shù)2范數(shù)約束項(xiàng)一定好嗎?
?
首先我們把model的參數(shù)設(shè)為向量w=[w1,w2,...,wn]。這個(gè)w是什么呢?是model參數(shù),更是特征的權(quán)重。更加具體點(diǎn)說(shuō),每個(gè)參數(shù),決定了每個(gè)特征對(duì)決定樣本所屬類別的重要程度。
那么用參數(shù)向量的二范數(shù)做正則項(xiàng)時(shí)即(忽略歸一化的問(wèn)題):
?
?
而我們訓(xùn)練的過(guò)程就是最小化loss函數(shù)的過(guò)程,因此一部分任務(wù)就是盡可能的減小Reg的值。那么怎樣的w值才算是符合理想要求的值呢?比如維度n=5的情況,
令w1=w2=w3=w4=w5=2
令w1=10,w2=w3=w4=w5=0
1和2相比,哪個(gè)的Reg更小呢?顯然前者的值只有20,而后者的值高達(dá)100!雖然1和2的情況下所有w的值加起來(lái)都等于10。
?
由這個(gè)例子可以看出,如果我們有10張用于決定類別的票分給各個(gè)特征,那么給每個(gè)特征分兩張票帶來(lái)的回報(bào)要遠(yuǎn)大于把這10張票分給一個(gè)特征!所以二范數(shù)會(huì)削弱強(qiáng)特征,增強(qiáng)弱特征,以共產(chǎn)主義為目標(biāo)!反對(duì)資本主義!(什么鬼
?
然后在上面這個(gè)前提下,盡量的降低票數(shù)(然而這不重要,一共有10張票跟一共有100張票相比沒(méi)有影響,畢竟真正起作用的是票的分配方式(當(dāng)然,這里沒(méi)有考慮梯度飽和等優(yōu)化問(wèn)題哈
?
這種劫富濟(jì)貧的方式有什么好處呢?
?
舉個(gè)栗子。假設(shè)我們要做文本的情感分類(判斷一段文本是正面評(píng)價(jià)還是負(fù)面評(píng)價(jià)),將每個(gè)詞作為一個(gè)特征(出現(xiàn)該詞代表值為1,否則值為0)。
可想而知,有一些詞本身就帶了很強(qiáng)的情感極性,比如“不好”、“不滿意”、“驚喜”等。而大部分詞是弱極性的,但是多個(gè)弱極性的詞同時(shí)出現(xiàn)的時(shí)候就會(huì)產(chǎn)生很強(qiáng)的情感極性。比如“總體”“來(lái)說(shuō)”“還是”“可以”在文本中同時(shí)出現(xiàn)后基本就奠定了這篇文本的總體極性是正面的,哪怕文本中出現(xiàn)了(“待機(jī)”)“很爛”這種強(qiáng)負(fù)面詞。
?
因此在二范數(shù)的約束下,w這個(gè)隨機(jī)變量的分布會(huì)趨向于方差u=0的高斯分布(正態(tài)分布)。
?
?
有人說(shuō),誒?那高斯分布的話,那也有極少的特征的值特別大呀~為什么沒(méi)有被削弱呢?
?
這些特征當(dāng)然就是超強(qiáng)特征啦,比如“力薦”這個(gè)特征一旦出現(xiàn),基本整個(gè)文本的情感極性就確定了,其他的弱特征是很難與之對(duì)抗的。所以最小化二范數(shù)會(huì)讓隨機(jī)變量的采樣點(diǎn)組成的向量趨向于期望=0的高斯分布。
?
所以,若沒(méi)有二范數(shù)的約束,弱特征會(huì)被強(qiáng)特征剝削,最終訓(xùn)練完后各個(gè)特征的權(quán)重很有可能是這樣的:
?
(畫的有點(diǎn)夸張啦,但是表達(dá)的意思是沒(méi)錯(cuò)噠
?
這樣會(huì)帶來(lái)什么問(wèn)題呢?這樣就會(huì)導(dǎo)致模型過(guò)分依賴強(qiáng)特征。
?
首先,試想一下,這樣的model拿到測(cè)試集上去后,一旦某個(gè)樣本沒(méi)有任何強(qiáng)特征,導(dǎo)致該樣本的特征的權(quán)重幾乎都是0,也就是這些特征都是被認(rèn)為的中性詞,那么就會(huì)導(dǎo)致這個(gè)樣本的分類很隨機(jī)了,哪怕這個(gè)樣本的弱特征很多而且足以反映情感極性,然而學(xué)習(xí)的過(guò)程中這些弱特征被認(rèn)為沒(méi)有用而被當(dāng)成了噪聲,或者正值或者負(fù)值,那就悲劇啦。而在二范數(shù)約束帶來(lái)的高斯分布下,弱特征們就會(huì)有條不紊的慢慢積累起很確定的情感極性完成置信度很高的分類過(guò)程。
?
再想一下,這樣的model的抗噪聲能力也會(huì)非常差,一旦測(cè)試集中的某個(gè)樣本中出現(xiàn)了一個(gè)強(qiáng)特征詞,就會(huì)直接導(dǎo)致整篇文章的情感極性隨了這個(gè)強(qiáng)特征,哪怕這個(gè)樣本的這個(gè)強(qiáng)特征詞之外都是弱弱的相反極性詞也無(wú)力挽救了。而在二范數(shù)約束帶來(lái)的高斯分布下,手中多少也有點(diǎn)票的弱特征們就會(huì)聚沙成塔,合力打倒那個(gè)強(qiáng)特征的噪聲。
?
那么是不是所有的機(jī)器學(xué)習(xí)任務(wù)加上二范數(shù)約束就一定好呢?
?
?
相信經(jīng)過(guò)小夕上述的講解,您心中已經(jīng)有答案啦~在一些機(jī)器學(xué)習(xí)任務(wù),尤其一些結(jié)構(gòu)化數(shù)據(jù)挖掘任務(wù)和特征意義很模糊的機(jī)器學(xué)習(xí)任務(wù)(比如深度學(xué)習(xí))中,特征分布本來(lái)就是就是若干強(qiáng)特征與噪聲的組合,這時(shí)加上2范數(shù)約束反而會(huì)引入噪聲,降低系統(tǒng)的抗噪性能,導(dǎo)致更差勁了。
?
因此,使用二范數(shù)去提高機(jī)器學(xué)習(xí)model的泛化能力大部分情況下是沒(méi)錯(cuò)的,但是也不要無(wú)腦使用哦,懂得意義后學(xué)會(huì)根據(jù)任務(wù)去感性與理性的分析才是正解啦。
總結(jié)
以上是生活随笔為你收集整理的线性代数应该这样讲(三)-向量2范数与模型泛化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 没有什么多模态任务是一层Transfor
- 下一篇: ACL2020 | FastBERT:放