基于正则化的特征选择
1、特征選擇簡述
降維,有時也可稱為子空間學習,可以大致分為特征選擇(feature selection)和特征提取(feature extraction)兩大類,我們常說的主成分分析(PCA)、線性判別分析(LDA)、流形學習的代表—-局部線性嵌入(LLE)等,都是屬于后者。特征提取,通常是將原始數據投影到一個新的空間,對于線性方法,就是學習一個投影矩陣W,使得投影后的數據最具有代表性信息(如PCA),或者最具有區分性信息(如LDA)。從特征的數值來看,特征提取會改變原始數值,相當于生成了新的通常來說是更好的特征。在一些實際應用中,比如生物醫學中的基因分析,需要找到某一種疾病跟哪些基因有關系(通常只跟個別或少數幾個基因有較大關聯),或者在文本挖掘中,需要找到一些關鍵的字詞,這個時候,我們就不能改變原始的特征數值,因此傳統的特征提取不能直接派上用場。有需求,就有市場,特征選擇的提出,正式為了解決這一類問題。通過設計一些準則,特征選擇算法可以挑出原始特征中比較有用的特征子集,而不會改變原始特征數值。下面給個圖直觀看一下兩者的區別。
圖1.1 將一個6維的向量,降到三維,特征提取相當于新生成了三個特征,而特征選擇是從原始特征中選出三個,在特征的數值上并無改變。這里僅作為一個示意,圖中均為隨機取值。
現有的特征選擇算法,從不同的角度,可以分為不同的類型。按數據標簽的獲取情況,可以分為有監督、半監督和無監督特征選擇;按是否需要額外的學習算法參與特征選擇過程,以及具體的參與方式,可以分為封裝型(wrapper)、嵌入式(embedded)和過濾型(filter)。再細致一些,可以分為基于信息論的特征選擇、基于統計的特征選擇、基于相似性的特征選擇、基于稀疏學習的特征選擇,等等。
上述提及的第一種分類方式,是機器學習中最為常見的,對于有監督/半監督方法利用標簽的形式,有直接通過回歸項引入標簽信息,也有間接通過圖來引入標簽信息(即在構建圖的過程中引入)。第二種分類方式,個人感覺在近年來,對某些方法的歸屬類別,不同學者開始出現一些分歧,原因可能跟近年來引起眾多研究者關注的正則化技術有關,使得原本的界線劃分變得比較模糊,不過也正說明,這種分類方式本身就沒有一個很嚴格的定義,只是概念上的大致區分。最后提到的分類方式,是根據特征選擇算法具體用到的準則/技術來劃分,所以一種算法同時分屬不同的類別也是可能的,我個人更樂意把這里所謂的類別名,稱為某一算法的組成成分。在此篇博客中,我們主要關注基于正則化(regularization)的特征選擇。
2、基于正則化的特征選擇算法概覽
先給出一些范數(norm)的定義和記法。向量v∈Rnv∈Rn的?p?p-norm是∥v∥p=(∑ni=1|vi|p)1p‖v‖p=(∑i=1n|vi|p)1p(p≠0p≠0),?0?0-norm是∥v∥0=∑ni=1|vi|0‖v‖0=∑i=1n|vi|0(即?0?0-norm是向量vv中非零元素的個數)。矩陣W∈Rd×mW∈Rd×m的?r,p?r,p-norm定義為∥W∥r,p=(∑di=1(∑mj=1|wij|r)pr)1p‖W‖r,p=(∑i=1d(∑j=1m|wij|r)pr)1p(r≠0,p≠0r≠0,p≠0),其中?2,2?2,2-norm通常被稱作F范數(Frobenius norm),?2,0?2,0-norm定義為∥W∥2,0=∑di=1∥∑mj=1w2ij∥0‖W‖2,0=∑i=1d‖∑j=1mwij2‖0。值得注意的是,這里?0?0-norm和?2,0?2,0-norm并不是真正有效的范數定義,因為它們不滿足范數的齊次性:對常數λλ,有∥λv∥0=|λ|∥v∥0‖λv‖0=|λ|‖v‖0,∥λW∥2,0=|λ|∥W∥2,0‖λW‖2,0=|λ|‖W‖2,0。只不過為了表述的一致,這里仍用范數這一概念。
先入為主,來個總結強調:向量的?0?0-norm是向量中非零元素的個數,矩陣的?2,0?2,0-norm是矩陣的非零行的個數。特征選擇任務直接引入這兩個范數作為約束,好處是物理意義明確,我需要降到多少維(即選擇多少特征),我就讓非零元或非零行的個數為對應數值,這是個整數值,所以也方便調參,缺點是這兩個范數會使目標式非凸,不利于優化求解。所以早期的算法中,通常是將這兩個范數分別用?1?1-norm和?2,1?2,1-norm替代,一般作為正則項 引入,此兩者雖然不具備特別明確的物理意義,但也具備使向量中的元素、矩陣中的行收縮(shrink)到0的功效,而且它們是凸的,便于優化求解。順便提一句,?1?1-norm也被稱作Lasso,?2?2-norm也被稱作ridge回歸,?1?1-norm和?2,1?2,1-norm通常被用來獲得魯棒性或稀疏性。
下面旨在通過各目標函數,回顧各基于正則化的特征選擇算法的主要思想,不涉及具體求解及優化細節,每小類僅選取4個代表方法,如前所述,這里的小類 可看作是算法的組成成分,所以一個算法可以同時屬于多個小類,但本文中每個算法只在一個類中介紹。
2.1 基于回歸
2.1.1 Lasso (1996)
Lasso 由Tibshirani于1996年提出,是一個帶?1?1-norm懲罰的回歸問題,公式化表述如下:
其中,β=[β1,…,βd]T∈Rdβ=[β1,…,βd]T∈Rd是回歸系數,求解上式等價于最小化第一項回歸項,并帶有這樣一個約束:∑di=1|βi|≤?∑i=1d|βi|≤?, (?>0?>0)。前已述及,?1?1-norm會使得向量ββ中的部分元素(λλ越大,為0/趨于0的元素越多)近似為0,我們可以將ββ中的元素的絕對值按從大到小的順序排序,假如我們有6個特征,回歸系數排完后是這樣的:|β3|>|β4|>|β1|>|β2|>|β5|>|β6||β3|>|β4|>|β1|>|β2|>|β5|>|β6|,回歸系數絕對值越大,說明對應的特征越重要,所以,如果需要選擇3個特征,自然就是第1、3、4號特征。
2.1.2 RFS (NIPS 2010)
RFS是一個有監督的特征選擇方法,其目標函數為:
由于回歸項采用了?2,1?2,1-norm,所以RFS具有魯棒特性,對回歸系數矩陣W施加?2,1?2,1-norm懲罰,使得W的部分行趨于零行,我們可以計算每一行的?2?2-norm值,然后對這些值由大到小進行排序,選擇?2?2-norm值較大的行對應的特征。
2.1.3 ?2,0?2,0-norm ALM (IJCAI 2013)
2.1.4 FSDL (AAAI 2014)
2.2 基于數據重構
2.2.1 CPFS (ICDM 2010)
2.2.2 RSR (PR 2015)
2.2.3 EUFS (AAAI 2015)
2.2.4 GRFS (TKDE 2015)
這個模型其實存在trivial solution。
2.3 基于偽標簽
2.3.1 JELSR (IJCAI 2011)
2.3.2 RUFS (IJCAI 2013)
2.3.3 RSFS (ICDM 2014)
2.3.4 AUFS (IJCNN 2015)
2.4 基于結構保持
2.4.1 LDFS (ICDM 2010)
2.4.2 FSSL (IJCAI 2011)
2.4.3 UDFS (IJCAI 2011)
2.4.4 SOGFS (AAAI 2016)
3、特征選擇相關資源
1. scikit-feature feature selection repository
2. Robust feature selection:gene expression data.rar
————————————————
版權聲明:本文為CSDN博主「Bear_Kai」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Bear_Kai/article/details/71423262
總結
以上是生活随笔為你收集整理的基于正则化的特征选择的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用xgb筛选模型变量
- 下一篇: 【采用】信用风险评分卡系列之数据处理