0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機器學(xué)習(xí)中的正則化的相關(guān)知識點

中科院長春光機所 ? 來源:極市平臺 ? 作者:極市平臺 ? 2021-01-20 15:27 ? 次閱讀

正則化是一種為了減小測試誤差的行為(有時候會增加訓(xùn)練誤差)。當(dāng)我們用較為復(fù)雜的模型擬合數(shù)據(jù)時,容易出現(xiàn)過擬合現(xiàn)象,導(dǎo)致模型的泛化能力下降,這時我們就需要使用正則化,降低模型的復(fù)雜度。本文總結(jié)闡釋了正則化的相關(guān)知識點,幫助大家更好的理解正則化這一概念。

目錄

LP范數(shù)

L1范數(shù)

L2范數(shù)

L1范數(shù)和L2范數(shù)的區(qū)別

Dropout

Batch Normalization

歸一化、標(biāo)準(zhǔn)化 & 正則化

Reference

在總結(jié)正則化(Regularization)之前,我們先談一談?wù)齽t化是什么,為什么要正則化。

個人認(rèn)為正則化這個字眼有點太過抽象和寬泛,其實正則化的本質(zhì)很簡單,就是對某一問題加以先驗的限制或約束以達(dá)到某種特定目的的一種手段或操作。在算法中使用正則化的目的是防止模型出現(xiàn)過擬合。一提到正則化,很多同學(xué)可能馬上會想到常用的L1范數(shù)和L2范數(shù),在匯總之前,我們先看下LP范數(shù)是什么鬼。

LP范數(shù)

范數(shù)簡單可以理解為用來表征向量空間中的距離,而距離的定義很抽象,只要滿足非負(fù)、自反、三角不等式就可以稱之為距離。

LP范數(shù)不是一個范數(shù),而是一組范數(shù),其定義如下:

48d22580-57b9-11eb-8b86-12bb97331649.png

pp的范圍是[1,∞)[1,∞)。pp在(0,1)(0,1)范圍內(nèi)定義的并不是范數(shù),因為違反了三角不等式。

根據(jù)pp的變化,范數(shù)也有著不同的變化,借用一個經(jīng)典的有關(guān)P范數(shù)的變化圖如下:

490ab706-57b9-11eb-8b86-12bb97331649.jpg

上圖表示了pp從0到正無窮變化時,單位球(unit ball)的變化情況。在P范數(shù)下定義的單位球都是凸集,但是當(dāng)0

那問題來了,L0范數(shù)是啥玩意?

L0范數(shù)表示向量中非零元素的個數(shù),用公式表示如下:

493d18cc-57b9-11eb-8b86-12bb97331649.png

我們可以通過最小化L0范數(shù),來尋找最少最優(yōu)的稀疏特征項。但不幸的是,L0范數(shù)的最優(yōu)化問題是一個NP hard問題(L0范數(shù)同樣是非凸的)。因此,在實際應(yīng)用中我們經(jīng)常對L0進行凸松弛,理論上有證明,L1范數(shù)是L0范數(shù)的最優(yōu)凸近似,因此通常使用L1范數(shù)來代替直接優(yōu)化L0范數(shù)。

L1范數(shù)

根據(jù)LP范數(shù)的定義我們可以很輕松的得到L1范數(shù)的數(shù)學(xué)形式:

497ed852-57b9-11eb-8b86-12bb97331649.png

通過上式可以看到,L1范數(shù)就是向量各元素的絕對值之和,也被稱為是"稀疏規(guī)則算子"(Lasso regularization)。那么問題來了,為什么我們希望稀疏化?稀疏化有很多好處,最直接的兩個:

特征選擇

可解釋性

L2范數(shù)

L2范數(shù)是最熟悉的,它就是歐幾里得距離,公式如下:

49a0c0d4-57b9-11eb-8b86-12bb97331649.png

L2范數(shù)有很多名稱,有人把它的回歸叫“嶺回歸”(Ridge Regression),也有人叫它“權(quán)值衰減”(Weight Decay)。以L2范數(shù)作為正則項可以得到稠密解,即每個特征對應(yīng)的參數(shù)ww都很小,接近于0但是不為0;此外,L2范數(shù)作為正則化項,可以防止模型為了迎合訓(xùn)練集而過于復(fù)雜造成過擬合的情況,從而提高模型的泛化能力。

L1范數(shù)和L2范數(shù)的區(qū)別

引入PRML一個經(jīng)典的圖來說明下L1和L2范數(shù)的區(qū)別,如下圖所示:

49f52886-57b9-11eb-8b86-12bb97331649.jpg

