互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化

在前面談到了一些正則化的思路和方法,接下來思考另外一個問題:爲什麼要正則化?

首先來討論機器學習中的幾個基礎的問題,通過這幾個問題的理解,希望可以儘可能的回答爲什麼要正則化這樣一個問題(很多都是自己的理解,不準確,歡迎討論)。

1. 訓練數據不一定能近似真實的分佈

機器學習算法的目標還是希望使用traning data得出的模型能夠在test data上有良好的效果,也就是traning出的model能更接近數據真實的情況。但是這個目標並不那麼容易達成,原因主要是現實中,觀察到數據的全貌往往是不可能的,因此就造成了training set 和 test set的分佈不一致。如下圖所示,選擇training set 1 和training set 2 可以得到不同的分類器,顯而易見的時這個分類器的泛化能力非常差。也就是在現實中訓練數據往往和真實數據的分佈是有差距的,因此採用某些方法對於訓練數據進行約束是非常有必要的。


機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化





2. Expected Loss 和 over fitting

在學習一個問題的時候,首先會定義loss function,就是要照什麼樣的準則去學習。

a. Expected Loss :對於一個trainning set人們自然的會想到使用平均的loss來衡量預測值和真實值的一致性,這就是expected Loss(期望損失):

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


就是模型f關於聯合概率分佈P(x,y)的平均意義下的損失,因爲x,y都是隨機變量,所以損失函數的期望是,學習的目標就是選擇f,使得期望損失最小。但是這裏面的問題是聯合概率是未知的,所以這個期望無法求出。在只能觀察到訓練數據的情況下,則定義了另外一個損失函數經驗損失empirical loss(經驗損失):基於訓練樣本的平均損失

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


大數定律告訴我們,在重複的實驗中,隨着試驗次數的增減,事件發生的概率趨於一個穩定值,這個穩定值就是期望。由這個定律出發,很自然的可以想到使用經驗損失來預估期望損失,但這裏要注意真實情況是數據並沒有趨近無窮,因此經驗風險在數據量不夠大的情況下,需要添加新的約束。

b. Over fitting 現象的產生:通常意義上,只要hypothesis space足夠的複雜(對應於參數的數量,但並不等同), training set的loss就可能無限的逼近0,最後的經驗損失爲0,也就是很好的擬合了訓練數據。下面是使用多項式來擬合二次曲線的的例子,可以看到當多項式的爲3的時候可以擬合的比較精確,當爲9的時候,所有點都在最後擬合的曲線上,也就是經驗損失爲0,出現了過擬合,但這樣的模型在test上面往往是無效的。

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


3. Structural risk minimisation

爲了避免over fitting現象的出現,人們提出了structural risk minimization(結構化風險最小化)的思路。統計學習理論提出了一種新的策略,即把函數集構造爲一個函數子集序列,使各個子集按照VC維的大小排列;在每個子集中尋找最小經驗風險,在子集間折衷考慮經驗風險和置信範圍,取得實際風險的最小。這種思想稱作結構風險最小化(Structural Risk Minimization)。

a. VC維:VC維是有關函數集學習性能的一個重要指標,VC維越大則學習機器越複雜。比如在一個平面上(這是一個2維空間)我們使用一條直線(一個學習機)就可以把這個平面上的任意的3個點以任意的分類完全的分開(四個點就不可以:四個點對角的兩個點爲一類,那麼一條直線無論如何是不可能把他們分開的)那麼我麼就說這條直線的vc維就是3。

b. VC維和empirical  risk的關係:VC維越大,也就是學習機越複雜,越容易出現過擬合。VC維度越小,學習機越簡單,過擬合現象不容易出現,但是經驗風險精度會下降。所以學習的目的是在模型的複雜度以及精度之間找一個折中,以便經驗風險可以得到控制。

c. Generation error(泛化誤差):generalization  ability是值得學習方法學習到的模型對於未知數據的預測能力,而這個預測能力是通過test error來進行評價的,泛化誤差實際上就是所學習到的模型的expected risk。

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


因爲P(x,y)不容易得到,於是就通過研究泛化誤差的界來研究泛化誤差。泛化誤差R(f)和經驗誤差R_hat(f)有這樣一種關係:

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


這個公式來自於李航博士的《統計學習方法》,其中d是函數集個數,N是訓練數據的數量,delta是一個可調節項。在zhang tong老師2012年龍星計劃第三講的slides中,這個公式簡化成了下面這個公式,其實是一個意思。

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


對於理解來說,可以先不深究後邊epsilon項的具體表達,它就是一個與函數集個數、訓練數據相關的一個多次項。(如想深入瞭解,可以看一下李航博士的《統計學習方法》以及一些論文)


