本節涉及的知識點包括:
(1)所謂正則化,就是在原來的假設空間上加上一定限制條件;
(2)推導線性回歸中引入l2正則;
(3)帶正則化約束條件的問題 等價於 無約束的加正則項的augmented error;
(4)vc維解釋正則的好處;
(5)選擇一般正則項的三個原則;
(6)l1正則和l2正則的對比;
所謂正則化假設空間,就是帶有限制條件的假設空間。
引入正則化,就是對假設空間做一定的限制,也就是在原來的線性回歸基礎上加了約束條件:
這個問題是乙個約束優化問題,可以根據kkt條件求解。這裡我們從幾何的角度來推導:
這裡的紅色圓圈,圓心表示原點,半徑為c,顯然w被約束在該圓形區域內。藍色箭頭是當前的負梯度方向,由於約束限制,w只能往梯度在圓形的切線方向上的分量進行更新。當w的方向與負梯度方向相同時,切線分量為0,就達到了在約束條件下的最優解。
即,最優的時候,w與負梯度成比例:
即:
其中λ大於0。這個式子也可以由kkt條件推出 。
上式中代入線性回歸的梯度形式,可以求得最優解(其中λ是與c有關的量):
這個形式被稱為嶺回歸。
從另乙個角度看,上面的問題等價於直接在原來的損失函式中引入正則項,這樣的損失函式稱為augmented error:
由於λ是與c有關的量,那麼我們不妨把λ當作引數。這樣就用求解帶正則項的augmented error代替了原來約束問題:
下面是不同的λ帶來的正則化的效果:
在進行多項式轉換時,使用legendre多項式可以構造一堆兩兩正交的基底,使得每個項對應的權重影響力是一樣的:
加入正則項,等效於帶約束的ein。也就是有效的假設空間比不加正則項的假設空間更小了,vc維更低,因此泛化能力更好。
前面講的正則項只是很多正則項的一種,稱為l2正則項。事實上,我們還可以選擇其它的形式作為正則項。選擇正則項的時候,可以考慮以下三個方向:
(1)target-dependent :如果知道目標函式的資訊,就可以選擇與它方向一致的正則項。例如已知目標函式是偶函式,就可以只對奇次方的權重做限制。
(2)可行性:正則項可以讓我們選出乙個平滑和簡單的假設函式。
(3)易優化的:加上正則項之後,應該是乙個容易求解的優化問題。
l1最後最優解一般會落在稜形的頂點上,因此通常是稀疏解。
此外,引數λ的選擇是很重要的。下圖給出了在不同的隨機雜訊和確定性雜訊下的不同的λ帶來的效果:
但是,雜訊是不可知的,我們如何來選擇合適的λ呢?這就是下一節 「驗證」中要講的了。
機器學習基石(6)
希望m最終能取代m 假設集大小 到底m會不會漲的很慢?假設的數量不會太多?如果長得很慢,能不能取代掉原來的m?mh成長函式 到底這個假設集,在n個點上,到底能產生多少種dichotomies?如果是positive rays,在n 2時候就露出破綻,不能產生那種情形 如果是positive inte...
機器學習正則化
設p 1的實 數,p norm 定義為 x i 1 n xi p 1 p 1.1 這裡寫描述 如果方陣a是非奇異的,那麼a的conditio nnumber定義為 a a a 1 condition number是乙個矩陣穩定性或者敏感度的度量。矩陣的condition number在1附近,那麼它...
機器學習 正則化
為了增加模型的泛化能力,避免模型出現過擬合的現象,我們經常會加入正則化處理 當模型偏差較低,但是方差很大,尤其在輸入的維數較高時,很容易出現過擬合現象,當加入正則項,模型損失了一部分偏差,卻大大降低了模型的方差 l1和l2正則是我們經常用到的方法。l1正則 這種方法的結果會讓引數向量中許多元素趨於0...