過擬合與規(guī)則化仗哨。我們先簡單的來理解下常用的L0、L1铅辞、L2和核范數(shù)規(guī)則化厌漂。
監(jiān)督機器學習問題無非就是“minimizeyour error while regularizing your parameters”,也就是在規(guī)則化參數(shù)的同時最小化誤差斟珊。最小化誤差是為了讓我們的模型擬合我們的訓練數(shù)據(jù)苇倡,而規(guī)則化參數(shù)是防止我們的模型過分擬合我們的訓練數(shù)據(jù)。因為參數(shù)太多囤踩,會導致我們的模型復雜度上升旨椒,容易過擬合,也就是我們的訓練誤差會很小高职。但訓練誤差小并不是我們的最終目標钩乍,我們的目標是希望模型的測試誤差小,也就是能準確的預測新的樣本怔锌。所以寥粹,我們需要保證模型“簡單”的基礎上最小化訓練誤差,這樣得到的參數(shù)才具有好的泛化性能埃元。而模型“簡單”就是通過規(guī)則函數(shù)來實現(xiàn)的涝涤。另外,規(guī)則項的使用還可以約束我們的模型的特性岛杀。這樣就可以將人對這個模型的先驗知識融入到模型的學習當中阔拳,強行地讓學習到的模型具有人想要的特性,例如稀疏类嗤、低秩糊肠、平滑等等。
還有幾種角度來看待規(guī)則化的遗锣。規(guī)則化符合奧卡姆剃刀(Occam's razor)原理货裹。從貝葉斯估計的角度來看,規(guī)則化項對應于模型的先驗概率精偿。民間還有個說法就是弧圆,規(guī)則化是結構風險最小化策略的實現(xiàn)赋兵,是在經(jīng)驗風險上加一個正則化項(regularizer)或懲罰項(penalty term)。
一般來說搔预,監(jiān)督學習可以看做最小化下面的目標函數(shù):
第一項L(yi,f(xi;w))衡量我們的模型(分類或者回歸)對第i個樣本的預測值f(xi;w)和真實的標簽yi之前的誤差霹期。因為我們的模型是要擬合我們的訓練樣本的嘛,所以我們要求這一項最小拯田,也就是要求我們的模型盡量的擬合我們的訓練數(shù)據(jù)历造。但正如上面說言,我們不僅要保證訓練誤差最小勿锅,我們更希望我們的模型測試誤差小帕膜,所以我們需要加上第二項,也就是對參數(shù)w的規(guī)則化函數(shù)Ω(w)去約束我們的模型盡量的簡單溢十。
對于第一項Loss函數(shù),如果是Square loss达吞,那就是最小二乘了张弛;如果是Hinge Loss,那就是著名的SVM了酪劫;如果是exp-Loss吞鸭,那就是牛逼的Boosting了;如果是log-Loss覆糟,那就是Logistic Regression了刻剥;還有等等。不同的loss函數(shù)滩字,具有不同的擬合特性造虏,這個也得就具體問題具體分析的。但這里麦箍,我們先不究loss函數(shù)的問題漓藕,我們把目光轉向“規(guī)則項Ω(w)”。
規(guī)則化函數(shù)Ω(w)也有很多種選擇挟裂,一般是模型復雜度的單調遞增函數(shù)享钞,模型越復雜,規(guī)則化值就越大诀蓉。比如栗竖,規(guī)則化項可以是模型參數(shù)向量的范數(shù)。然而渠啤,不同的選擇對參數(shù)w的約束不同狐肢,取得的效果也不同,但我們在論文中常見的都聚集在:零范數(shù)埃篓、一范數(shù)处坪、二范數(shù)、跡范數(shù)、Frobenius范數(shù)和核范數(shù)等等同窘。
一玄帕、L0范數(shù)與L1范數(shù)
L0范數(shù)是指向量中非0的元素的個數(shù)。如果我們用L0范數(shù)來規(guī)則化一個參數(shù)矩陣W的話想邦,就是希望W的大部分元素都是0裤纹。讓參數(shù)W是稀疏的。
L1范數(shù)是指向量中各個元素絕對值之和丧没,也有個美稱叫“稀疏規(guī)則算子”(Lasso regularization)鹰椒。
既然L0可以實現(xiàn)稀疏,為什么不用L0呕童,而要用L1呢漆际?一是因為L0范數(shù)很難優(yōu)化求解(NP難問題),二是L1范數(shù)是L0范數(shù)的最優(yōu)凸近似夺饲,而且它比L0范數(shù)要容易優(yōu)化求解奸汇。L1范數(shù)和L0范數(shù)可以實現(xiàn)稀疏,L1因具有比L0更好的優(yōu)化求解特性而被廣泛應用往声。
為什么要實現(xiàn)參數(shù)稀疏呢擂找?
1)特征選擇(Feature Selection):
一般來說,xi的大部分元素(也就是特征)都是和最終的輸出yi沒有關系或者不提供任何信息的浩销,在最小化目標函數(shù)的時候考慮xi這些額外的特征贯涎,雖然可以獲得更小的訓練誤差,但在預測新的樣本時慢洋,這些沒用的信息反而會被考慮塘雳,從而干擾了對正確yi的預測。稀疏規(guī)則化算子的引入就是為了完成特征自動選擇的光榮使命且警,它會學習地去掉這些沒有信息的特征粉捻,也就是把這些特征對應的權重置為0。
2)可解釋性(Interpretability):
模型更容易解釋斑芜。如果最后學習到的w*就只有很少的非零元素肩刃,那么我們就有理由相信,這些對應的特征在分析上面提供的信息是巨大的杏头,決策性的盈包。
二、L2范數(shù)
L2范數(shù): ||W||2醇王∧卦铮“嶺回歸”(Ridge Regression)。改善機器學習里面一個非常重要的問題:過擬合寓娩。欠擬合(underfitting叛氨,也稱High-bias)呼渣、合適的擬合和過擬合(overfitting,也稱High variance)三種情況寞埠。L2范數(shù)是指向量各元素的平方和然后求平方根屁置。我們讓L2范數(shù)的規(guī)則項||W||2最小,可以使得W的每個元素都很小仁连,都接近于0蓝角,但與L1范數(shù)不同,它不會讓它等于0饭冬,而是接近于0使鹅,這里是有很大的區(qū)別的哦。而越小的參數(shù)說明模型越簡單昌抠,越簡單的模型則越不容易產(chǎn)生過擬合現(xiàn)象患朱。簡單理解為何越小的參數(shù),模型越簡單扰魂,然后不易產(chǎn)生過擬合:限制了多項式某些分量的影響麦乞,或者減少參數(shù)個數(shù)。通過L2范數(shù)劝评,我們可以實現(xiàn)了對模型空間的限制,從而在一定程度上避免了過擬合倦淀。
L2范數(shù)的好處蒋畜,一方面可以防止過擬合,提升模型的泛化能力撞叽。另外一方面姻成,從優(yōu)化計算的角度來看:L2范數(shù)有助于處理condition number不好的情況下矩陣求逆很困難的問題。condition number就是拿來衡量ill-condition系統(tǒng)(輸入稍微改變下愿棋,輸出就發(fā)生很大的改變)的可信度的科展。如果方陣A是非奇異的,那么A的conditionnumber定義為:
對condition number來個一句話總結:conditionnumber是一個矩陣(或者它所描述的線性系統(tǒng))的穩(wěn)定性或者敏感度的度量糠雨,如果一個矩陣的condition number在1附近才睹,那么它就是well-conditioned的,如果遠大于1甘邀,那么它就是ill-conditioned的琅攘,如果一個系統(tǒng)是ill-conditioned的,它的輸出結果就不要太相信了松邪。L2范數(shù)有助于處理condition number不好的情況下矩陣求逆很困難的問題坞琴。加上L2規(guī)則項,就變成了下面這種情況逗抑,就可以直接求逆了:
L2范數(shù)不但可以防止過擬合剧辐,還可以讓我們的優(yōu)化求解變得穩(wěn)定和快速寒亥。
L1和L2的差別。
1)下降速度
L1和L2都是規(guī)則化的方式荧关,我們將權值參數(shù)以L1或者L2的方式放到代價函數(shù)里面去溉奕。然后模型就會嘗試去最小化這些權值參數(shù)。而這個最小化就像一個下坡的過程羞酗,L1和L2的差別就在于這個“坡”不同腐宋,L1就是按絕對值函數(shù)的“坡”下降的,而L2是按二次函數(shù)的“坡”下降檀轨。所以實際上在0附近胸竞,L1的下降速度比L2的下降速度要快。所以會非巢翁眩快得降到0卫枝。
2)模型空間的限制
將模型空間限制在w的一個L1-ball中。為了便于可視化讹挎,我們考慮兩維的情況校赤,在(w1, w2)平面上可以畫出目標函數(shù)的等高線,而約束條件則成為平面上半徑為C的一個norm ball筒溃。等高線與norm ball首次相交的地方就是最優(yōu)解:
可以看到马篮,L1-ball與L2-ball的不同就在于L1在和每個坐標軸相交的地方都有“角”出現(xiàn),而目標函數(shù)的測地線除非位置擺得非常好怜奖,大部分時候都會在角的地方相交浑测。注意到在角的位置就會產(chǎn)生稀疏性,例如圖中的相交點就有w1=0歪玲,而更高維的時候(想象一下三維的L1-ball是什么樣的迁央?)除了角點以外,還有很多邊的輪廓也是既有很大的概率成為第一次相交的地方滥崩,又會產(chǎn)生稀疏性岖圈。
相比之下,L2-ball就沒有這樣的性質钙皮,因為沒有角蜂科,所以第一次相交的地方出現(xiàn)在具有稀疏性的位置的概率就變得非常小了。這就從直觀上來解釋了為什么L1-regularization能產(chǎn)生稀疏性株灸,而L2-regularization不行的原因了崇摄。
因此,一句話總結就是:L1會趨向于產(chǎn)生少量的特征慌烧,而其他的特征都是0逐抑,而L2會選擇更多的特征,這些特征都會接近于0屹蚊。Lasso在特征選擇時候非常有用厕氨,而Ridge就只是一種規(guī)則化而已进每。