註: 這個報告是我在10年7月的時候寫的(博士一年級),最近整理電腦的時候翻到,當時初學一些KDD上的paper的時候總結的,現在拿出來分享一下。
畢竟是初學的時候寫的,有些東西的看法也在變化,看的人可以隨便翻翻,有錯指正我。
重點部分:是第3章和第4章對應的兩篇paper,具體可以在參考文獻裡找到,當時還算比較新。
如引用務必請註明本文出自:http://www.cnblogs.com/xbinworld
1 介紹
在電腦視覺、模式識別、資料採礦很多應用問題中,我們經常會遇到很高維度資料,高維度資料會造成很多問題,例如導致演算法運行效能以及準確性的降低。特徵選取(Feature Selection)技術的目標是找到未經處理資料維度中的一個有用的子集,再運用一些有效演算法,實現資料的聚類、分類以及檢索等任務。
特徵選取的目標是選擇那些在某一特定評價標準下的最重要的特徵子集。這個問題本質上是一個綜合的最佳化問題,具有較高的計算代價。傳統的特徵選取方法往往是獨立計算每一個特徵的某一得分,然後根據得分的高低選取前k個特徵。這種得分一般用來評價某一特徵區分不同聚類的能力。這樣的方法在二分問題中一般有不錯的結果,但是在多類問題中很有可能會失敗。
基於是否知道資料的lebal資訊,特徵提取方法可以分為有監督和無監督的方法。有監督的的特徵提取方法往往通過特徵與label之間的相關性來評估特徵的重要性。但是label的代價是高昂的,很難在大資料集上進行計算。因此無監督的特徵提取方法就顯得尤為重要。無監督的方法只利用資料本身所有的資訊,而無法利用資料label的資訊,因此要得到更好的結果往往更困難。
特徵選取是一個熱門的研究領域,近年來很多相關工作[2][3][4]被提出,使得特徵選取越來越多的受到關注;另外一些關於資料譜分析以及L1正則化模型的研究,也啟發了特徵選取問題一些新的工作的開展。並且,隨著電腦與網路的發展,人們越來越多的關注大規模資料的處理問題,使得研究與應用能夠真正銜接在一起。因此無監督的特徵選取方法的研究顯得更加重要。在本報告中,我們重點關注無監督的特徵提取方法。
2 特徵選取相關工作
特徵選取方法也可以分為封裝(Wrapper)類方法與過濾(Filter)類方法。封裝類型的方法,經常使用到的演算法是聚類。有很多演算法同時考慮資料的特徵提取以及聚類,為了找到一些特徵能夠更好的提高資料聚類的效能。然而封裝類型的演算法往往具有較高的計算代價,因此很難被運用到大規模的資料採礦分析工作中。
過濾類型的方法相對來說比較常見,也很容易得到擴充。最大方差(Maximum Variance)的方法也許是其中最簡單,但也十分有效演算法。該方法本質上是將資料投影到最大方差的方向上。PCA[6]也使用相同的思想,但是它使用轉換了的特徵,而不是未經處理資料特徵的一個子集。
雖然最大方差的標準可以有效找到特徵來表示資料,但是卻不能很好地區分資料。Laplacian Score演算法可以有效提取出那些體現資料潛在流形結構的特徵;Fisher Score演算法可以有效區分資料,它給最有效區分資料點(不同質資料點儘可能的分開,而同一類的資料點儘可能的聚在一起)的特徵賦予最高的分值。
2.1 降維方法
特徵選取演算法和降維演算法有著非常密切的聯絡,很多演算法的設計都來源於一些經典的降維演算法,下面簡單介紹幾種常見的降維演算法(特徵選取本質上也是一種降維)。
Principal Component Analysis[6](PCA)是最常用的線性降維方法,它的目標是通過某種線性投影,將高維的資料對應到低維的空間中表示,並期望在所投影的維度上資料的方差最大,以此使用較少的資料維度,同時保留住較多的原資料點的特性。具體實現步驟如下:
X是矩陣,P表示維度,N表示資料個數。Y是矩陣,d表示降維後的維度,N表示資料個數。
步驟1:先對資料進行中心化預先處理,
步驟2:取共變數矩陣最大的d個特徵值對應的特徵向量作為投影方向W
步驟3:降維後 ,資料由P維降低到d維
將PCA的通過Kernel的方法,也可以運用在非線性降維中,即KPCA[10]。
Laplacian Eigenmaps[8]的直觀思想是希望相互間有關係的點(如在一個圖中相連的點)在降維後的空間中儘可能的靠近。Laplacian Eigenmaps可以反映出資料內在的流形結構。演算法具體實現步驟:
步驟1:構建圖
使用某一種方法來將所有的點構建成一個圖,例如使用KNN演算法,將每個點最近的K個點連上邊。K是一個預先設定的值。
步驟2:確定權重
確定點與點之間的權重大小,例如選用熱核函數來確定,如果點i和點j相連,那麼它們關係的權重設定為:
(1)
另外一種可選的簡化設定是如果點i,j相連,權重為1,否則權重為0。
步驟3:特徵映射
計算拉普拉斯矩陣L的特徵向量與特徵值:
(2)
其中D是對角矩陣,,。
使用最小的m個非零特徵值對應的特徵向量作為降維後的結果輸出。
Locally linear embedding[7](LLE)是一種非線性降維演算法,它能夠使降維後的資料較好地保持原有流形結構。
使用LLE將三維資料對應到二維之後,映射後的資料仍能保持原有的資料流形,說明LLE有效地保持了資料原有的流行結構。
但是LLE在有些情況下也並不適用,如果資料分布在整個封閉的球面上,LLE則不能將它映射到二維空間,且不能保持原有的資料流形。那麼我們在處理資料中,首先假設資料不是分布在閉合的球面或者橢球面上。
LLE演算法認為每一個資料點都可以由其近鄰點的線性加權組合構造得到。演算法的主要步驟分為三步:(1)尋找每個樣本點的k個近鄰點;(2)由每個樣本點的近鄰點計算出該樣本點的局部重建權值矩陣;(3)由該樣本點的局部重建權值矩陣和其近鄰點計算出該樣本點的輸出值。具體的演算法流程如下:
步驟1:
演算法的第一步是計算出每個樣本點的k個近鄰點。例如採用KNN的策略,把相對於所求樣本點距離(常用歐氏距離)最近的k個樣本點規定為所求樣本點的 個近鄰點,k是一個預先給定值。
步驟2:
計算出樣本點的局部重建權值矩陣W,首先定義重構誤差:
(3)
以及局部共變數矩陣C:
(4)
其中表示一個特定的點,它的的K個近鄰點用表示。
於是,目標函數最小化:
(5)
其中,得到:
(6)
步驟3:
將所有的樣本點映射到低維空間中。映射條件滿足如下所示:
(7)
限制條件:,,上式可以轉化為:
(8)
其中:
要使損失函數值達到最小, 則取Y為M的最小m個非零特徵值所對應的特徵向量。在處理過程中,將M的特徵值從小到大排列,第一個特徵值幾乎接近於零,那麼捨去第一個特徵值。通常取第2到m+1間的特徵值所對應的特徵向量作為輸出結果。
本文接下來重點介紹無監督多聚類特徵選取[5](第3章)和無監督特徵選取PCA[1](第4章)兩個新提出的特徵選取演算法。
3 無監督多聚類特徵選取
特徵選取的一般問題是不考慮資料本身的結構的,而事實上很多資料本身具有多聚類結構特徵,一個好的特徵選取方法應該考慮到下面兩點:
l 所選取的特徵應該可以最好地保持資料的聚類結構特徵。最近一些研究表明一些人為產生的資料存在著內在的資料流行結構,這個因素應該被考慮在聚類演算法中。
l 所選取的特徵應該可以覆蓋資料中所有可能的聚類。因為不同的特徵維度在區分不同的聚類時具有不同的效果,所以如果選取的特徵僅僅可以區分某一些聚類而不能區分所有的聚類是不合適的。
3.1 譜嵌入群集
在第2章中討論過Laplacian Eigenmaps,假設,是公式(2)的特徵向量。Y的每一行是一個資料點的降維表示。其中K是資料的內在維度,每一個體現資料在該維度(可以理解成一個主題,或者是一個概念)上的資料分布。當使用群集時,每一個可以體現資料在這一個聚類上的分布。因此K往往可以設定成資料聚類的個數。
3.2 學習稀疏係數
在得到Y之後,我們可以衡量每一個內在維度重要性,也就是Y的每一列,同時可以衡量每一個特徵區分資料聚類的能力。
給定一個,通過最小化擬合錯誤,可以找到一個相關的特徵子集,如下:
(9)
其中是一個M維度向量(X是N*M維矩陣),表示L1-norm。包含了用來近似時每一個特徵的係數。由於L1-norm的性質,當足夠大時,的某些係數將會變為0。因此,我們可以選取一些最相關的特徵子集。公式(9)本質上是一個迴歸問題,稱作LASSO。
3.3 特徵選取
我們需要從M個特徵的資料中選取d個特徵。對於一個含有K個聚類的資料來說,我們可以用上面提到的方法來計算出K個係數的係數向量,每一個的非零元素個數為d(對應d個特徵)。顯然,如果把所有選取的特徵都用上,很有可能會大於d個特徵。於是,使用下面這種簡單的策略來選取出d個特徵。
定義每一個特徵的MCFS score,如下
(10)
將所有的特徵根據他們MCFS score降序排列,選取前d個特徵。
3.3 計算複雜度分析
演算法的計算複雜度從下面幾點分析:
l P-近鄰圖需要步來構建,同時需要步來找到找到每一個點的p個近鄰
l 在構建好p-近鄰圖的基礎上,需要計算公式(2)的前k個特徵向量,利用Lanczos algorithm需要時間
l 使用LARs來解公式(9),限制是,需要時間,因此我們需要的時間來計算K聚類的問題
l 前d個特徵選取需要的時間
考慮,以及p固定為一個常數5,MCFS演算法的總的複雜度是。
4 無監督特徵選取PCA
PCA是一種重要的線性降維演算法,廣泛運用在社會、經濟、生物等各種資料上。在第2章中簡單討論過PCA,這裡我們從另外一種角度來描述PCA。
4.1 子空間選取
給定一個資料矩陣,m為資料個數,n為資料維度。令是資料降維後的維度(特徵數),並假設A的列經過中心化。於是,PCA返回的是矩陣A的前k個left singular vectors(一個的矩陣)並且將資料投影到列向量所在的子空間中。
令為子空間的投影矩陣,於是最佳投影實際上是在所有可能的K維子空間中,最小化:
(11)
我們希望找到一種高效的(關於m和n多項式時間內)無監督的特徵選取演算法,能夠挑選出k個特徵,使得PCA只作用在這k個特徵上的結果和作用全部特徵上的結果很接近。為了定義這個接近程度,令C是一個矩陣,只包含有從A中選取出來的特徵。通過計算下面的差,來衡量特徵選取的好壞:
(12)
這裡代表投影矩陣(投影到的列空間張成的K維空間中),表示矩陣的偽逆。這等價於Column Subset Selection Problem(CSSP)問題。
在現代統計資料分析中,從高維資料中選取出原始的特徵(feature selection)比選取出經過操作後的特徵(feature extraction)在很多等方面都更有優勢。
4.1 兩階段CSSP
在這一節中,介紹一種兩階段的CSSP。具體步驟如下:
演算法1:
Input: 矩陣A,整數k
Output:矩陣C,包含A中的k列
1. 起始設定
l 計算A的前k個right singular vectors,表示成
l 計算採樣機率對每一個j
l 令
2. 隨機階段
l 對於,,第j列的機率為,放縮因子是
l 產生採樣矩陣,放縮矩陣
3. 確定階段
l 選取矩陣的k列,產生採樣矩陣
l 返回A的k列,也就是返回
4. 重複第2步和第3步40次,返回使得最小的列
具體來看,演算法1先要計算A每一列的機率,,機率分布依賴於A的前k個right singular vectors ,寫成:
(13)
由上式可以知道,只要得到就可以算出,而本演算法的時間複雜度主要取決於計算所有的所花費的時間。
在隨機階段,演算法1隨機地選擇中的列,作為下一階段的輸入。對於,,第j列的機率為。如果第j列被選擇,則放縮因子等於。因此在這個階段的末尾,我們將得到中的列,以及它們相應的放縮因子。因為隨機採樣,一般會不等於c;然而很大機率下,不會比c大很多。為了當便表示選出的列和放縮因子,我們使用下面的形式:
首先定義一個的採樣矩陣,初始值為空白值,當第j列被選中時就將加到中。然後定義對角放縮矩陣,當第j列被選取時,的第j個對角元素是。因此,隨機階段的輸出結果就是。
在確定階段,從上一個階段挑選出來的列中選取k列,實際上就是定義了一個採樣矩陣,在這個階段之後,就得到了矩陣作為最後的結果。
6 參考文獻
[1] Boutsidis, C., Mahoney, M. W., Drineas, P. Unsupervised feature selection for principal components analysis. In Proceeding of the 14th ACM SIGKDDinternational conference on Knowledge discovery and data mining, 2008, 61-69.
[2] Yu, L., Ding, C., Loscalzo, S. Stable feature selection via dense feature groups. In Proceeding of the 14th ACM SIGKDDinternational conference on Knowledge discovery and data mining, 2008, 803-811.
[3] Forman, G., Scholz, M., Rajaram, S. Feature shaping for linear SVM classifiers. In Proceedings of the 15th ACM SIGKDDinternational conference on Knowledge discovery and data mining, 2009, 299-308.
[4] Loscalzo, S., Yu, L., Ding, C. Consensus group stable feature selection. In Proceedings of the 15th ACM SIGKDDinternational conference on Knowledge discovery and data mining, 2009, 567-576.
[5] D,Cai, C,Zhang,X,He. Unsupervised Feature Selection for Multi-Cluster Data.To be appeared in SIGKDD2010.
[6] Smith, L. I. A tutorial on principal components analysis. Cornell University, USA. 2002, 51,52.
[7] Roweis, S. T., Saul, L. K. Nonlinear dimensionality reduction by locally linear embedding. Science. 2000, 290(5500):2323.
[8] Belkin, M., Niyogi, P. Laplacian eigenmaps and spectral techniques for embedding and clustering. Advances in neural information processing systems. 2002, 1585-592.
[9] Tenenbaum, J. B., Silva, V., Langford, J. C. A global geometric framework for nonlinear dimensionality reduction. Science. 2000, 290(5500):2319.
[10] Scholkopf, B., Smola, A. J., Muller, K. R. Kernel principal component analysis. Lecture notes in computer science. 1997, 1327583-588.