如上圖所示,藍(lán)色的圓圈表示問題可能的解范圍,橘色的表示正則項可能的解范圍。而整個目標(biāo)函數(shù)(原問題+正則項)有解當(dāng)且僅當(dāng)兩個解范圍相切。從上圖可以很容易地看出,由于L2范數(shù)解范圍是圓,所以相切的點有很大可能不在坐標(biāo)軸上,而由于L1范數(shù)是菱形(頂點是凸出來的),其相切的點更可能在坐標(biāo)軸上,而坐標(biāo)軸上的點有一個特點,其只有一個坐標(biāo)分量不為零,其他坐標(biāo)分量為零,即是稀疏的。所以有如下結(jié)論,L1范數(shù)可以導(dǎo)致稀疏解,L2范數(shù)導(dǎo)致稠密解。

從貝葉斯先驗的角度看,當(dāng)訓(xùn)練一個模型時,僅依靠當(dāng)前的訓(xùn)練數(shù)據(jù)集是不夠的,為了實現(xiàn)更好的泛化能力,往往需要加入先驗項,而加入正則項相當(dāng)于加入了一種先驗。

L1范數(shù)相當(dāng)于加入了一個Laplacean先驗;

L2范數(shù)相當(dāng)于加入了一個Gaussian先驗。

如下圖所示:

4a7f64ba-57b9-11eb-8b86-12bb97331649.jpg

Dropout

Dropout是深度學(xué)習(xí)中經(jīng)常采用的一種正則化方法。它的做法可以簡單的理解為在DNNs訓(xùn)練的過程中以概率pp丟棄部分神經(jīng)元,即使得被丟棄的神經(jīng)元輸出為0。Dropout可以實例化的表示為下圖:

4ad6f932-57b9-11eb-8b86-12bb97331649.jpg

我們可以從兩個方面去直觀地理解Dropout的正則化效果:

在Dropout每一輪訓(xùn)練過程中隨機丟失神經(jīng)元的操作相當(dāng)于多個DNNs進行取平均,因此用于預(yù)測時具有vote的效果。

減少神經(jīng)元之間復(fù)雜的共適應(yīng)性。當(dāng)隱藏層神經(jīng)元被隨機刪除之后,使得全連接網(wǎng)絡(luò)具有了一定的稀疏化,從而有效地減輕了不同特征的協(xié)同效應(yīng)。也就是說,有些特征可能會依賴于固定關(guān)系的隱含節(jié)點的共同作用,而通過Dropout的話,就有效地組織了某些特征在其他特征存在下才有效果的情況,增加了神經(jīng)網(wǎng)絡(luò)的魯棒性。

Batch Normalization

批規(guī)范化(Batch Normalization)嚴(yán)格意義上講屬于歸一化手段,主要用于加速網(wǎng)絡(luò)的收斂,但也具有一定程度的正則化效果。

這里借鑒下魏秀參博士的知乎回答中對covariate shift的解釋(https://www.zhihu.com/question/38102762)。

注:以下內(nèi)容引自魏秀參博士的知乎回答

大家都知道在統(tǒng)計機器學(xué)習(xí)中的一個經(jīng)典假設(shè)是“源空間(source domain)和目標(biāo)空間(target domain)的數(shù)據(jù)分布(distribution)是一致的”。如果不一致,那么就出現(xiàn)了新的機器學(xué)習(xí)問題,如transfer learning/domain adaptation等。而covariate shift就是分布不一致假設(shè)之下的一個分支問題,它是指源空間和目標(biāo)空間的條件概率是一致的,但是其邊緣概率不同。大家細(xì)想便會發(fā)現(xiàn),的確,對于神經(jīng)網(wǎng)絡(luò)的各層輸出,由于它們經(jīng)過了層內(nèi)操作作用,其分布顯然與各層對應(yīng)的輸入信號分布不同,而且差異會隨著網(wǎng)絡(luò)深度增大而增大,可是它們所能“指示”的樣本標(biāo)記(label)仍然是不變的,這便符合了covariate shift的定義。

BN的基本思想其實相當(dāng)直觀,因為神經(jīng)網(wǎng)絡(luò)在做非線性變換前的激活輸入值(X=WU+BX=WU+B,UU是輸入)隨著網(wǎng)絡(luò)深度加深,其分布逐漸發(fā)生偏移或者變動(即上述的covariate shift)。之所以訓(xùn)練收斂慢,一般是整體分布逐漸往非線性函數(shù)的取值區(qū)間的上下限兩端靠近(對于Sigmoid函數(shù)來說,意味著激活輸入值X=WU+BX=WU+B是大的負(fù)值或正值),所以這導(dǎo)致后向傳播時低層神經(jīng)網(wǎng)絡(luò)的梯度消失,這是訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)收斂越來越慢的本質(zhì)原因。而BN就是通過一定的規(guī)范化手段,把每層神經(jīng)網(wǎng)絡(luò)任意神經(jīng)元這個輸入值的分布強行拉回到均值為0方差為1的標(biāo)準(zhǔn)正態(tài)分布,避免因為激活函數(shù)導(dǎo)致的梯度彌散問題。所以與其說BN的作用是緩解covariate shift,倒不如說BN可緩解梯度彌散問題。

