1. 程式人生 > >第4章-模型中特徵子集的選擇

第4章-模型中特徵子集的選擇

原文參考:
https://onlinecourses.science.psu.edu/stat857/node/137
擴充套件參考:
http://sites.stat.psu.edu/~jiali/course/stat597e/notes2/lreg.pdf
https://etd.ohiolink.edu/!etd.send_file?accession=case1300817082&disposition=inline
田茂再老師上課內容;
http://blog.csdn.net/zouxy09/article/details/24971995/


高維複雜資料分析已經變得越來越常見,並且也越來越重要。它給當代統計學帶來了很多問題,樣本增加,維度以指數的速度增加。

“Statistical accuracy, model interpretability and computational complexity are three important pillars of any statistical procedure.”
— Fan and Lv (2010).

維度的複雜性加大了計算的複雜性,也影響著模型的可解釋性,如何解決這些問題?—這就引出了特徵子集的選擇問題(subset selection).

子集的選擇,實質就是對變數進行選擇。不同特徵(變數)的組合構成了模型的全部集合,而最優的模型就存在於我們要找到的特徵子集中。

尋找特徵(變數)時,該是以改善、提高模型預測效果為目標的。
當然,還需要考慮模型的過擬合的問題,所以,變數選擇的過程同樣要遵循—balance between bias and variance.

一,經典統計方法:

(1)基於假設,通過係數t、f值的判斷
Two ways: forward selection and backward elimination.

(2)基於規則的判斷,通過結合AIC、BIC、LRT、擬合優度等準則來進行變數的篩選
缺點:無法處理高維資料,且該方法不穩健。這種方法篩選變數的時候,需要遍歷2^p個候選模型去進行兩兩比較。

(3) Resampling,抽樣結合上述2中方法

在不同變數選擇所形成的不同模型之間的比較階段,一般是採用逐步迴歸,加上上述三種方法進行的。

二,Bayesian方法:
在這裡插入圖片描述

三,正則化方法:

為了克服傳統經典方法的缺點,對應高維資料的變數篩選出現了一些新的技術—正則化(Regularization)。

正則化項是在機器學習中經常使用的方法,談起正則化項,應該先從經驗風險開始說起:

機器學習本質上是一種對問題真實模型的逼近。估計的模型與真實模型之間的誤差的累積,就是“風險".

真實的誤差或者說風險是無法得到的,只能去估計,這種使用樣本得到的結果與真實結果之間的差值就是,“經驗風險”—對風險的估計

以前的機器學習方法,都是把經驗風險最小化作為努力的目標,但是後來發現某些準確率100%的模型,其泛化能力可能非常差。

統計學因此引進了 “泛化誤差界” 的概念,就是指真實的風險應該有兩部分構成,一部分是"經驗風險",另一部分是"置信風險"。

置信風險代表了,能夠在多大程度上信任分類器在未知樣本上的分類結果。顯然,第二部分也是無法精確計算的,只能給出區間。這也使得整個誤差只能計算上界,而無法計算精確的值。

“置信風險” 與兩個量有關,一是樣本量,二是分類函式的VC維。顯然樣本量越大,置信風險越小,而VC維越大置信風險會變大。

泛化誤差界的公式為:
R(w)≤Remp(w)+Ф(n/h)

公式中R(w)就是真實風險,Remp(w)就是經驗風險,Ф(n/h)就是置信風險。統計學習的目標從經驗風險最小化變為了尋求經驗風險與置信風險的和最小,即結構風險最小

正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或懲罰項。正則化項一般是模型複雜度的單調遞增函式,模型越複雜,正則化項就越大。

綜述,我們有兩個大角度來看待變數選擇的問題,一個是概率統計的角度(經典統計方法與貝葉斯方法),一個是機器學習中的演算法模型的角度(正則化)。

本章主要學習目標:

  • 知道如何實現嶺迴歸;
  • 知道如何實現LASSO;

知識回顧:

(1) 線性迴歸

  • 線性迴歸: E(Yj|X)=Xβ;
  • 更一般的迴歸: E(Yj|X)=f(X);
  • 最小二乘估計得 β ^ = ( X T X ) 1 X T Y \hat{β}=(X^TX)^{-1}X^TY
  • 擬合值為 Y ^ = X β ^ = X ( X T X ) 1 X T Y \hat{Y}=X\hat{β}=X(X^TX)^{-1}X^TY
  • 帽子矩陣(hat matrix): X ( X T X ) 1 X T X(X^TX)^{-1}X^T
  • 幾何意義:正交投影

(2) 變數選擇

  • 對精簡模型複雜性的訴求
  • 對提高預測精準性的訴求
  • 如何確定變數是重要的一個解釋就是(Breiman,2001):如果去掉這個變數將嚴重影響預測的準確性,那麼該變數就是重要的
  • 建模過程中篩選變數是一個非常複雜的問題,對於一些方法,如似然比檢驗、F檢驗、AIC、BIC等,這些指標本身有時會給出相互矛盾的意見

(3) 逐步迴歸

  • 向後剔除法:先選入所有變數,然後逐步提出重要性最低的變數;
  • 向前選擇法:逐步選入最重要的變數加入到模型中;
  • 混合型:結合上述兩種
  • 前向分段/分步演算法(Forward-Stagewise)

