机器学习入门10 - 正则化:简单性(Regularization for Simplicity)
原文鏈接:https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity
正則化指的是降低模型的復雜度以減少過擬合。
1- L?正則化
泛化曲線:顯示的是訓練集和驗證集相對于訓練迭代次數的損失。
如果說某個模型的泛化曲線顯示:訓練損失逐漸減少,但驗證損失最終增加。那么就可以說,該模型與訓練集中的數據過擬合。
根據奧卡姆剃刀定律,或許可以通過降低復雜模型的復雜度來防止過擬合,這種原則稱為正則化。
也就是說,并非只是以最小化損失(經驗風險最小化)為目標:
???????????
而是以最小化損失和復雜度為目標,這稱為結構風險最小化:
?????? ? ??
此時,訓練優化算法是一個由兩項內容組成的函數:一個是損失項,用于衡量模型與數據的擬合度,另一個是正則化項,用于衡量模型復雜度。
衡量模型復雜度的兩種常見方式(這兩種方式有些相關):
- 將模型復雜度作為模型中所有特征的權重的函數。
- 將模型復雜度作為具有非零權重的特征總數的函數。?
如果模型復雜度是權重的函數,則特征權重的絕對值越高,對模型復雜度的貢獻就越大。
可以使用?L2?正則化公式來量化復雜度,該公式將正則化項定義為所有特征權重的平方和:
? ? ? ? ??
在這個公式中,接近于 0 的權重對模型復雜度幾乎沒有影響,而離群值權重則可能會產生巨大的影響。
例如,某個線性模型具有以下權重:
? ? ? ? ? ??
L2?正則化項為 26.915:
????????????
2- Lambda
模型開發者通過“”用正則化項的值乘以名為?lambda(又稱為正則化率)的標量”的方式來調整正則化項的整體影響。
也就是說,模型開發者會執行以下運算:
???????????
執行 L2 正則化對模型具有以下影響
- 使權重值接近于 0(但并非正好為 0)
- 使權重的平均值接近于 0,且呈正態(鐘形曲線或高斯曲線)分布。
增加 lambda 值將增強正則化效果。
在選擇 lambda 值時,目標是在簡單化和訓練數據擬合之間達到適當的平衡:
- 如果 lambda 值過高,則模型會非常簡單,但是將面臨數據欠擬合的風險。模型將無法從訓練數據中獲得足夠的信息來做出有用的預測。
- 如果 lambda 值過低,則模型會比較復雜,并且將面臨數據過擬合的風險。模型將因獲得過多訓練數據特點方面的信息而無法泛化到新數據。
注意:將 lambda 設為 0 可徹底取消正則化。在這種情況下,訓練的唯一目的將是最小化損失,而這樣做會使過擬合的風險達到最高。
理想的 lambda 值生成的模型可以很好地泛化到以前未見過的新數據。
遺憾的是,理想的 lambda 值取決于數據,因此需要手動或自動進行一些調整。
L2 正則化和學習速率
學習速率和 lambda 之間存在密切關聯。
強 L2 正則化值往往會使特征權重更接近于 0。
較低的學習速率(使用早停法)通常會產生相同的效果,因為與 0 的距離并不是很遠。
因此,同時調整學習速率和 lambda 可能會產生令人混淆的效果。
早停法指的是在模塊完全收斂之前就結束訓練。
在實際操作中,經常在以在線(連續)方式進行訓練時采取一些隱式早停法。也就是說,一些新趨勢的數據尚不足以收斂。
如上所述,更改正則化參數產生的效果可能會與更改學習速率或迭代次數產生的效果相混淆。
一種有用的做法(在訓練一批固定的數據時)是執行足夠多次迭代,這樣早停法便不會起作用。
3- 理解
問題
1- 假設某個線性模型具有 100 個輸入特征:
??? 其中 10 個特征信息豐富。
??? 另外 90 個特征信息比較缺乏。
假設所有特征的值均介于 -1 和 1 之間。 以下哪些陳述屬實?
- L2 正則化會使很多信息缺乏的權重接近于(但并非正好是)0.0。
- L2 正則化可能會導致對于某些信息缺乏的特征,模型會學到適中的權重。
- L2 正則化會使大多數信息缺乏的權重正好為 0.0。
- L2 正則化和相關特征
2- 假設某個線性模型具有兩個密切相關的特征;也就是說,這兩個特征幾乎是彼此的副本,但其中一個特征包含少量的隨機噪點。
如果我們使用 L2 正則化訓練該模型,這兩個特征的權重將出現什么情況?
- 其中一個特征的權重較大,另一個特征的權重正好為 0.0。
- 這兩個特征將擁有幾乎相同的適中權重。
- 其中一個特征的權重較大,另一個特征的權重幾乎為 0.0。
解答
1-
- 正確。L2 正則化會使權重接近于 0.0,但并非正好為 0.0。
- 正確。出乎意料的是,當某個信息缺乏的特征正好與標簽相關時,便可能會出現這種情況。在這種情況下,模型會將本應給予信息豐富的特征的部分“積分”錯誤地給予此類信息缺乏的特征。
- L2 正則化不會傾向于使權重正好為 0.0。L2 正則化降低較大權重的程度高于降低較小權重的程度。隨著權重越來越接近于 0.0,L2 將權重“推”向 0.0 的力度越來越弱。
2-
- L2 正則化幾乎不會使權重正好為 0.0。相比之下, L1 正則化(稍后會介紹)則會使權重正好為 0.0。
- 正確。L2 正則化會使特征的權重幾乎相同,大約為模型中只有兩個特征之一時權重的一半。
- L2 正則化降低較大權重的程度高于降低較小權重的程度。因此,即使某個權重降低的速度比另一個快,L2 正則化也往往會使較大權重降低的速度快于較小的權重。
4- 關鍵詞
泛化曲線(generalization_curve)
顯示的是訓練集和驗證集相對于訓練迭代次數的損失
過擬合 (overfitting)
創建的模型與訓練數據過于匹配,以致于模型無法根據新數據做出正確的預測。
正則化 (regularization)
對模型復雜度的懲罰。正則化有助于防止出現過擬合,包含以下類型:
-
- ? L1 正則化
- ? L2 正則化
- ? 丟棄正則化
- ? 早停法(這不是正式的正則化方法,但可以有效限制過擬合)
L1 正則化 (L? regularization)
一種正則化,根據權重的絕對值的總和來懲罰權重。
在依賴稀疏特征的模型中,L1 正則化有助于使不相關或幾乎不相關的特征的權重正好為 0,從而將這些特征從模型中移除。
與 L2 正則化相對。
L2 正則化 (L? regularization)
一種正則化,根據權重的平方和來懲罰權重。
L2 正則化有助于使離群值(具有較大正值或較小負值)權重接近于 0,但又不正好為 0。(與 L1 正則化相對。)
在線性模型中,L2 正則化始終可以改進泛化。
結構風險最小化 (SRM, structural risk minimization)
一種算法,用于平衡以下兩個目標:
-
- ?期望構建最具預測性的模型(例如損失最低)。
- ?期望使模型盡可能簡單(例如強大的正則化)。
例如,旨在將基于訓練集的損失和正則化降至最低的函數就是一種結構風險最小化算法。
如需更多信息,請參閱 http://www.svms.org/srm/。
與經驗風險最小化相對。
早停法 (early stopping)
一種正則化方法,是指在訓練損失仍可以繼續降低之前結束模型訓練。
使用早停法時,您會在驗證數據集的損失開始增大(也就是泛化效果變差)時結束模型訓練。
lambda
與正則化率的含義相同。(多含義術語,在此關注的是該術語在正則化中的定義。)
正則化率 (regularization rate)
一種標量值,以 lambda 表示,用于指定正則化函數的相對重要性。從下面簡化的損失公式中可以看出正則化率的影響:
???????????
提高正則化率可以減少過擬合,但可能會使模型的準確率降低。
?
轉載于:https://www.cnblogs.com/anliven/p/10301588.html
總結
以上是生活随笔為你收集整理的机器学习入门10 - 正则化:简单性(Regularization for Simplicity)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男士面部保养(男性的护肤要点)
- 下一篇: 建信金科