歸一化、標(biāo)準(zhǔn)化 & 正則化

正則化我們以及提到過了,這里簡單提一下歸一化和標(biāo)準(zhǔn)化。

歸一化(Normalization):歸一化的目標(biāo)是找到某種映射關(guān)系,將原數(shù)據(jù)映射到[a,b]區(qū)間上。一般a,b會取[?1,1],[0,1]這些組合。

一般有兩種應(yīng)用場景:

把數(shù)變?yōu)?0, 1)之間的小數(shù)

把有量綱的數(shù)轉(zhuǎn)化為無量綱的數(shù)

常用min-max normalization:

4b354f32-57b9-11eb-8b86-12bb97331649.png

標(biāo)準(zhǔn)化(Standardization):用大數(shù)定理將數(shù)據(jù)轉(zhuǎn)化為一個標(biāo)準(zhǔn)正態(tài)分布,標(biāo)準(zhǔn)化公式為:

4b5dd308-57b9-11eb-8b86-12bb97331649.png

歸一化和標(biāo)準(zhǔn)化的區(qū)別:

我們可以這樣簡單地解釋:

歸一化的縮放是“拍扁”統(tǒng)一到區(qū)間(僅由極值決定),而標(biāo)準(zhǔn)化的縮放是更加“彈性”和“動態(tài)”的,和整體樣本的分布有很大的關(guān)系。

值得注意:

歸一化:縮放僅僅跟最大、最小值的差別有關(guān)。

標(biāo)準(zhǔn)化:縮放和每個點都有關(guān)系,通過方差(variance)體現(xiàn)出來。與歸一化對比,標(biāo)準(zhǔn)化中所有數(shù)據(jù)點都有貢獻(通過均值和標(biāo)準(zhǔn)差造成影響)。

為什么要標(biāo)準(zhǔn)化和歸一化?

提升模型精度:歸一化后,不同維度之間的特征在數(shù)值上有一定比較性,可以大大提高分類器的準(zhǔn)確性。

加速模型收斂:標(biāo)準(zhǔn)化后,最優(yōu)解的尋優(yōu)過程明顯會變得平緩,更容易正確的收斂到最優(yōu)解。如下圖所示:

4b958a3c-57b9-11eb-8b86-12bb97331649.png

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4286

    瀏覽量

    62335
  • 神經(jīng)元
    +關(guān)注

    關(guān)注

    1

    文章

    363

    瀏覽量

    18431
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8356

    瀏覽量

    132324

原文標(biāo)題:一文讀懂機器學(xué)習(xí)中的正則化