(4) 逐步迴歸的評價

  • 無法保證逐步迴歸選擇的變數是穩定的,甚至說是最好的
  • 當變數個數大於樣本個數時 (p > n), 後向剔除法會變得不可行
  • 對於變數選擇問題,逐步發只產生一個結果,儘管可能有其他變數子集會產生同樣好的迴歸結果
  • 在R中,用step()/regsubsets()方法,很容易能實現逐步迴歸。然而,對於如何選擇一個最優的結果,你必須知道用什麼樣的推斷工具去實現
  • Scott Zeger 針對如何錯誤地選擇模型時說過:不要把科學問題轉化成計算問題,只知道選擇一個最好的AIC、BIC等,而不知道其背後隱藏的科學問題

3.1 嶺迴歸

嶺迴歸的動機:特徵變數太多

  • 變數個數比觀察個數多很多的情況下,如環境汙染研究等
  • 變數太多時,不加懲罰的擬合模型時,將會導致預測區間很大,最小二乘估計值將不會產生唯一結果

嶺迴歸的動機:病態的X矩陣

  • 因為最小二乘估計的解會依賴矩陣 ( X X ) 1 (X′X)^{-1} , 如果矩陣X′X 不滿秩,即為奇異矩陣,則計算引數β時將會出現問題。
  • 在這種情況下,X 中元素的微小波動,都會導致 ( X X ) 1 (X′X)^{-1} 的劇烈變化
  • 最小二乘估計 β L S β_LS 可能對訓練集可以得到一個較好的估計,但是對於測試集仍不滿足

嶺迴歸:
Hoerl and Kennard (1970) 建議,對潛在不穩定的最小二乘估計
β ^ = ( X X ) 1 X Y \hat{β}=(X′X)^{-1}X′Y
在求逆之前,可以先在矩陣X′X的對角線新增一個很小的常量λ,形成"嶺迴歸"估計
β ^ r i d g e = ( X X + λ I p ) 1 X Y \hat{β}_{ridge}=(X′X+λI_p)^{-1}X′Y

嶺迴歸在引數的求解過程中加入了一個特別形式的限制,即最小化帶有懲罰項的誤差平方和:

這裡寫圖片描述

這裡寫圖片描述

從上述推倒中,可以看出,β的平方正則化項與嶺迴歸是等價的

因此,嶺迴歸進一步的限制了引數。在上述公式中,對於f(β)最小化的目標公式不僅僅是殘差平方和,還有懲罰項。
等價於,最小化RSS,同時滿足一個條件,即,對於c>0有,
這意味著如果 β的求解值很大,那麼對應的代價也很大。所以,最終結果傾向於選擇較小的或者接近零的 β,以便限制懲罰項具有更小的值。

模型求解的複雜度,也取決於c和λ的值。

嶺迴歸的幾何解釋:

這裡寫圖片描述

橢圓對應的等高線輪廓代表著殘差平方和(RSS):輪廓越小代表著殘差平方和越小,在最小二乘估計下,殘差平方和最小。

當維度p=2時,嶺迴歸估計受限於條件: j = 1 p ( β j 2 ) < c \sum_{j=1}^p(β_j^2)<c

嶺迴歸中我們試圖同時使得橢圓和圓達到最小規模。嶺迴歸估計就是橢圓與圓的交點。

我們要權衡懲項和RSS之間的值,且懲罰項中(λ和c之間是對應的),λ越大(c越小), β j β_j 就越接近零。極端情況下,當λ=0時,那麼嶺迴歸將退化成普通的線性迴歸。相反,如果λ接近無窮大那麼所有的 β j β_j 都接近零。

嶺迴歸估計的特點:

(1) β的最小二乘估計是無偏的,而β的嶺迴歸估計是有偏的。
(2) 對於正交協變數, X X = n I p β ^ R i d g e = n n + λ β ^ L s X'X=nI_p,\hat{β}_{Ridge}=\frac{n}{n+λ}\hat{β}_{Ls}
因此,嶺迴歸估計傾向於把引數壓縮成0,λ 控制著壓縮的程度。
(3) 有效自由度

其中,d是X的奇異值。

對於有效自由度,如果λ=0,我們有p個引數(無懲罰項),即有效自由度為p;如果λ非常大(λ→∞),引數將受很大限制,且有效自由度將變得很小,趨於0.

另一個角度看嶺迴歸的幾何解釋(選學):

(1) 奇異值分解中, X = U D V T X=UDV^T ,其中u是n*p正交矩陣,v是p*p正交矩陣,D是X的奇異值,
( X X 的奇異值為 X T X X^TX 的特徵根的平方值)
D = d i a g ( d 1 , d 2 , . . . , d p ) , d 1 d 2 . . . d p 0 D=diag(d_1,d_2,...,d_p),d_1≥d_2≥...≥d_p≥0

(2) 主成分分解中,協方差矩陣S,
S = E ( ( X E ( X ) ) T ( X E ( X ) ) ) S=E((X-E(X))^T*(X-E(X)))
則對於,已經中心化的輸入X, S = X T X / N S=X^TX/N

結合奇異值分解,我們可得:
X T X = V D U T U D V T = V D 2 V T X^TX=VDU^T *UDV^T =VD^2V^T

(3) 嶺迴歸幾何含義
首先,輸入X要中心化 (目的:去掉常數項 β 0 β_0 );
接下來,考慮相應變數:

其中, u j u_j