[視訊講解]史上最全面的正則化技術總結與分析!
作者:黃海安
編輯:欒志勇
PART
01 摘要
引言
正則化是一種有效的防止過擬合、提高模型泛化能力方法,在機器學習和深度學習演算法中應用非常廣泛,本文從機器學習正則化著手,首先闡述了正則化技術的一般作用和概念,然後針對L1和L2範數正則從4個方面深入理解,最後對常用的典型演算法應用進行了分析和總結,後續文章將分析深度學習中的正則化技術。
注意:本文有對應的視訊講解,如果對文中哪裡不理解的可以觀看對應的視訊。
視訊講解連結
百度網盤地址:
連結:http://pan.baidu.com/s/1bplk5eZ
密碼:myd3
PART
02 正則化作用及其常見術語
正則化技術廣泛應用在機器學習和深度學習演算法中,本質作用是防止過擬合、提高模型泛化能力。過擬合簡單理解就是訓練的演算法模型太過複雜了,過分考慮了當前樣本結構。其是防止過擬合的其中一種技術手段。
在早期的機器學習領域一般只是將範數懲罰叫做正則化技術,而在深度學習領域認為:能夠顯著減少方差,而不過度增加偏差的策略都可以認為是正則化技術,故推廣的正則化技術還有:擴增樣本集、早停止、Dropout、整合學習、多工學習、對抗訓練、引數共享等。(具體見“花書”,會在下一次文章中重點分析)。
對於機器學習領域正則化技術可以從以下幾個不同角度進行理解:
(1) 正則化等價於結構風險最小化,其是通過在經驗風險項後加上表示模型複雜度的正則化項或懲罰項,達到選擇經驗風險和模型複雜度都較小的模型目的
經驗風險:機器學習中的風險是指模型與真實解之間的誤差的積累,經驗風險是指使用訓練出來的模型進行預測或者分類,存在多大的誤差,可以簡單理解為訓練誤差,經驗風險最小化即為訓練誤差最小。
結構風險:結構風險定義為經驗風險與置信風險(置信是指可信程度)的和,置信風險越大,模型推廣能力越差。可以簡單認為結構風險是經驗風險後面多加了一項表示模型複雜度的函式項,從而可以同時控制模型訓練誤差和測試誤差,結構風險最小化即為在保證模型分類精度(經驗風險)的同時,降低模型複雜度,提高泛化能力。
公式表達 關係圖從上圖可以看出,隨著訓練程度加深,模型複雜度會增加,偏差減少,方差增大,而泛化誤差呈現U型變化,對於一個
(2) 正則化等價於帶約束的目標函式中的約束項
(3) 從貝葉斯角度考慮,正則項等價於引入引數的模型先驗概率,可以簡單理解為對最大似然估計引入先驗概率,從而轉化為最大後驗估計,其中的先驗概率即對於正則項(這部分內容後面詳細講解)。
PART
03 基本概念
圖形描述假設向量長度為2維,則有下列圖形:
假設向量長度為3維,則有下列圖形:
從上述各圖可以看出:q(p)越小,曲線越貼近座標軸,q(p)越大,曲線越遠離座標軸,並且稜角越明顯,當q(p)取0時候,是完全和座標軸貼合,當q(p)取無窮的時候,呈現正方體形狀。同時也可以看出,採用不同的範數作為正則項,會得到完全不同的演算法模型結果,故而對於不同要求的模型,應該採用不同的範數作為正則項。
PART
04 深度理解
為了更好的理解正則化技術原理,下面從4個方面進行深度分析,希望對大家理解有幫助。
簡單數值假設分析法此處以L2範數講解,下面的各圖形來自吳恩達的機器學習課程。
圖4 不同引數下的曲線擬合結果
圖形分析法此處採用L1和L2範數講解:
(1) L2範數正則
(2) L1範數正則
以L1和L2範數為例,所得結論可以推廣到P範數中,首先需要知道:整個最優化問題從貝葉斯觀點來看是一種貝葉斯最大後驗估計,其中正則化項對應後驗估計中的先驗資訊,損失函式對應後驗估計中的似然函式,兩者的乘積即對應貝葉斯最大後驗估計的形式。針對L1和L2範數還有結論:L2範數相當於給模型引數設定一個協方差為1/alpha的零均值高斯先驗分佈,L1範數相當於給模型引數設定一個引數為1/alpha的拉普拉斯先驗分佈。
為了講清楚上述結論,需要具備幾點前置知識點:(1) 高斯分佈和拉普拉斯分佈的定義和形狀;(2) 貝葉斯定理;(3) 最大似然估計;(4) 最大後驗估計。下面我對這4個知識點進行解釋。
(1) 高斯分佈和拉普拉斯分佈
(2) 最大似然估計
如果上述公式不能理解,請各位讀者去複習一下大學課程《概率論與數理統計》中的引數估計章節,為了更方便理解,下面舉一個例子:假設我要統計出整個大學內所有同學的身高分佈情況,設全校一共20000人,數量龐大,所有人都去問一遍不太靠譜,所以我打算採用抽樣方法來估計,假設我已經知道身高分佈服從高斯分佈,但是我不知道高斯分佈中的均值和方差引數,現在我打算採用最大似然估計方法來確定這兩個引數。首先需要明確,全校20000即為總體X,我隨機從各個班抽取10名同學,假設一共抽了2000個同學,那麼2000同學就構成了樣本空間,由於每個樣本的概率密度函式已知,則很容易寫出似然函式,對數求導即可求解引數。
(3) 最大後驗估計
PART
05 典型演算法應用
邏輯迴歸二分類邏輯迴歸使用Sigmoid作為決策函式進行分類,該函式可以將任意的輸入對映到[0,1]區間,當預測結果小於0.5,則表示負類,當預測結果大於0.5.則表示正類,其模型本質是求最大似然估計,具體求解似然函式通常使用梯度下降法,而前面說過:最大似然估計法沒有考慮訓練集以外的因素,很容易造成過擬合,故而邏輯迴歸一般採用L2範數進行正則化操作,Sigmoid函式定義和圖形如下:
嶺迴歸(RidgeRegression)嶺迴歸本質上是針對線性迴歸問題引入了L2範數正則,通過縮減迴歸係數避免過擬合問題,最先用來處理特徵數多於樣本數的情況(高維小樣本問題),現在也用於在估計中加人偏差,從而得到更好的估計,加了正則化後的代價函式如下:
Lasso迴歸拉索迴歸(lasso迴歸)本質上是針對線性迴歸問題引入了L1範數正則,通過縮減迴歸係數避免過擬合問題,其不同於L2範數,其可以將某些係數縮減為0即所謂的具備稀疏性(稀疏性的好處是簡化計算、容易理解模型、減少儲存空間、不容易出現過擬合等等),加了正則化後的代價函式如下:
其中,引數函式和嶺迴歸中相同。L1範數罰有一個問題:由於|X|函式在0處不可導,故而直接使用最小二乘法、梯度下降法等方法均失效,但是由於其為第一類間斷點中的可去間斷點,可以通過補充該點的定義解決,通常,對於線性迴歸中的lasso迴歸可以採用近似的前向逐步迴歸替代。
SVM支援向量機SVM優化目的為尋找一個超平面,使得正負樣本能夠以最大間隔分離開,從而得到更好的泛化效能,其通過引入核函式來將低維線性不可分的樣本對映到高維空間從而線性可分,通過引入懲罰引數C(類似於正則化引數)來對錯分樣本進行懲罰,從而減少模型複雜度,提高泛化能力,其優化目標如下:
大家如果不知道上面公式的推導,不用緊張,對於本次內容不是重點,只需要關注後面正則項部分,懲罰引數C作用和正則化引數作用一致,只是反相關而已。需要明白以下結論:
(1) C越大,正則化引數越小,表示對分錯樣本的懲罰程度越大,正則化作用越小,偏差越小,方差越大,越容易出現過擬合(通俗理解,原本將低維空間對映到5維空間正好線性可分,但是由於懲罰過於嚴重,任何一個樣本分錯了都不可原諒,結果系統只能不斷提高維數來擬合樣本,假設為10維,最終導致對映維數過高,出現過擬合樣本現象,數學上稱為VC維較大);
(2) C越小,正則化引數越大,表示對分錯樣本的懲罰程度越小,正則化作用越大,偏差越大,方差越小,越容易出現欠擬合(通俗理解,原本將低維空間對映到5維空間正好線性可分,但是由於懲罰過小,分錯了好多樣本都可以理解,比較隨意,結果系統也採用簡化版來擬合樣本,假設為3維,最終導致對映維數過低,出現欠擬合樣本現象,數學上稱為VC維較小)。
PART
06 技術總結
本文從各個角度深入的分析了機器學習演算法中使用到的正則化技術,正則化技術是機器學習和深度學習中非常重要的內容,不管是在面試、筆試還是實際應用中都至關重要,通過本文您應該知道以下重要結論:
(1) 正則化的作用是防止過擬合、提高模型泛化能力
(2) 正則化等價於結構風險最小化
(3) 正則化等價於帶約束的目標函式中的約束項
(4) 正則項等價於引入引數的模型先驗概率
(5) 在誤差符合均值為0的高斯分佈,則最大似然估計和最小二乘法等價
(6) 最大後驗估計就是在最大似然估計函式上面乘上了一項先驗分佈而已
(7) L2範數相當於給模型引數設定一個零均值高斯先驗分佈,L1範數相當於給模型引數設定一個拉普拉斯先驗分佈
(8) L0和L1正則可以得到稀疏解,而L2不能,並且引數優化速度L1快於L2,但是L2更容易理解,計算更方便。
有一個需要注意的地方:正則化方法一般都是不對偏移項進行正則的,原因是它們也沒有和資料直接有乘法等互動,其不會影響到最後結果中某個資料維度的作用,如果你執意要對其進行正則化,也是可以的,對結果沒有多少影響。
前面討論了,正則化是一種可以有效防止過擬合的方法,然而如何判斷模型是否或者容易出現過擬合?常用的辦法有:(1) 比較模型對驗證集和訓練集的識別精度,如果驗證集識別精度大幅低於訓練集,則可以判斷模型存在過擬合;(2) 訓練集的代價函式快速下降至0附近,也可以懷疑出現了過擬合;(3) 樣本個數比特徵個數少,也很容易出現過擬合。
由於本人水平有限,如果哪裡有寫錯的或者理解不到位的,歡迎提出建議!
PART
07 參考內容
[1] 概率論與數理統計浙大版(第四版)教材
[2] 吳恩達CS229課程
[3] Deep Learning
[4] pattern recognition and machinelearning
[5] http://www.jianshu.com/p/a47c46153326
[6] http://www.jianshu.com/p/f71848c7aaf3
[7] https://www.zhihu.com/question/23536142/answer/90135994
[8] 其他優秀的部落格
PART
08 作者簡介
自我介紹:
本人,姓名:黃海安,網名:深度眸,南京航空航天大學碩士,業餘工程師
各位朋友可以通過以下方式獲取前面的視訊和文件
(1) 關注:機器學習演算法全棧工程師 微信公眾號,後續我的文章和視訊會首先發布在上面,其二維碼為:
(2) 加我個人的QQ群,ML和DL視訊分享群(678455658)。在群裡大家可以對本視訊提出任何意見
(3) 騰訊視訊網站、其他公眾號和其他一些網站等
歡迎各位提出寶貴意見!
往
期
推
薦
掃描個人微訊號,
拉你進機器學習大牛群。
福利滿滿,名額已不多…
80%的AI從業者已關注我們微信公眾號