文章出處:【微信號:cas-ciomp,微信公眾號:中科院長春光機所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學(xué)習(xí)MySQL必須要學(xué)會的部分,下面就讓我來介紹MySQL的其他部分。
    的頭像 發(fā)表于 08-05 15:27 ?352次閱讀
    MySQL<b class='flag-5'>知識點</b>匯總

    機器學(xué)習(xí)的數(shù)據(jù)分割方法

    機器學(xué)習(xí),數(shù)據(jù)分割是一項至關(guān)重要的任務(wù),它直接影響到模型的訓(xùn)練效果、泛能力以及最終的性能評估。本文將從多個方面詳細(xì)探討機器
    的頭像 發(fā)表于 07-10 16:10 ?1215次閱讀

    深度學(xué)習(xí)模型的過擬合與正則

    測試數(shù)據(jù)或新數(shù)據(jù)上表現(xiàn)不佳的現(xiàn)象。為了解決這個問題,正則(Regularization)技術(shù)應(yīng)運而生,成為深度學(xué)習(xí)不可或缺的一部分。本文將從過擬合的原因、表現(xiàn)、
    的頭像 發(fā)表于 07-09 15:56 ?692次閱讀

    模擬電子技術(shù)知識點問題總結(jié)概覽

    給大家分享模擬電子技術(shù)知識點問題總結(jié)。
    的頭像 發(fā)表于 05-08 15:16 ?1080次閱讀
    模擬電子技術(shù)<b class='flag-5'>知識點</b>問題總結(jié)概覽

    一篇搞定DCS系統(tǒng)相關(guān)知識點

    目標(biāo)。DCS系統(tǒng)廣泛應(yīng)用于各個行業(yè),如化工、電力、制藥等。在這些行業(yè),DCS系統(tǒng)可以實現(xiàn)對生產(chǎn)過程的集中監(jiān)控和分散控制,提高生產(chǎn)效率和產(chǎn)品質(zhì)量,降低能耗和減少環(huán)境污染,從而保證產(chǎn)品質(zhì)量,并確保生產(chǎn)過程的安全可靠。 二.DCS系統(tǒng)知識點
    的頭像 發(fā)表于 03-26 18:40 ?785次閱讀
    一篇搞定DCS系統(tǒng)<b class='flag-5'>相關(guān)</b><b class='flag-5'>知識點</b>

    【量子計算機重構(gòu)未來 | 閱讀體驗】第二章關(guān)鍵知識點

    本帖最后由 oxlm_1 于 2024-3-6 23:20 編輯 之所以將第二章單獨拿出來,是因為在閱讀過程,發(fā)現(xiàn)第二章知識點較多,理解起來比較耗時間。 第二章的主要知識點: 量子
    發(fā)表于 03-06 23:17

    機器視覺基礎(chǔ)知識點總結(jié)

    照明是影響機器視覺系統(tǒng)輸入的重要因素。光源系統(tǒng)的設(shè)計非常重要,它與輸入數(shù)據(jù)直接相關(guān),即圖像的質(zhì)量和應(yīng)用效果。
    發(fā)表于 01-16 10:08 ?1013次閱讀

    機器學(xué)習(xí)、深度學(xué)習(xí)面試知識點匯總

    AlexNet:在第一個卷積中使用了11x11卷積,第一次使用Relu,使用了NormLayer但不是我們經(jīng)常說的BN。使用了dropout,在兩個GPU上進行了訓(xùn)練,使用的訓(xùn)練方式是模型并行、
    發(fā)表于 12-26 10:49 ?335次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>、深度<b class='flag-5'>學(xué)習(xí)</b>面試<b class='flag-5'>知識點</b>匯總

    淺談初級電工必備知識點

    對于初學(xué)電工的朋友來說,掌握一些基礎(chǔ)且實用的知識點是非常重要的。本文旨在分享初級電工應(yīng)該掌握的核心知識,幫助新手電工更好地入門和提升技能。
    的頭像 發(fā)表于 12-26 10:44 ?1008次閱讀

    TCP協(xié)議面試常問知識點總結(jié)

    TCP 作為傳輸層的協(xié)議,是一個IT工程師素養(yǎng)的體現(xiàn),也是面試中經(jīng)常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。
    的頭像 發(fā)表于 12-15 10:38 ?753次閱讀
    TCP協(xié)議面試常問<b class='flag-5'>知識點</b>總結(jié)

    開關(guān)模式下的電源電流如何檢測?這12個電路&amp;10個知識點講明白了

    開關(guān)模式下的電源電流如何檢測?這12個電路&10個知識點講明白了
    的頭像 發(fā)表于 12-06 16:04 ?747次閱讀
    開關(guān)模式下的電源電流如何檢測?這12個電路&amp;10個<b class='flag-5'>知識點</b>講明白了

    c語言程序設(shè)計基礎(chǔ)知識點

    程序設(shè)計的基礎(chǔ)知識點。 首先,我們將從C語言的數(shù)據(jù)類型和變量開始。C語言提供了多種數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符和指針等。整數(shù)類型包括int、long和short等,浮點數(shù)類型包括float和double等,字符類型用于存儲ASCII字符,指針類型用
    的頭像 發(fā)表于 11-27 15:25 ?1576次閱讀

    數(shù)字電位計知識點

    電子發(fā)燒友網(wǎng)站提供《數(shù)字電位計知識點.pdf》資料免費下載
    發(fā)表于 11-24 16:08 ?7次下載
    數(shù)字電位計<b class='flag-5'>知識點</b>

    三菱和西門子PLC輸入接線知識點

    三菱和西門子PLC輸入接線知識點
    的頭像 發(fā)表于 11-21 10:01 ?697次閱讀
    三菱和西門子PLC輸入接線<b class='flag-5'>知識點</b>

    OFDM技術(shù)知識點

    電子發(fā)燒友網(wǎng)站提供《OFDM技術(shù)知識點.rar》資料免費下載
    發(fā)表于 11-18 14:25 ?1次下載
    OFDM技術(shù)<b class='flag-5'>知識點</b>