天天看點

⚡機器學習⚡廣義的解釋正則化(Regularization)

今天算是⚡正式開學⚡了~

一年過得真快,這就研二了o(╥﹏╥)o

嗚嗚嗚。。。怎麼就開學了(我還沒放假呢).

❤更新一篇Blog打卡一下吧!❤

⚡新學期⚡,⚡新氣象⚡,⚡新風貌⚡來迎接新挑戰!!!

加油!!!

搜羅了很多正則化(Regularization)的解釋,發現在不同的地方有着不同的含義卻又有着相似的味道。

下面,來細品!

定義

正則化(regularization),是指線上性代數理論中,不适定問題通常是由一組線性代數方程定義的,而且這組方程組通常來源于有着很大的條件數的不适定反問題。大條件數意味着舍入誤差或其它誤差會嚴重地影響問題的結果。(來源自網絡)

正則化:代數幾何中的一個概念。

通俗定義

給平面不可約代數曲線以某種形式的全純參數表示。

⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)

如上圖為一個平面,為不可約代數曲線,用純參數的多項式來表示此曲線,有點像線性回歸,但又沒有線性回歸做的那麼好。為什麼取圖檔中的紅色點呢,看下面的廣義定義。

嚴格定義

設C是不可約平面代數曲線,S是C的奇點的集合。如果存在緊Riemann面C及全純映射σ:C→PC^2,使得

σ(C*)=C

σ^(-1)

(S)是有限點集 (3) σ:C*\σ^(-1)(S)→C\S是一對一的映射

則稱(C*,σ)為C的正則化。不至于混淆的時候,也可以稱C*為C的正則化。

正則化的做法,實際上是在不可約平面代數曲線的奇點處,把具有不同切線的曲線分支分開,進而消除這種奇異性。

上面圖中的紅點,可看出奇點,如圖可知,奇點處于曲線中單調的線上,前後則是局部極值。

從數學角度來說,所謂奇異性就是指函數的不連續或導數不存在,表現出奇異性的點稱為奇異點。而此處則表現為導數不存在的情況。則為了消除這種奇異性,而提出了正則化的方法。

解決的問題

正則化就是對最小化經驗誤差函數上加限制,這樣的限制可以解釋為先驗知識(正則化參數等價于對參數引入先驗分布)。限制有引導作用,在優化誤差函數的時候傾向于選擇滿足限制的梯度減少的方向,使最終的解傾向于符合先驗知識(如一般的l-norm先驗,表示原問題更可能是比較簡單的,這樣的優化傾向于産生參數值量級小的解,一般對應于稀疏參數的平滑解)。

同時,正則化解決了逆問題的不适定性,産生的解是存在,唯一同時也依賴于資料的,噪聲對不适定的影響就弱,解就不會過拟合,而且如果先驗(正則化)合适,則解就傾向于是符合真解(更不會過拟合了),即使訓練集中彼此間不相關的樣本數很少。

由于加了正則化項,原來不可逆的Hessian矩陣也變的可逆了。

深入拓展

提到正則化,現在一般都會聯想到機器學習。

在Machine Learning(下面都用簡稱ML)中, 若參數過多,模型過于複雜,則會容易造成過拟合(overfitting)。即模型在訓練樣本資料上表現的很好,但在實際測試樣本上表現的較差,不具備良好的泛化能力。

解決方法: 為了避免過拟合,最常用的一種方法是使用正則化,例如 L1 和 L2 正則化。

⚡機器學習⚡廣義的解釋正則化(Regularization)

L1、L2正則化

在SVM(支援向量機)中,會引入一個叫做軟間隔的概念,簡單來說就是,在假定訓練樣本在樣本空間中是線性可分的,也即為存在一個超平面可将其不同類的樣本給完全分離開來。

在現實中,很難确定合适的核函數使得訓練樣本在特征空間中線性可分,就算是可以找到這樣一個核函數,但也不知道其可分的結果是否是由于過拟合造成的。

如下圖,為了緩解這樣的問題,則想了個辦法,就算将限制項給擴大,但也不是擴大到将所有樣本都能夠正确的劃分,如果是這樣的話,這就是“硬間隔”的概念了。故“軟間隔”隻是允許某些樣本可不需要滿足限制條件,擴大到能包含一些重要的樣本特征就足夠了。

⚡機器學習⚡廣義的解釋正則化(Regularization)

軟間隔示意圖,紅色圈出了不滿足限制的樣本--圖檔源自《機器學習》周志華

則會在優化的目标後面增加損失函數的懲罰項,如

⚡機器學習⚡廣義的解釋正則化(Regularization)

現在回到正則化中。

在上面的懲罰項中大體可看做為L1正則化(具體為0/1損失函數),使用L1正則化的模型建叫做Lasso回歸,使用L2正則化的模型叫做Ridge回歸(嶺回歸)。

⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)

正則化的功能

關于正則化操作的意義或者說作用,大部分的Paper或者學者的了解:

L1正則化可以産生稀疏權值矩陣,即産生一個稀疏模型,可以用于特征選擇。

L2正則化可以防止模型過拟合(overfitting);

一定程度上,L1也可以防止過拟合。

關于稀疏權值矩陣,最開始我也很懵逼,從字面上也很難了解到其中的意義。

稀疏矩陣

簡單來說,稀疏矩陣指的是很多元素為0,隻有少數元素是非零值的矩陣,即得到的線性回歸模型的大部分系數都是0。

此處引用一個很好的解釋。

機器學習中特征數量很多,例如文本處理時,如果将一個詞組(term)作為一個特征,那麼特征數量會達到上萬個(bigram)。在預測或分類時,那麼多特征顯然難以選擇,但是如果代入這些特征得到的模型是一個稀疏模型,表示隻有少數特征對這個模型有貢獻,絕大部分特征是沒有貢獻的,或者貢獻微小(因為它們前面的系數是0或者是很小的值,即使去掉對模型也沒有什麼影響),此時我們就可以隻關注系數是非零值的特征。這就是稀疏模型與特征選擇的關系。(源自網絡)

這裡讓我想到了PCA的特征提取,通過對不同特征的貢獻度不同來進行選擇。生成稀疏權值矩陣的話,可以進一步的細化特征的選擇。

關于L1、L2的直覺了解可以看這位大佬的。

關于L1比L2正則化更容易獲得稀疏解

從上面大佬的直覺圖解中其實也能看出點眉目,還是搬運一下下吧。

⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)
⚡機器學習⚡廣義的解釋正則化(Regularization)

是以說,為了獲得稀疏權值或者說稀疏解,我們在更好的選擇是加上L1正則化懲罰項。

繼續閱讀