機器學習03——線性迴歸過擬合正則化 L1L2正則 嶺迴歸 Lasso迴歸 彈性網絡

最小二乘迴歸中,目標函數只考慮了模型對訓練樣本的擬合程度:在這裏插入圖片描述

原則上任意複雜的模型能完全擬合訓練數據。我們稱之爲過擬合。

• 過擬合( overfitting ):過於複雜的模型與訓練數據擬合得太好,但和測試數據擬合得不好。
• 欠擬合(underfitting):過於簡單的模型與訓練數據擬合得欠佳(和測試數據自然也擬合得不好)

注意:線性迴歸中採用線性模型。而線性模型是很簡單的模型,所以當特徵維數不是太高時,線性迴歸的過擬合現象通常不太嚴重。

舉例說明:

sin曲線擬合

在這裏插入圖片描述
在這裏插入圖片描述
上圖可以看到,綠色正弦曲線爲真實值,藍色圓點爲模擬數據集。
紅色曲線爲在不同階多項式的情況下,擬合的效果。
可以看到,階數越多,對於數據集的擬合效果越好,但是不一定與真實值越接近。

我們另外生成100個數據作爲測試集,檢驗模型:
在這裏插入圖片描述
• 當模型複雜度繼續增加( 𝑀 > 3 )時,訓練誤差繼續下降,甚至等於0,而測試誤差反而增大。這時發生了過擬合。
• 所以評價模型性能不能在訓練集上評估,而應該在新的測試數據上進行評估:推廣性/泛化能力( generalization )。

防止模型過擬合的方法——正則化

  • 前面使用多項式迴歸,如果多項式最高次項比較大,模型就容易出現過擬合。正則化是一種常見的防止過擬合的方法,一般原理是在代價函數後面加上一個對參數的約束項,這個約束項被叫做正則化項(regularizer)。在線性迴歸模型中,通常有兩種不同的正則化項:
    • 加上所有參數(不包括θo)的絕對值之和,即L1範數(L1正則化),此時叫做Lasso迴歸;
    • 加上所有參數(不包括θo)的平方和,即L2範數(L2正則化),此時叫做嶺迴歸.

嶺迴歸

嶺迴歸與多項式迴歸唯一的不同在於代價函數上的差別。嶺迴歸的代價函數如下:
在這裏插入圖片描述
爲了方便計算導數,通常也寫成下面的形式:
在這裏插入圖片描述
上式中的w是長度爲n的向量,不包括截距項的係數θo;θ是長度爲n+1的向量,包括截距項的係數θo;m爲樣本數;n爲特徵數.
嶺迴歸的代價函數仍然是一個凸函數,因此可以利用梯度等於0的方式求得全局最優解(正規方程):
在這裏插入圖片描述
上述正規方程與一般線性迴歸的正規方程相比,多了一項λI,其中I表示單位矩陣。假如XTX是一個奇異矩陣(不滿秩),添加這一項後可以保證該項可逆。由於單位矩陣的形狀是對角線上爲1其他地方都爲0,看起來像一條山嶺,因此而得名。

Lasso迴歸

Lasso迴歸於嶺迴歸非常相似,它們的差別在於使用了不同的正則化項。最終都實現了約束參數從而防止過擬合的效果。但是Lasso之所以重要,還有另一個原因是:Lasso能夠將一些作用比較小的特徵的參數訓練爲0,從而獲得稀疏解。也就是說用這種方法,在訓練模型的過程中實現了降維(特徵篩選)的目的。
Lasso迴歸的代價函數爲:
在這裏插入圖片描述
上式中的w是長度爲n的向量,不包括截距項的係數θ0, θ是長度爲n+1的向量,包括截距項的係數θ0,m爲樣本數,n爲特徵數.
||w||1表示參數w的l1範數,也是一種表示距離的函數。加入w表示3維空間中的一個點(x,y,z),那麼||w||1=|x|+|y|+|z|,即各個方向上的絕對值(長度)之和。

式子2−1的梯度爲:
在這裏插入圖片描述
其中sign(θi)由θi的符號決定:
在這裏插入圖片描述

彈性網絡

彈性網絡是結合了嶺迴歸和Lasso迴歸,由兩者加權平均所得。據介紹這種方法在特徵數大於訓練集樣本數或有些特徵之間高度相關時比Lasso更加穩定。

其代價函數爲:
在這裏插入圖片描述
其中r表示l1所佔的比例。

正則化項的使用以及L1與L2的比較

根據吳恩達老師的機器學習公開課,建議使用下面的步驟來確定λ的值:

  1. 創建一個λ值的列表,例如λ∈0,0.01,0.02,0.04,0.08,0.16,0.32,0.64,1.28,2.56,5.12,10.24;
  2. 創建不同degree的模型(或改變其他變量); 遍歷不同的模型和不同的λ值;
  3. 使用學習到的參數θ(包含正則化項)計算驗證集上的誤差(計算誤差時不包含正則化項),JCV(θ);
  4. 選擇在驗證集上誤差最小的參數組合(degree和λ); 使用選出來的參數和λ在測試集上測試,計算Jtest(θ).

下面通過一張圖像來比較一下嶺迴歸和Lasso迴歸:在這裏插入圖片描述
圖中Lasso與嶺迴歸的比較(俯瞰圖)

上圖中,左上方表示l1(圖中菱形圖案)和代價函數(圖中深色橢圓環);左下方表示l2(橢圓形線圈)和代價函數(圖中深色橢圓環)。同一條線上(或同一個環上),表示對應的函數值相同;圖案中心分別表示l1,l2範數以及代價函數的最小值位置。

右邊表示代價函數加上對應的正則化項之後的圖像。添加正則化項之後,會影響原來的代價函數的最小值的位置,以及梯度下降時的路線(如果參數調整合適的話,最小值應該在距離原來代價函數最小值附近且與正則化項的圖像相交,因爲此時這兩項在相互約束的情況下都取到最小值,它們的和也最小)。右上圖,顯示了Lasso迴歸中參數的變化情況,最終停留在了θ2=0這條線上;右下方的取值由於受到了l2範數的約束,也產生了位移。

當正則化項的權重非常大的時候,會產生左側黃色點標識的路線,最終所有參數都爲0,但是趨近原點的方式不同。這是因爲對於範數來說,原點是它們的最小值點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章