4. 正則化

上面的幾個問題完全是爲了解釋正則化所作的準備工作。前面提到了結構化的風險最小化,下面就是具體的公式:

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化

後邊的J(f)是和模型複雜度相關的一個函數,就是zhang tong老師那個公式中的 O(d/n),那這個式子表達的意思是

a. 是在最小化  經驗誤差+ 模型複雜度,
b. 最小化泛化誤差的上界,最小化置信區間,使得training error和test error儘量接近
c. 折衷考慮經驗風險和置信範圍,降低模型的VC維

5. 如何理解1範數或者2範數對於模型複雜度的影響

再來進一步理解,後面的這個J(f),使用2範數或者1範數,這樣做就可以降低模型的複雜度嗎?答案是肯定的。

以正則化選項爲2範數爲例,lambda*||w||, 這個最小化實際上限制了所有參數的取值範圍,也就是將w的取值限制在了一個非常小的範圍內,這個造成了什麼樣的結果呢?首先,函數集合的數目(d)降低了,w取的值少了,函數集合自然小了;其次,w取值少了,函數複雜度降低了;再次,由於w的總體範數限制在一個較小的範圍內,會使得各個wi不至於差別太大,保證了優化的穩定性。

6. 從優化角度來理解正則化

前面介紹了結構化風險的思路就是把函數集構造成一個子序列,通過在子序列中尋優來找的解,這個實際上就是對應着優化問題中把約束最優化問題轉化爲無約束最優化問題,通過求解無約束最優化問題,來得到約束問題的解,即時序列無約束最小化方法,說的很玄乎,實際上大家都接觸過:懲罰函數法、乘子法(我呵呵)

懲罰函數法的一個核心思想就是增大目標函數在非可行域出的目標函數值,一個基本的罰函數構造如下,其中c(x)<=0就是constraint。

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


大家可以看到其中delta的作用,在非可行域,也就是邊界c(x) = 0的時候,delta儘可能的大,這樣可以讓函數值變的很大,從而使得優化結果儘量出現在c(x)<=0的範圍內。在delta趨近無窮的時候,P(x)的極值點和原問題f(x)的極值點就無限接近,這個證明很簡單,通過求導,然後求極限就可以證明。

我們再回到正則化這個問題,正則化中的lambda*||w||_2 實際上就承擔了罰函數的功能。在zhang tong老師的slides中提到這樣一個等價,如下所示:

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


A是一個極小的值,也就是讓所有的w儘可能的分佈在一個較小的範圍內,有了這個條件,也很容易通過求導,求極限這樣的步驟來證明這兩個式子是等價的。從直觀上來分析,lambda越小,那麼w的範圍越大,函數複雜就度越高,VC維就會越高,test error的上界就越大,函數的泛化能力就越弱。但是反過來看,如果lambda過大,罰函數通常是一個病態函數,也就是其Hesse矩陣會出現條件數過大的問題,導致數值計算的不穩定。

lambda的調節:lambda過大或者增加的過快,會使得收斂速度變快,但不精確;反之,精確度高,但收斂速度會變慢,因此在實際中,要選取適當的lambda的初始值以及適當的lambda的步長,很多優化算法也在圍繞lambda的選擇做文章。

順帶提一個有意思的問題,在zhang tong老師的slides中推倒出了使用2範數正則化的最後的解析表達式,如下,這個式子對應了LM優化算法的公式,實際上LM優化算法就是通過添加2範數的正則化得到的,可見數學公式在物理上還都是有意義的。

機器學習講座總結-北航-互聯網應用下的大規模在線學習算法(四)-爲什麼要正則化


7. 總結一下

a. 從機器學習的角度來講:機器學習的最終目的實際上是想讓訓練的模型能夠在test set有更好的性能,這就提出了於最小化泛化誤差;直接最小化有問題,那麼就提出了最小化泛化誤差的上界,而這個上界是經驗風險和模型複雜度的函數,而後面的這個模型複雜度函數就對應了正則化項,從而就有了正則化.

b. 從優化角度來講:正則化就對應着一個懲罰函數,通過懲罰來確保函數能夠在可行域內尋優。

c. 從概率角度來講:(在前面的博文中提到)加正則化項的目標函數實際上對應着後驗概率,正則化項對應着參數的分佈


主要參考文獻(都可以在網上找到):

李航博士 《統計學習方法》
zhang tong 老師在2012年龍星計劃上的第三講 《overfitting and regularization
袁亞湘 《最優化理論與方法》
唐傑老師 《Pattern Recognition and M
發佈了15 篇原創文章 · 獲贊 7 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章