Lasso 和 Ridge 簡介

做者:童話李
連接:https://www.zhihu.com/question/38121173/answer/403986652
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
 函數

這兩天的項目就是LASSO跟RIDGE,講講個人體會。3d

LASSO這兩年莫名的很是火,無論什麼經濟學話題,只要涉及到解釋變量有效性的問題,評論人或者審稿人都想看看,你這玩意兒作的LASSO有啥結果沒有。潛臺詞就是,若是LASSO作不出結果是否是你這個話題自己就有問題呢。過兩年這陣風過去可能你們的想法又變了,不過身處其中普通人別無選擇只能適應,不管如何都不能在潮流中落了下風。blog

 

公式以前好多人都寫了,我就直接擺幾個別人總結最簡單的結果,這對我理解背後的機制幫助很是大,圖懶得畫,都是從網上貼的。it

先隨便生成一組數io

y=sin (x)+\epsilon\\ x \in [1/3\pi,5/3\pi]

本質上是三角函數加上一個正太分佈的隨機擾動,大概長這樣基礎

 

 

接着再跑15個OLS迴歸,裏面加上1到15階的x做爲迴歸變量,變量

y=x^{0}+x^{1}+...+x^{n}\\ n=1,...,15

擬合結果大概長這樣lambda

上圖能夠看出,從1到15階的x,確實擬合的愈來愈精確,但是與背後真正的函數sin(x)的距離,也經歷了先接近後遠離的狀況。緣由是OLS爲了把擬合精確度提升,會盡力把噪音也擬合上,最終形成了所謂的過分擬合(overfitting),catch the noise, not the signal。方法

那麼一個合理的問題就是:如何才能避免過分擬合?im

爲了回答這個問題,就先看一眼剛剛回歸出來的係數,大概長這樣。

有看到什麼趨勢沒有?

一個很明顯的趨勢就是,係數的數量級從個位數奔到了十的5次方到6次方!

直覺就是大的係數能夠把X微小的變更放大,經過多個正負項的疊加儘可能把每一個點都擬合上。

這就是在平常實踐中判斷過分擬合的一個重要標準,係數若是大的離譜,多半是過分擬合了。至於多少是離譜,須要根據經驗判斷。單變量股票收益率預測迴歸,在採用百分比收益率,並把X標準化到(0,1)以後若是出來個幾十的係數,多半是過分擬合了。就像R^2若是作到20%以上多半是有look ahead bias,其餘結果我根本就不想往下看。。。

那麼好怎麼解決這個問題?

一個很是直覺的解決方法就是,在目標函數裏面把過大的係數進行懲罰(penalty)。

LASSO與RIDGE的區別就是怎麼進行這個懲罰。

先說LASSO,

它是這樣作懲罰的,在OLS擬合的基礎上,對其係數的絕對值進行懲罰,目標函數長這樣

argmin(y-wx)^2+\alpha |w|

這樣寫目標函數就是想達到一個平衡,第一擬合的偏差要小,第二係數的絕對值不能太大。

擬合的圖像跟係數分別以下

有如下幾個特色,

  1. 隨着懲罰力度alpha的增長愈來愈多的係數變成了0
  2. 係數確實很好的控制在合理區間,以截距項跟一階項爲例,大體都在1到0.X之間。
  3. 隨着懲罰力度的增長擬合愈來愈差,到最後RSS到了37,出現了擬合不足(underfitting)的問題。

 

再說RIDGE,目標函數長這樣

argmin(y-wx)^2+\lambda w^2

也是想達到一個相似的平衡,第一擬合的偏差要小,第二係數的平方不能太大。

結果以下,

有如下幾個特色,

  1. 隨着懲罰力度alpha的增長愈來愈多的係數變得很小,但不會到0。
  2. 隨着懲罰力度的增長擬合愈來愈差,到最後RSS到了23,出現了擬合不足(underfitting)的問題。但擬合不足的問題彷佛比相同條件下LASSO來的輕一些。
  3. 因爲係數一直不到0,便沒辦法作變量選擇。

接下來的一個問題是,既然懲罰力度alpha太大了容易擬合不足,過低了容易過分擬合。究竟多大的懲罰力度是合適的?

這個問題對於OLS,LASSO,和RIDGE,有一個相對標準的作法,用赤池信息準則(AIC)或貝葉斯信息準則(BIC)進行判斷。

多餘的公式就不寫了,直覺是這樣的,AIC大體都是關於懲罰力度的U型函數,條件形同的狀況下AIC越小越好,直接選取AIC最低點對應的懲罰力度alpha。一個例子就是下圖。

 

最後用一幅圖總結三者的關係

 

若是以OLS的係數做爲橫軸,OLS, LASSO, RIDGE的係數做爲縱軸的話,能夠畫一幅大體如上的圖。

  1. LASSO本質上對OLS的係數作了一個固定數值的懲罰這個數值大體是1/2alpha,這一點是能夠嚴格證實的。但最終其變更的趨勢和OLS是同樣的,用圖中實例就是紅線與藍線實際上是平行的。
  2. RIDGE本質上對OLS的係數作了一個比例上的縮減。能夠從圖中看出,綠線的斜率變低了。
相關文章
相關標籤/搜索