羅曉牧 崔曼曼

摘 要:在數據挖掘競賽中,特征選擇是最重要的環節之一,直接影響最終的比賽結果。本文通過對特征選擇的一般方法作比較,歸納和總結,旨在激發學生興趣,進一步掌握機器學習一般流程的方法,提高競賽成績。
關鍵詞:機器學習;數據競賽;特征選擇
DOI:10.12249/j.issn.1005-4669.2020.27.247
基金項目:廣州中醫藥大學校級教學改革項目(A3-0433-181-427-039),廣州中醫藥大學校級混合式教學模式改革項目《機器學習導論之混合式教學》(校內編號:2020-70-17);廣州中醫藥大學“專創融合”課程建設項目《機器學習導論“專創融合”課程建設》(校內編號:2020-53-11)
在數據挖掘競賽中,特征選擇是從大量的特征中選出合適數量的特征的一個流程。“數據和特征決定了機器學習的上限,而模型和算法只是逼近這個上限而已“[1],由此可見其重要性。特征選擇有相當多優點,同時也存在適用于特征選擇流程的若干技術。目前很多流行的機器學習材料,都未能給出特征工程和特征選擇的詳細論述。其主要原因是大部分機器學習算法有標準的推導過程,因而易于講解。但是在很多實際問題中,尋找和篩選特征變量并沒有普適的方法。然而,特征工程和特征選擇對于分析結果的影響,往往比之后的機器學習模型的選擇更為重要。
本文將探討比較不同特征選擇技術的不同特點,提高教學效果。通過特征選擇,可以提高機器學習系統的效率,例如:提高精度、使模型容易解析、縮短訓練時間、減少過擬合、增加泛化能力、容易軟件實現、減少模型錯誤所帶來的風險、減少變量的冗余,減少高維空間的錯誤學習行為等。特征選擇主要包括三大類方法,即過濾法(Filter)、包裝法(Wrapper)和嵌入法(Embedded)[2]。本文著重研究過濾法,由淺入深,激發學生的研究興趣。
1 最基本方法
最基本的方法,就是去除恒定的和準恒定(Quasi-constant)的特征。恒定的特征就是那些在所有的觀測變量中幾乎不變的變量,這樣的特征對于提高機器學習模型的性能幾乎沒有幫助。這是特征選擇中最容易的一步,我們可以計算變量的方差,然后設定閾值去識別恒定的特征,即方差為零的變量。去除準恒定特征也是類似的方法,只是閾值的設置需要仔細思考。
2 卡方檢測和方差檢驗
卡方檢測可以用于處理分類任務中的類別變量,是檢驗類別型變量對類別型變量的相關性。卡方檢測不管特征的類別,可以用于比較目標變量Y在不同特征中的分布。然而,對于數值型的特征變量,我們需要使用方差檢驗(ANOVA)計算不同特征和目標之間的F值【】。方差檢驗衡量的是我們根據目標值將不同的數值特征歸為一類時,每一類特征是否有顯著的變化。這種方法是基于F檢驗,估計兩個隨機變量的線性相關程度。這種方法假設特征與目標之間是線性關系的,同時假設變量服從高斯分布。
3 基于信息增益的方法
信息增益,或者叫信息熵,衡量的是特征對于最終目標的正確預測所提供的信息。互信息衡量X和Y兩個變量所共有的信息:在已知其中一個變量的情況下,對于減少其他變量不確定性的程度。例如,兩個變量X和Y是相互獨立的,那么知道X不會給出關于Y的任何信息,那他們的互信息為零。相反,如果X是Y的確定性函數,Y也是X的確定性函數,那么知道X就能確定Y,反之亦然。在這種情況下,互信息和僅僅知道X或Y的熵是一致的。兩個變量之間的互信息是非負的,可以用根據k個最近鄰域的基于熵估計的非參數方法得出互信息,用于單個變量的特征選擇。
4 相關矩陣的熱力圖
相關關系衡量的是2個或多個變量之間的線性關系。假設線性相關,我們可以通過其余的特征得出某個特征。好的特征與目標變量高度相關,相關的特征變量則提供了冗余的信息。所以,特征變量應該與目標相關,而彼此之間無關。我們可以使用皮爾遜相關系數確定兩個變量之間的相關性。皮爾森相關系數是一種最簡單的,能幫助理解特征和響應變量之間關系的方法,衡量的是變量之間的線性相關性。皮爾遜相關系數的一個明顯缺陷是,作為特征排序機制,他只對線性關系敏感。
5 特征選擇方法的具體應用范圍
從上文可知,有多種方法可以實現特征選擇可供選擇,那么對于具體問題,該如何選擇正確的方法呢?在進行了最基本的去除恒定的和準恒定特征后,根據輸入變量和輸出變量的類型進行選擇,如圖1所示[3]。具體而言,有以下情況:1)數值輸入,數值輸出:這類問題類型屬于回歸預測模型。最常用的方法,就是使用相關性系數,如:用于線性相關的皮爾遜(Pearson)相關系數,用于非線性相關的基于排序的斯皮爾曼(Spearman)等級相關系數。2)數值輸入,類別輸出:這類問題屬于分類預測模型問題,也是最常見的分類問題。對于此類問題,最常用的也是基于相關的方法,但必須考慮分類的目標類型。對于線性模型,可以使用ANOVA相關系數;對于非線性模型,可以考慮使用肯德爾(Kendall)排序方法,因為肯德爾方法已經假設了類別變量是有序的。3)類別輸入,數值輸出:這類問題屬于輸入為類別變量的回歸預測模型問題。但這種類型比較少見,我們可以使用上面解決“數值輸入,類別輸出”問題的方法,但是輸入輸出互換。4)類別輸入,類別輸出:這類問題屬于輸入為類別變量的分類模型問題。最常用的方法是卡方檢驗,但也可以使用信息論中互信息(信息增益)的方法。事實上,互信息是可以同時應用于類別數據和數值數據的方法,換句話說,這種方法對數據類型不敏感。
在機器學習中,特征選擇并沒有最優的方法,如同沒有最優的算法模型。我們必須具體問題具體分析,設計出系統的實驗。我們必須通過不同的統計測量對特征變量的不同子集嘗試一系列不同的模型,然后發現最適合方法。基于單個特征變量統計特性的方法是計算上比較高效的方法,例如,可以計算相關矩陣的熱力圖,然后通過SelectKBest挑選出K個合適的特征。但是,當最終的效果不好時,也可以再使用更加復雜的方法,如遞歸特征消除法和隨機森立的特征重要性方法。包裝法和嵌入法法,對于計算性能要求較高,在時間允許的情況下也要盡量嘗試。數據挖掘競賽,就是為了培養學生數據處理的能力,通過適當的引導,拓寬知識面才是最重要的任務。
參考文獻
[1]Soledad Galli, Feature Selection for Machine Learning. https://www.udemy.com/course/feature-selection-for-machine-learning/
[2]周志華,機器學習,清華大學出版社,2016
[3]Jason Brownlee, How to Choose a Feature Selection Method For Machine Learning, https:// machinelearningmastery.com
[4]Scikit-learn. https://scikit-learn.org
通信作者
羅曉牧(1980-),男,廣東廣州人,副教授,工科博士研究生畢業,研究方向:機器學習,無線傳感器網絡,生物信息獲取。
崔曼曼(1989-),女,河南南樂人,講師,博士,研究方向:醫療體域網通信技術研究、教育理論與教學方法研究。