標籤:

正則化

正則化

6 人贊了文章(摘自機器學習中常常提到的正則化到底是什麼意思? - 張旗的回答

機器學習中常常提到的正則化到底是什麼意思? - 知乎用戶的回答

和機器學習中的範數規則化之(一)L0、L1與L2範數)

正則化的目的:避免出現過擬合(over-fitting)

經驗風險最小化 + 正則化項 = 結構風險最小化

經驗風險最小化(ERM),是為了讓擬合的誤差足夠小,即:對訓練數據的預測誤差很小。

但是,我們學習得到的模型,當然是希望對未知數據有很好的預測能力(泛化能力),這樣才更有意義。

當擬合的誤差足夠小的時候,可能是模型參數較多,模型比較複雜,此時模型的泛化能力一般。於是,我們增加一個正則化項,它是一個正的常數乘以模型複雜度的函數,aJ(f),a>=0 用於調整ERM與模型複雜度的關係。

結構風險最小化(SRM),相當於是要求擬合的誤差足夠小,同時模型不要太複雜(正則化項的極小化),這樣得到的模型具有較強的泛化能力。

正則化項即罰函數,該項對模型向量進行「懲罰」,從而避免單純最小二乘問題的過擬合問題。正則化項本質上是一種先驗信息

整個最優化問題從貝葉斯觀點來看是一種貝葉斯最大後驗估計,

其中正則化項<-->先驗信息

損失函數<-->似然函數

兩者的乘積<-->貝葉斯最大後驗估計

貝葉斯最大後驗估計的形式取對數<-->損失函數+正則化項的最優化問題形式。

好,接下來我來舉個例子,就拿Lasso來說吧:Lasso中中的目標函數即相當於如下的後驗概率:

其中

(47)是似然函數,對應於Lasso中的損失函數,(48)是先驗概率,相當於Lasso中的正則化項。可以看出,Lasso的正則化項從貝葉斯觀點來看就是以Laplace先驗信息。(L2正則化相當於加了高斯先驗)

採用不同的先驗信息,可得到不同的結果。因此,你可以設計其它的先驗信息構成新的正則化項。例如,Group Lasso以變數的組結構為先驗信息構成的正則化項可實現變數組選擇,等等......

大部分機器學習模型無非就是變換這兩項。對於第一項Loss函數,如果是Square loss,那就是最小二乘了;如果是Hinge Loss,那就是著名的SVM了;如果是exp-Loss,那就是牛逼的 Boosting了;如果是log-Loss,那就是Logistic Regression了;

常用正則化項:

1.L1正則化:可得到稀疏解(L0範數也可以做到,但是L0範數不連續,難以優化求解),彩色的是Loss函數的等高線,黑色方形和黑色圓形是正則化項的等高線,對於L1,正則化,二者容易相交於方形的角上,即對應於某個參數為0.

2.L2正則化:防止過擬合,使參數接近0,從而當輸入稍微改變時,輸出不會變化太大(變化太大說明發生了過擬合)


推薦閱讀:

吳恩達機器學習第十一周課後感
崛起中的機器文明
logistic regression 邏輯回歸
Hidden Markov Model(隱馬爾可夫模型(Discrete))
邏輯回歸(Logistic Regression)(一)

TAG:機器學習 |