一、嶺回歸和 LASSO 回歸的推導過程
1)嶺回歸和LASSO回歸都是解決模型訓練過程中的過擬合問題
- 具體操作:在原始的損失函數后添加正則項,來盡量的減小模型學習到的 θ 的大小,使得模型的泛化能力更強;
2)比較 Ridge 和 LASSO
- 名詞
-
Ridge、LASSO:衡量模型正則化;
-
MSE、MAE:衡量回歸結果的好壞;
-
歐拉距離、曼哈頓距離:衡量兩點之間距離的大小;
- 理解
- Ridge、LASSO:在損失函數后添加的正則項不同;
- MSE、MAE:兩種誤差的表現形式與對應的 Ridge 和 LASSO 的兩種正則項的形式很像;
- 歐拉距離、曼哈頓距離:歐拉距離和曼哈頓距離的整體表現形式,與 Ridge、LASSO 兩種正則項的形式也很像;
-
其它
- 在機器學習領域,對於不同的應用會有不同的名詞來表達不同的衡量標准,但其背后本質的數學思想非常相近,表達出的數學的含義也近乎一致,只不過應用在了不同的場景中而產生了不同的效果,進而生成了不同的名詞;
3)明科夫斯基距離
- 明科夫斯基距離:
- 將明科夫斯基距離泛化:Lp 范數
- p = 1:稱為 L1 范數,相當於從 (0, 0) 點到 X 向量的曼哈頓距離;
- p = 2:稱為 L2 范數,相當於從 (0, 0) 點到 X 向量的歐拉距離;
4)L1 正則、L2 正則
- Ridge 回歸中添加了 L2 正則項,LASSO 回歸中添加了 L1 正則項;
- L2 正則項和 L2 范數的區別在於,L2 正則項沒有開平方,但有時候也直接稱 L2 正則項為 L2 范數;(同理 L1 范數與 L1 正則項的關系)
- 原因: L2 正則項是用於放在損失函數中進行最優化,如果將 L2 正則項加上開根號,不會影響損失函數優化的最終結果,但是不帶根號會顯得整個式子更加簡單,所以對於 L2 正則項的式子中不帶根號;
- 同理在數學理論上也存在 Ln 正則項;
5)L0 正則
- 目的:使 θ 的個數盡量少,進而限制 θ,使得擬合曲線上下抖動幅度不要太大,模型的泛化能力也會得以提高;
- L0 的正則項:描述非 0 的 θ 參數的個數;
- 實際中很少使用 L0 正則來進行模型正則化的過程,而是用 L1 正則代替;
- 原因: L0 正則的優化是一個 NP 難的問題;它不能使用諸如梯度下降法,甚至是直接求出一個數學公式這樣的方式來直接找到最優解; L0 正則項本質是一個離散最優化的問題,可能需要窮舉所有的讓各種 θ 的組合為 0 的可能情況,然后依次來計算 J(θ) ,進而來覺得讓哪些 θ 為 0 哪些 θ 不為 0,所以說 L0 正則的優化是一個 NP 難的問題;
- 如果想限制 θ 的個數,通常使用 L1 正則;
二、彈性網(Elastic Net)
1)公式
- 功能:也是解決模型訓練過程中的過擬合問題;
- 操作:在損失函數后添加 L1 正則項和 L2 正則項;
- 特點:同時結合了 嶺回歸和 LASSO 回歸的優勢;
- r:新的超參數,表示添加的兩個正則項的比例(分別為 r、1-r );
2)現實中,在進行正則化的過程中,通常要先使用 嶺回歸
- 優點:嶺回歸計算更精准;
- 缺點:不具有特征選擇的功能;
- 原因:如果特征非常多的話,嶺回歸不能將某些 θ 設置為 0,若 θ 的量太大的話到導致整體計算量也非常的大;
3)當特征非常多時,應先考慮使用 彈性網
- 原因:彈性網結合了嶺回歸的計算的優點,同時又結合了 LASSO 回歸特征選擇的優勢;
三、總結與開拓
1)總結
- 訓練的機器學習模型不是為了在訓練數據集上有好的測試結果,而是希望在未來面對未知的數據集上有非常好的結果;
- 模型在面對未知數據集表現的能力,為該模型的泛化能力;(模型泛化是機器學習領域非常非常重要的話題)
- 分析和提升模型泛化能力的方法:
- 看學習曲線;
- 對模型進行交叉驗證;
- 對模型進行正則化;
2)開拓
- LASSO 回歸的缺點:急於將某些 θ 化為 0,過程中可能會產生一些錯誤,使得最終的模型的偏差比較大;
- 問題:LASSO 回歸在模型優化的過程中是有選擇的將某些 θ 化為 0 嗎?或者說有沒有什么條件使得盡量避免讓相關性比較強的特征的系數化為 0 ?還是說這一行為只是單純的數學運算,就為目標函數盡量達到目標狀態?
- “可能產生的錯誤”:將一些相關性比較強的特征的參數 θ 也化為 0,導致該特征丟失;
- 開拓思路
- 彈性網結合了嶺回歸和 LASSO 回歸二者的優勢,小批量梯度下降法結合了批量梯度下降法和隨機批量梯度下降法二者的優勢,類似的方法在機器學習領域經常被運用,用來創造出新的方法。
- 打個比方理解機器學習
- 參加考試前要做很多練習題,練習題就相當於訓練數據,目的不是為了在做練習題的過程中達到滿分,而是通過做練習題讓我們在面對新的考試題時得到更高的分數,考試中面對的新的題目相當於模型在未來生成環境中見到的新的數據。