降維可以增強模型的可解釋性,特徵選擇則是常用的降維方法。隨著大規模資料集變得流行,近年來在包括文字分類、從基因微陣列資料中選擇基因以及人臉識別等現實任務見證了特徵選擇的廣泛使用。我們研究了監督性特徵選擇的問題,監督特徵選擇需要尋找一個特徵子集來較好地解釋輸出結果。這個方法可以透過消除冗餘或者噪聲特徵來降低下行學習(downstream learning)中的計算成本,同時還能透過保留下來的特徵來提供對資料的洞見。
特徵選擇演算法通常可以分為三個主要的類別:濾波器(filter)方法,封裝(wrapper)方法,以及嵌入(embedded)方法。濾波器方法選擇基於資料本質屬性的特徵,它與所用的學習演算法無關。例如,我們可以計算每個特徵和響應變數之間的相關性,然後選擇相關性最高的變數。相比之下,封裝方法就更加具體,它的目標是尋找能夠使某個預測器的效能最最佳化的特徵。例如,我們可以訓練多分類的支援向量機。每個支援向量機不同特徵子集,然後選擇在訓練資料上損失最小的子特徵集。因為特徵子集的數量是指數規模的,所以封裝方法通常會使用貪心演算法。最後,嵌入方法是將特徵選擇和預測結合成一個問題的多目標技術,它通常會最佳化一個目標函式,這個目標函式結合了擬合度和對引數數量的懲罰。一個例子就是構建線性模型的 LASSO 方法,它用ℓ1 penalty 來表徵對引數數目的懲罰。
在這篇文章中,我們提出了條件協方差最小化(CCM)方法,這是一個統一前兩個觀點的特徵選擇方法。在以下部分中,我們首先描述了我們的方法。然後我們通過幾個綜合實驗證明我們的方法能夠捕獲大量特徵時間的聯合非線性關係。最後,我們在一系列現實任務中證明,我們的演算法具有和其他幾種特徵選擇演算法相當或者優於它們的效能。
特徵選擇的公示表達
理解特徵選擇問題的一種方式就是從依賴的角度來看。理想情況下,我們希望從一個大小為 m 的特徵 T 中選擇子特徵集,這樣的話剩下的特徵在給定 T 的響應的情況下都是獨立的。然而,當 m 太小的時候這可能是無法實現的。所以我們使用一些度量來量化對保留條件依賴的擴充套件,並且在所有的合適大小的子特徵集上最佳化這個指標。
或者,我們希望找到一個 T 的子特徵集,它能夠在某特定的學習問題上最有效預測輸出 Y。在我們的框架中,將樣本標籤和預測器在所選特徵上的預測結果之間的均方差定義為預測錯誤。
我們的方法
我們提出了一個可以在迴歸中同時描述依賴性和預測誤差的標準。首先,我們分別概括地介紹一下在特徵子集域 XT 的域和響應變數 Y 的域上的兩個函式空間。每個函式空間都是一個完全的內積空間(希爾伯特空間),這個函式空間有可以將整個空間進行延展的核函式,同時這個函式空間也具有「再生」屬性。這樣的一個函式空間就被稱作「再生核希爾伯特空間,*Reproducing Kernel Hilbert Space* (RKHS)」。然後,在給定所選特徵我們為 RKHS 定義了一個運算元,用它來描述給定選定特徵的輸入資料上的響應變數的條件依賴。這個運算元叫做「條件協方差運算元,*conditional covariance operator*」。我們用對應的經驗分佈計算得到的條件協方差運算元的跡來作為我們的最佳化標準,這也是在最佳的預測器在給定的輸入資料域中的 RHHS 上的估計迴歸誤差。在特徵子集上直接最小化這個標準是很難計算的。相反,我們使用一個介於 0 和 1 之間的實數來對每個特徵進行加權,透過這個方式將其表達為一個不嚴格的問題。這個不嚴格的問題的目標可以用核矩陣來表徵,而且可以很容易地使用基於梯度的方法進行最佳化。
我們分別在合成數據集和現實資料集上測評了我們的方法。我們與現存在幾個強大的演算法做了比較,包括遞迴式特徵消除(RFE),最小冗餘最大關聯 (mRMR),BAHSIC,以及使用互資訊(MI)的濾波器方法和皮爾遜相關係數(PC)。RFE 是一個很流行的封裝方法,它基於從分類器收到的得分來貪婪地選擇特徵。mRMR 選擇的特徵能夠捕獲彼此不同的資訊,但是每一個都與響應變數很好地相關。BAHSIC 是一個核方法,它貪婪地最佳化所選特徵和響應變數之間的依賴。最後,濾波器方法使用互資訊(MI)或者皮爾遜相關係數(PC)來分別貪婪地最佳化所選子特徵集和響應之間的指標。
合成數據
我們使用以下的合成數據集
成批。當 Y=-1 時,10 個特徵 (X1,…,X10) 是相互獨立的標準隨機變數。當 Y=1 的時候,前 4 個特徵是標準隨機變數,它們服從滿足以下條件:
剩下的 6 個特徵 (X5,…,X10) 也是獨立的標準隨機變數。
三維疑惑或者四分類。三維立方體有 8 個頂點,
透過元組 (v1v3,v2v3) 對它們進行分組,就得到了 4 個它們與各自的反面組成的成對向量
對類別而言,a 樣本可以透過選擇下面的 v(i) 或者-v(i) 來生成。
以等機率的方式加入噪聲。每個樣本就額外增加 7 個隨機標準噪聲特徵,得到的特徵集總共有 10 個特徵。
每個樣本有 6 個噪聲特徵,總共 10 個特徵。所有的特徵和噪聲 ε都是從標準正態分佈中生成的。
左:二維橙皮資料;右:二維亦或
第一個資料集代表一個標準的非線性二分類任務。第二個資料集是一個多分類的特徵集,其中每個特徵都是和 Y 獨立的,但是三個特徵聯合起來會對 Y 產生影響。第三個資料集針對非線性迴歸中的可加模型。
每個資料集的特徵維度 d=10,但是隻有 m=3 或者 4 是真實特徵。因為這些真實特徵已經是已知的了,所以我們可以透過計算每種特徵選擇演算法給實際特徵賦予的中值等級來評價對應演算法的效能,較低的中值等級意味著較好的效能。
上圖展示了模擬資料集上真實特徵的中值等級隨著樣本量的變化。中值等級越低,效能越好。點畫線代表最優的中值等級。
在二分類和四分類任務中,我們的方法都比其他的演算法有著更優的效能,我們的方法在 50 個樣本以內就能夠鑑別出真實特徵,而其他的方法需要接近 100 個樣本或者最終不會成功收斂。在可加非線性模型中,幾個演算法的效能都比較好,我們的演算法在所有的樣本容量中都是最佳的。
現實資料集
現在我們將注意力轉移到現實任務中,使用支援向量機分類器,研究我們的方法和其他幾種非線性方法(mRMR, BAHSIC, MI)的效能。我們在 ASU 特徵選擇網站和 UCI 倉庫中的 12 個標準基準任務上進行了實驗。下表是對我們所用資料集的總結。
資料集來自於好幾個領域,包括基因資料、影象資料、聲音資料,而且高維度和低維度的都有。
對於每一個任務,我們執行每個需要在所有特徵上測試效能的演算法。然後基於這些演算法的選擇的前 m 個特徵結果來訓練核 SVM,計算最終的準確率。下圖所示是我們的結果。
上圖展示了現實基準任務中準確率(y 軸)隨所選特徵數目(x 軸)的變化。準確率越高,效能越好。
與其他三種流行的非線性特徵選擇方法相比,我們的方法在大多數例子中都是最強大的,有時候會有特別大的差距,例如在 TOX-171 任務中。儘管我們的方法偶爾在開始時(所選特徵數目比較小)效能會不太好,但最終還是會跟其他演算法的效能持平或超越它們(glass 任務除外)。
結論
在這篇文章中,我們提出了條件協方差最小化(CCM)方法,這個方法基於最小化條件協方差運算元的跡來進行特徵選擇。這個方法的思想是選擇能夠最大化解釋基於協變數響應依賴的特徵。我們透過將很難處理的離散協變數響應依賴鬆弛化為一個不嚴格問題來完成這個演算法,處理之後這個問題就變成了一個連續的、適合用基於梯度的方法進行最佳化的問題。我們在多個合成數據集合現實資料集上進行實驗,證明了我們的方法的有效性,發現我們的方法通常會優於目前最先進的演算法,包括另一個基於希爾伯特施密特(Hilbert-Schmidt)依賴標準的核特徵選擇方法。
更多資訊
關於演算法的更多資訊,請參考一下連結中的內容:
我們的論文(https://papers.nips.cc/paper/7270-kernel-feature-selection-via-conditional-covariance-minimization)
我們程式碼(https://github.com/Jianbo-Lab/CCM)
降維可以增強模型的可解釋性,特徵選擇則是常用的降維方法。隨著大規模資料集變得流行,近年來在包括文字分類、從基因微陣列資料中選擇基因以及人臉識別等現實任務見證了特徵選擇的廣泛使用。我們研究了監督性特徵選擇的問題,監督特徵選擇需要尋找一個特徵子集來較好地解釋輸出結果。這個方法可以透過消除冗餘或者噪聲特徵來降低下行學習(downstream learning)中的計算成本,同時還能透過保留下來的特徵來提供對資料的洞見。
特徵選擇演算法通常可以分為三個主要的類別:濾波器(filter)方法,封裝(wrapper)方法,以及嵌入(embedded)方法。濾波器方法選擇基於資料本質屬性的特徵,它與所用的學習演算法無關。例如,我們可以計算每個特徵和響應變數之間的相關性,然後選擇相關性最高的變數。相比之下,封裝方法就更加具體,它的目標是尋找能夠使某個預測器的效能最最佳化的特徵。例如,我們可以訓練多分類的支援向量機。每個支援向量機不同特徵子集,然後選擇在訓練資料上損失最小的子特徵集。因為特徵子集的數量是指數規模的,所以封裝方法通常會使用貪心演算法。最後,嵌入方法是將特徵選擇和預測結合成一個問題的多目標技術,它通常會最佳化一個目標函式,這個目標函式結合了擬合度和對引數數量的懲罰。一個例子就是構建線性模型的 LASSO 方法,它用ℓ1 penalty 來表徵對引數數目的懲罰。
在這篇文章中,我們提出了條件協方差最小化(CCM)方法,這是一個統一前兩個觀點的特徵選擇方法。在以下部分中,我們首先描述了我們的方法。然後我們通過幾個綜合實驗證明我們的方法能夠捕獲大量特徵時間的聯合非線性關係。最後,我們在一系列現實任務中證明,我們的演算法具有和其他幾種特徵選擇演算法相當或者優於它們的效能。
特徵選擇的公示表達
理解特徵選擇問題的一種方式就是從依賴的角度來看。理想情況下,我們希望從一個大小為 m 的特徵 T 中選擇子特徵集,這樣的話剩下的特徵在給定 T 的響應的情況下都是獨立的。然而,當 m 太小的時候這可能是無法實現的。所以我們使用一些度量來量化對保留條件依賴的擴充套件,並且在所有的合適大小的子特徵集上最佳化這個指標。
或者,我們希望找到一個 T 的子特徵集,它能夠在某特定的學習問題上最有效預測輸出 Y。在我們的框架中,將樣本標籤和預測器在所選特徵上的預測結果之間的均方差定義為預測錯誤。
我們的方法
我們提出了一個可以在迴歸中同時描述依賴性和預測誤差的標準。首先,我們分別概括地介紹一下在特徵子集域 XT 的域和響應變數 Y 的域上的兩個函式空間。每個函式空間都是一個完全的內積空間(希爾伯特空間),這個函式空間有可以將整個空間進行延展的核函式,同時這個函式空間也具有「再生」屬性。這樣的一個函式空間就被稱作「再生核希爾伯特空間,*Reproducing Kernel Hilbert Space* (RKHS)」。然後,在給定所選特徵我們為 RKHS 定義了一個運算元,用它來描述給定選定特徵的輸入資料上的響應變數的條件依賴。這個運算元叫做「條件協方差運算元,*conditional covariance operator*」。我們用對應的經驗分佈計算得到的條件協方差運算元的跡來作為我們的最佳化標準,這也是在最佳的預測器在給定的輸入資料域中的 RHHS 上的估計迴歸誤差。在特徵子集上直接最小化這個標準是很難計算的。相反,我們使用一個介於 0 和 1 之間的實數來對每個特徵進行加權,透過這個方式將其表達為一個不嚴格的問題。這個不嚴格的問題的目標可以用核矩陣來表徵,而且可以很容易地使用基於梯度的方法進行最佳化。
結果我們分別在合成數據集和現實資料集上測評了我們的方法。我們與現存在幾個強大的演算法做了比較,包括遞迴式特徵消除(RFE),最小冗餘最大關聯 (mRMR),BAHSIC,以及使用互資訊(MI)的濾波器方法和皮爾遜相關係數(PC)。RFE 是一個很流行的封裝方法,它基於從分類器收到的得分來貪婪地選擇特徵。mRMR 選擇的特徵能夠捕獲彼此不同的資訊,但是每一個都與響應變數很好地相關。BAHSIC 是一個核方法,它貪婪地最佳化所選特徵和響應變數之間的依賴。最後,濾波器方法使用互資訊(MI)或者皮爾遜相關係數(PC)來分別貪婪地最佳化所選子特徵集和響應之間的指標。
合成數據
我們使用以下的合成數據集
成批。當 Y=-1 時,10 個特徵 (X1,…,X10) 是相互獨立的標準隨機變數。當 Y=1 的時候,前 4 個特徵是標準隨機變數,它們服從滿足以下條件:
剩下的 6 個特徵 (X5,…,X10) 也是獨立的標準隨機變數。
三維疑惑或者四分類。三維立方體有 8 個頂點,
透過元組 (v1v3,v2v3) 對它們進行分組,就得到了 4 個它們與各自的反面組成的成對向量
對類別而言,a 樣本可以透過選擇下面的 v(i) 或者-v(i) 來生成。
以等機率的方式加入噪聲。每個樣本就額外增加 7 個隨機標準噪聲特徵,得到的特徵集總共有 10 個特徵。
可加的非線性迴歸。考慮以下的可加模型:每個樣本有 6 個噪聲特徵,總共 10 個特徵。所有的特徵和噪聲 ε都是從標準正態分佈中生成的。
左:二維橙皮資料;右:二維亦或
第一個資料集代表一個標準的非線性二分類任務。第二個資料集是一個多分類的特徵集,其中每個特徵都是和 Y 獨立的,但是三個特徵聯合起來會對 Y 產生影響。第三個資料集針對非線性迴歸中的可加模型。
每個資料集的特徵維度 d=10,但是隻有 m=3 或者 4 是真實特徵。因為這些真實特徵已經是已知的了,所以我們可以透過計算每種特徵選擇演算法給實際特徵賦予的中值等級來評價對應演算法的效能,較低的中值等級意味著較好的效能。
上圖展示了模擬資料集上真實特徵的中值等級隨著樣本量的變化。中值等級越低,效能越好。點畫線代表最優的中值等級。
在二分類和四分類任務中,我們的方法都比其他的演算法有著更優的效能,我們的方法在 50 個樣本以內就能夠鑑別出真實特徵,而其他的方法需要接近 100 個樣本或者最終不會成功收斂。在可加非線性模型中,幾個演算法的效能都比較好,我們的演算法在所有的樣本容量中都是最佳的。
現實資料集
現在我們將注意力轉移到現實任務中,使用支援向量機分類器,研究我們的方法和其他幾種非線性方法(mRMR, BAHSIC, MI)的效能。我們在 ASU 特徵選擇網站和 UCI 倉庫中的 12 個標準基準任務上進行了實驗。下表是對我們所用資料集的總結。
資料集來自於好幾個領域,包括基因資料、影象資料、聲音資料,而且高維度和低維度的都有。
對於每一個任務,我們執行每個需要在所有特徵上測試效能的演算法。然後基於這些演算法的選擇的前 m 個特徵結果來訓練核 SVM,計算最終的準確率。下圖所示是我們的結果。
上圖展示了現實基準任務中準確率(y 軸)隨所選特徵數目(x 軸)的變化。準確率越高,效能越好。
與其他三種流行的非線性特徵選擇方法相比,我們的方法在大多數例子中都是最強大的,有時候會有特別大的差距,例如在 TOX-171 任務中。儘管我們的方法偶爾在開始時(所選特徵數目比較小)效能會不太好,但最終還是會跟其他演算法的效能持平或超越它們(glass 任務除外)。
結論
在這篇文章中,我們提出了條件協方差最小化(CCM)方法,這個方法基於最小化條件協方差運算元的跡來進行特徵選擇。這個方法的思想是選擇能夠最大化解釋基於協變數響應依賴的特徵。我們透過將很難處理的離散協變數響應依賴鬆弛化為一個不嚴格問題來完成這個演算法,處理之後這個問題就變成了一個連續的、適合用基於梯度的方法進行最佳化的問題。我們在多個合成數據集合現實資料集上進行實驗,證明了我們的方法的有效性,發現我們的方法通常會優於目前最先進的演算法,包括另一個基於希爾伯特施密特(Hilbert-Schmidt)依賴標準的核特徵選擇方法。
更多資訊
關於演算法的更多資訊,請參考一下連結中的內容:
我們的論文(https://papers.nips.cc/paper/7270-kernel-feature-selection-via-conditional-covariance-minimization)
我們程式碼(https://github.com/Jianbo-Lab/CCM)