邱云飛,高華聰
遼寧工程技術大學 軟件學院,遼寧 葫蘆島125100
特征選擇是指為了降低數(shù)據(jù)維度,在保證特征集合分類性能的前提下,從原始特征集合中選出具有代表性的特征子集。對于特征選擇方法,按照分類器在算法選擇特征過程中的參與方式進行分類,可將其分為三類:過濾式(Filter)、包裝式(Wrapper)和嵌入式(Embedded)。過濾式的特征選擇方法先對初始特征進行過濾,再用過濾后的特征訓練模型,所以過濾式方法有計算量小、易實現(xiàn)的優(yōu)點,但分類精度較低;包裝式的特征選擇方法由于在其特征選擇過程中需要多次訓練分類器,計算開銷通常比過濾式特征選擇要大得多,但分類效果要好于過濾式;嵌入式特征選擇在分類器訓練過程中將自動地進行特征選擇,利用嵌入式特征選擇,分類效果明顯但參數(shù)設置復雜且時間復雜度較高。
遺傳算法(GA)是一種基于種群的迭代的元啟發(fā)式優(yōu)化算法,對初始化個體通過算法的編碼技術和一些基本的遺傳算子選擇、交叉、變異等操作,依據(jù)個體的適應度值進行選擇遺傳,經(jīng)過迭代,得到適應度最高的個體[1]。遺傳算法以生物進化為原型,具有良好的全局搜索能力,可以快速地將解空間中的全體解搜索出,并且利用它的內(nèi)在并行性加快求解速度。但在實際應用中,遺傳算法容易產(chǎn)生早熟收斂的問題,采用何種選擇方法既要使優(yōu)良個體得以保留,又要維持群體的多樣性,一直是遺傳算法中較難解決的問題。目前,基于遺傳算法的特征選擇方法受到了廣泛關注:Ferriyan等人[2]改進兩點交叉,將一點交叉用于遺傳算法參數(shù),使遺傳算法運行速度更快;An[3]提出了改進的遺傳算法應用于特征選擇,將多種群并行和競爭策略引入遺傳算法;Vaishali等人[4]提出在預處理階段利用遺傳算法從數(shù)據(jù)集中選取基本特征,并在數(shù)據(jù)集上應用多目標進化模糊分類器以獲得較高分類精度。以上針對遺傳算法的研究中沒有兼顧特征子集和分類精度,所以本文提出了一種改進的自適應遺傳算法,在選擇操作中通過融合選擇方式保證了種群的多樣性和準確性,同時把特征數(shù)加入到評價函數(shù)中,設置參數(shù)平衡特征子集和分類精度,并采用自適應的形式動態(tài)調(diào)整交叉和變異概率,解決遺傳算法陷入局部最優(yōu)的問題,使算法準確快速收斂到最優(yōu)解。
Relief[5]算法是一種簡單高效的過濾式特征選擇方法,但局限于解決二分類問題。隨后Robnik-?ikonja等人對其進行擴展,得到了ReliefF算法[6]。ReliefF算法主要用于解決多分類和數(shù)據(jù)缺失、冗余等問題。ReliefF系列算法運行效率高、穩(wěn)定性好,對數(shù)據(jù)類型沒有限制,屬于特征權重算法,算法會賦予所有和類別相關性高的特征較高的權重,但算法的局限性在于不能有效地去除冗余特征。
互信息指測量兩個隨機數(shù)據(jù)樣本之間的相關性。通常,互信息描述數(shù)據(jù)集之間的依賴程度。如今,互信息已經(jīng)廣泛應用于特征提取的研究中,Sharmin等人[7]將MI作為一種度量標準,用于創(chuàng)建一個基于x檢驗的同時選擇特征和離散化的框架;王金杰等人[8]提出一種基于混合互信息和粒子群算法的過濾式-封裝式的多目標特征選擇方法,能夠更好地降低特征個數(shù)和分類錯誤率。
混合方法結合了兩種或多種經(jīng)過充分研究的算法,形成了解決特定問題的新策略。混合方法通常利用子算法的優(yōu)勢,因此與傳統(tǒng)方法相比更加穩(wěn)健。Zhang等人[9]提出了一種混合的過濾器和包裝器方法,使用自舉策略創(chuàng)建了特征的子集,計算每個特征子集的分類精度以找到優(yōu)化的子集;Thejas等人[10]提出一種過濾器和包裝器相結合的方法,將Kmeans聚類與標準化互信息混合并利用隨機森林的貪婪搜索方法得到最優(yōu)特征集;馬超[11]提出了結合ReliefF和改進烏鴉搜索算法的特征選擇算法,從而獲得特征子集。
上述特征選擇算法雖然都取得了一定的成果,但都沒有快速地消除冗余特征,在一定程度上降低了分類算法的性能。因此,考慮到ReliefF算法高效的計算效率、互信息的去冗余和遺傳算法較優(yōu)的全局搜索能力,本文提出了混合Filter模式與改進自適應GA的特征選擇方法(ReFS-AGA)。該方法采用過濾式與封裝式混合的特征選擇模型,先用ReliefF算法設置閾值去除權重較低的特征;然后應用歸一化互信息,修正傳統(tǒng)互信息多特征值敏感問題并消除冗余特征;最后利用改進的自適應遺傳算法迭代進化,融合選擇算子,并設計新的評價函數(shù),引入特征數(shù)和分類精度從而得到最優(yōu)特征子集。
Relief算法是一種著名的過濾式特征選擇方法,會根據(jù)各個特征和類別的相關性賦予特征不同的權重,權重小于某個閾值的特征將被移除。算法從訓練集D中隨機選擇一個樣本R,然后從和R同類的樣本中尋找最近鄰樣本H(Near Hit),從和R不同類的樣本中尋找最近鄰樣本M(Near Miss),并根據(jù)以下規(guī)則更新每個特征的權重:如果R和Near Hit在某個特征上的距離小于R和Near Miss上的距離,則說明該特征對區(qū)分同類和不同類的最近鄰是有益的,則增加該特征的權重;反之,如果R和Near Hit在某個特征的距離大于R和Near Miss上的距離,說明該特征對區(qū)分同類和不同類的最近鄰起負面作用,則降低該特征的權重。以上過程重復m次,最后得到各特征的平均權重。特征的權重越大,表示該特征的分類能力越強。Relief算法的運行時間隨著樣本的抽樣次數(shù)m和原始特征個數(shù)N的增加而線性增加,因而運行效率非常高。
假設一個樣本X有p個特征,S為樣本量n的訓練樣本集,F(xiàn)即{f1,f2,…,fp}為特征集,一個樣本X由p維向量(x1,x2,…,xp)構成,其中xj為X的第j個特征值。
Relief算法可以解決名義變量和數(shù)值變量,兩個樣本X和Y的特征值的差可由下面的函數(shù)來定義。
當xk和yk為名義變量時,
當xk和yk為數(shù)值變量時,
νk為歸一化單位,把diff值歸一化到[0,1]區(qū)間權重更新公式為:
由于Relief算法比較簡單,但運行效率高,并且結果也比較令人滿意,因此得到廣泛應用,但是其局限性在于只能處理兩類別數(shù)據(jù),因此后人對其擴展得到了可以處理多類別問題的ReliefF算法。該算法在處理多類問題時,每次從訓練樣本集中隨機取出一個樣本R,然后從和R同類的樣本集中找出R的k個近鄰樣本(Near Hit),從每個R的不同類的樣本集中均找出k個近鄰樣本(Near Miss),然后更新每個特征的權重,如下式所示:
式中,diff(A,R,Hj)表示樣本R1、R2在特征A上的差,Mj(C)表示類C?class(R)中第j個最近鄰樣本,如公式(5)所示:
算法1reliefF算法流程
輸入:訓練集D,抽樣次數(shù)m,特征權重閾值δ,最近鄰樣本個數(shù)k。
輸出:各個特征的特征權重T。
在信息論中,熵用來衡量一個隨機事件的不確定性。假設對于一個離散隨機變量X(取值集合為S,X的概率密度分布函數(shù)為p(x),x∈S)進行編碼,自信息I(x)是變量X=x時的信息量,定義為:
那么隨機變量X的熵定義為:
熵越高,則說明隨機變量的信息越多;反之,熵越低,則說明隨機變量的信息越少。
在得知某一確定信息的基礎上獲取另外一個信息時所獲得的信息量稱為條件熵。對于兩個離散隨機變量X和Y,假設X取值集合為S,Y取值集合為T,其聯(lián)合概率分布滿足p(x,y),則在Y條件下X的條件熵為:
互信息(Mutual Information)是衡量已知一個變量時,另一個變量不確定性的減少程度,可以描述兩個隨機變量之間的共有信息量?;バ畔⑷绻剑?)所示:
其中,p(x)是變量x的概率密度,p(y)是變量y的概率密度,p(x,y)是聯(lián)合概率密度。
互信息越大說明兩個隨機變量之間的相關程度越高。公式(9)在對變量的計算時傾向于選擇多值特征。因此本文用對應的熵做分母對其進行歸一化,將值限制在[0,1]之間,SU(X,Y)值越接近1,表示兩個變量之間相關性越高,當其值為0時,表示這兩個變量是不相關的,由此得到歸一化互信息(Symmetrical Uncertainty),其公式為:
遺傳算法是受到生物進化過程啟發(fā)的搜索和優(yōu)化技術,基于適者生存的規(guī)則,通過各種遺傳操作搜索最優(yōu)解。遺傳算法中的種群(population)代表著問題可能存在的解集,而一個種群則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體組成,每個個體都對應于一個可能的問題解決方案。遺傳算法將根據(jù)不同編碼方式隨機產(chǎn)生初始種群,按照適者生存優(yōu)勝劣汰的原理迭代進化,直至找到合適的解集。在每一次迭代過程中,都會通過適應度(fitness)大小選擇合適的個體,并進行組合交叉(crossover)和變異(mutation),產(chǎn)生出新的種群。由于每次迭代時都完成一次進化操作,所以迭代后產(chǎn)生的新種群將會優(yōu)于初始種群。當最優(yōu)個體的適應度達到給定的閾值,或者最優(yōu)個體的適應度和群體適應度不再上升時,或者迭代次數(shù)達到預設的代數(shù)時算法終止,末代種群中的最優(yōu)個體可以作為問題近似最優(yōu)解。遺傳算法的算法描述如算法2所示。
算法2遺傳算法流程
輸入:種群中的個體數(shù)n,交叉概率pc,變異概率pm。
輸出:具有高適應度的個體。
遺傳算法的主要特點是直接對結構對象操作,具有更好的全局尋優(yōu)能力;采用概率化尋優(yōu)方法,能自動獲取和指導優(yōu)化搜索空間,自適應地調(diào)整搜索方向。在解決大規(guī)模非線性、非連續(xù)和復雜的綜合性大型問題有著巨大的優(yōu)勢,易于計算機實現(xiàn)、操作簡單、對問題域有超強描述能力。但由于其交叉概率和變異概率的值固定,可能會陷入局部最優(yōu)解。
2.2.1 染色體編碼
對搜索空間中的問題解進行編碼使其映射為遺傳種群中的個體是自適應遺傳算法的首要步驟。根據(jù)微陣列數(shù)據(jù)維度高規(guī)模大的特點,本文將采用二進制編碼方式對個體進行編碼,將被選中的特征置1,其余置0。
2.2.2 遺傳算子
在選擇操作中,輪盤賭方法對個體采用回放式的隨機采樣方法,使種群中的每個個體都有機會被選擇,從而保證了種群的多樣性。然而,由于采樣方式的隨機性,使得它有時不選擇適應度高的個體,導致收斂速度變慢。針對輪盤選擇算子的不足,本文提出采用最佳保留和輪盤賭相結合的方式,直接保留適應度值較高的5%個體,其余95%個體采用輪盤賭的方式進行選擇,這樣能將較優(yōu)個體和平庸個體都得到保留。
交叉操作和變異操作是遺傳算法中的兩個關鍵操作,交叉操作會在全局生成新的個體,保證算法的全局搜索能力,變異操作保證算法的局部搜索能力。傳統(tǒng)遺傳算法中交叉概率(pc)和變異概率(pm)是固定的預定義變量,pc值過大會使具有高適應度值的個體丟失,過小會使陷入局部最小值使搜索停滯。pm值過大會使遺傳算法變成隨機搜索算法,過小會限制算法的搜索能力。自適應參數(shù)調(diào)節(jié)通過動態(tài)調(diào)整交叉概率和變異概率的值,既使得個體多樣性得到提高,又保證了算法的收斂速度。在改進的自適應遺傳算法中,pc和pm的值可以按照公式(11)和(12)進行調(diào)整:
在公式(11)、(12)中,fmax表示算法進行搜索操作時所有個體適應度的最大值,favg表示平均適應度,f′表示即將進行交叉操作中的父母的較大適應度,f表示個體的適應度值,k1、k2、k3、k4表示四個控制變量。本文中設置k1=0.9,k2=0.6,k3=0.2,k4=0.01。
2.2.3 改進的適應度函數(shù)
適應度值體現(xiàn)了種群中的個體對環(huán)境的適應能力,算法應用選擇操作來從父代種群中選擇適應度值高的個體遺傳到下一代,經(jīng)過多次迭代逐漸獲得問題的最優(yōu)解。
特征選擇的目的是保留較少的有效特征以提高算法的分類性能。在分類問題中,不同數(shù)量特征特征子集極有可能具有相同的分類精度。但是,遺傳算法如果較早找到特征數(shù)量最多的子集,則將忽略特征較少的子集。為了解決類似問題,本文提出了一種新的適應度函數(shù)(評價函數(shù)),用來評估特征選擇算法的性能,公式(13)把搜索到的特征子集數(shù)與分類精度融合到適應度函數(shù)中。
其中,acc為個體的分類精度,n為通過算法選擇后的特征數(shù)目,N為特征總數(shù),α和β是用戶自定義參數(shù),用來平衡分類準確率和所選特征數(shù)對適應度函數(shù)的貢獻。改進的自適應遺傳算法的優(yōu)化過程如圖1所示。
圖1 改進的自適應遺傳算法流程圖
目前,數(shù)據(jù)仍存在高維度、大規(guī)模、高冗余等特性,這使得人們在處理和分析數(shù)據(jù)時存在巨大挑戰(zhàn)。因此本文提出了一種混合Filter模式與改進自適應算法的特征選擇方法(ReFS-AGA),首先使用ReliefF算法去除不相關特征,進行特征降維,再結合互信息去除冗余較高特征,經(jīng)過濾后的特征子集構成自適應遺傳算法的初始種群,最后引入改進的自適應遺傳算法,優(yōu)化選擇算子,并改進評價函數(shù)平衡特征子集和分類精度,快速找出最佳特征子集。算法流程圖如圖2所示。
圖2 ReFS-AGA算法流程圖
ReFS-AGA算法的詳細步驟可描述如下:
(1)采用ReliefF算法計算原始數(shù)據(jù)集的特征權重值,去除無關特征得到特征子集A。設置特征子集A中特征數(shù)為原始特征數(shù)的10%。
(2)采用標準互信息公式(10)計算原數(shù)據(jù)集中特征與類的相關性,并按其值降序排列對應特征,得到特征子集B。
(3)將特征子集A與特征子集B合并,并去除重疊特征,組成自適應GA算法的初始種群。
(4)初始化種群,采用二進制編碼對種群中的個體進行編碼。人口規(guī)模根據(jù)問題空間確定;尺寸越大,自適應GA越容易搜索最佳解決方案,并且時間越長。在這項工作中,種群大小M設定為50,采用二進制編碼對種群中個體進行編碼。
(5)根據(jù)公式(13)計算適應度值,并通過閾值選擇出適應度高的個體。
(6)根據(jù)公式(11),計算出pc的值,使用交叉操作生成新的個體。
(7)根據(jù)公式(12),計算出pm的值,使用變異操作生成新的種群。
(8)是否滿足終止條件,如果是則轉到(9),如果否,轉到(5)。
(9)根據(jù)解碼規(guī)則輸出最佳特征子集。
ReliefF算法核心是根據(jù)被選擇的樣本和不同類別的最近鄰樣本的距離來評價特征,能有效剔除無關特征,運行效率高但去冗余度較差;歸一化互信息通過找到對同一類別中具有強依賴性的特征達到去冗余的目的;自適應遺傳算法作為一種不確定搜索算法,初始種群會影響其性能,混合Filter模式與自適應GA的特征選擇方法利用ReliefF算法和互信息融合,去除高維數(shù)據(jù)中的不相關特征和冗余特征,使得自適應遺傳算法具有較好的搜索起點,同時根據(jù)特征數(shù)和分類精確度改進適應度函數(shù)并對參數(shù)進行自適應調(diào)整,使得算法具有更快的收斂速度和更好的尋優(yōu)能力,從而高效地獲得特征子集。
為了評估本文所提出的算法對高維度微陣列數(shù)據(jù)的處理性能,將分別在Breast Cancer Wisconsin、SPECTF Heart、Colon Cancer、SRBCT、Leukemia、Lung Cancer、Breast和Lymphoma基因表達數(shù)據(jù)集中使用該算法。以上八個數(shù)據(jù)集都是公共高維數(shù)據(jù)集且被廣泛使用。數(shù)據(jù)集的簡要描述如表1所示。
表1 基因表達數(shù)據(jù)集
實驗平臺為PC機(Windows7,Intel Core i5-2410 M CPU@2.30 GHz),使用的軟件為MATLAB R2017a和Pycharm。本文所使用的經(jīng)典分類器是SVM和Naive Bayes。
為了較好地驗證本文所提出的特征選擇算法的有效性,分別從改進的自適應遺傳算法和混合filter與改進的自適應遺傳算法(ReFS-AGA)兩個方面分析。在進行實驗之前,采用Min-Max標準化方法對所有的數(shù)據(jù)集進行預處理,將其歸一化。在所提出的ReFS-AGA算法中,需對參數(shù)進行設置,其中ReliefF算法中近鄰值k設置為10,在歸一化互信息的計算中閾值設置為0.15在自適應遺傳算法中種群大小P設置為30,適應度函數(shù)中的參數(shù)α和β分別設置為0.8和0.2。最大迭代循環(huán)數(shù)為500,對于小于1 000個案例的數(shù)據(jù)集,采用五折交叉驗證,對于大于1 000個案例的數(shù)據(jù)集,采用十折交叉驗證,分類精確度取算法每次疊后的平均值。
4.2.1 改進的自適應遺傳算法
為了驗證所提出的改進自適應遺傳算法的有效性,使用基于輪盤賭的遺傳算法(GA)、自適應遺傳算法(AGA)[12]和本文改進的自適應遺傳算法(改進AGA)在表2中兩個數(shù)據(jù)集上進行測試,每個算法分別運行30次,分別對比特征數(shù)和分類精度的平均值。
表2 不同遺傳算法實驗結果
根據(jù)表2實驗結果可以看出,在Breast Cancer Wisconsin數(shù)據(jù)集上,改進AGA選擇的特征數(shù)明顯少于GA和AGA,同時分類精度也得到提高;在SPECTF Heart數(shù)據(jù)集上,雖然改進AGA在分類精度與AGA相差不大,但改進后的算法選擇了更少的特征。由此可以證明本文提出的改進AGA不僅保證了分類精度,而且取得了最小特征子集。
4.2.2 ReFS-AGA算法
為了探究ReFS-AGA算法的優(yōu)化性能,將從運行時間、作用在相同數(shù)據(jù)集上的不同特征方法對分類精度的影響和特征數(shù)對所選特征分類精度的影響三個方面設置對比實驗。
(1)運行時間
為了評價ReFS-AGA算法的效率,在表1前六個數(shù)據(jù)集上分別應用ReFS-AGA算法和自適應遺傳算法,比較其運行時間,其中自適應遺傳算法的參數(shù)與上述相同,時間取算法獨立運行30次的均值,結果如表3所示。
表3 算法的運行時間s
通過表3可以看出,在六個數(shù)據(jù)集上應用ReFS-AGA算法進行特征選擇所需要的運行時間遠遠小于僅應用自適應遺傳算法的所需時間。這說明ReFS-AGA混合算法充分發(fā)揮了Filter模式快速高效的優(yōu)點,快速去除冗余特征的同時將特征降維,為自適應遺傳算法提供較優(yōu)的搜索起點,很大程度地提高了算法的運行效率。
(2)不同分類方法對分類精度的影響
為了充分證明所提出算法的準確性,本組實驗選擇四種經(jīng)常使用的特征選擇方法與所提出方法進行比較。其中,CFS(Correlation-based Feature Selection)[13]采用基于特征與標簽相關性的啟發(fā)式方法來評價特征的重要性。mRMR-GA[14]是一種二階段選擇算法,該算法先應用MRMR過濾高維微陣列數(shù)據(jù)中的嘈雜基因,然后通過遺傳算法篩選特征子集。mRMR-PSO[15]同樣作為二階段選擇算法,采用MRMR去除冗余基因后應用PSO算法選擇特征子集。
圖3 不同特征選擇算法所選的特征數(shù)目
圖4 不同特征選擇算法基于SVM的分類精度比較
圖3和圖4分別給出了五種分類方法作用在六個數(shù)據(jù)集上的所選擇的特征個數(shù)和其基于SVM分類器的分類精度。根據(jù)圖3可以看出ReFS-AGA算法選擇的特征個數(shù)最少,而mRMR-PSO算法選擇的特征個數(shù)最多,當算法ReFS-AGA使用在SRBCT數(shù)據(jù)集上選擇特征時,所選的特征個數(shù)稍高于其使用在另三個數(shù)據(jù)集,而在Leukemia和Lung數(shù)據(jù)集上所選的特征數(shù)較少。根據(jù)圖4的實驗結果,可以發(fā)現(xiàn)本文提出的ReFS-AGA算法在六個數(shù)據(jù)集上的分類精度最高,其次是mRMR-PSO和mRMR-GA算法,而ReliefF算法的分類精度最低。在對Colon Cancer數(shù)據(jù)集進行分類時,ReFS-AGA算法的分類準確率稍低于mRMR-GA,在對其余三個數(shù)據(jù)集進行分類時,ReFS-AGA算法的分類精度都高于其他四種算法。將圖4中的分類精度結合圖3中的特征子集個數(shù)分析,ReFS-AGA算法在Colon Cancer數(shù)據(jù)集上所選擇的基因數(shù)遠小于其他四種算法但其分類精度卻沒有明顯下降,說明了特征選擇的有效性。在Lymphoma數(shù)據(jù)集上雖然ReFS-AGA算法的分類精度與mRMR-PSO算法的分類精度相差不大,但mRMR-PSO算法所選擇的特征數(shù)卻遠遠大于ReFS-AGA算法,這說明了ReFSAGA算法具有較好的降維效果。通過平均值可以看出,在不同特征選擇算法取得最小特征子集數(shù)時,ReFSAGA算法的平均分類精度比ReliefF算法提高了11.18個百分點,比mRMR-GA算法提高了4.04個百分點,這說明相比于Filter特征選擇算法中的經(jīng)典ReliefF算法和基于GA的二階段特征選擇算法mRMR-GA,ReFSAGA算法在保證了特征子集維度的情況下,有效地提升了分類精度。結合表1發(fā)現(xiàn),ReFS-AGA算法不僅能解決多分類問題,還能在處理二分類問題時篩選出較少的特征并獲得最佳的分類精度。
(3)特征數(shù)對分類精度的影響
為了探究ReFS-AGA算法所選特征數(shù)對分類精度的影響,使用SVM和Naive Bayes兩種不同的分類器評估六個數(shù)據(jù)集的分類結果,每個分類精度是重復30次分類過程的平均結果。使用SVM分類器對數(shù)據(jù)集分類時,設置懲罰系數(shù)和伽馬值分別為0.12和0.13;并且內(nèi)核函數(shù)是Sigmoid。
從圖5、6的分類結果中可以看出,對于經(jīng)ReFSAGA算法選擇后特征子集進行分類時,分類精度不會隨著基因數(shù)的增加單調(diào)增加,在SRBCT數(shù)據(jù)集上隨著基因數(shù)的增加分類精度稍有下降,在其他五個數(shù)據(jù)集上分類精度則呈現(xiàn)平穩(wěn)趨勢。這說明對于相對少量基因的數(shù)據(jù)集分類時,在較少的基因之間存在的相對簡單的映射會使得分類更容易。隨著基因數(shù)量增加,基因之間復雜的隱含聯(lián)系和噪聲可能影響分類精度。結合表1分析,Leukemia、Colon Cancer、Lung Cancer、Breast和Lymphoma屬于二分類數(shù)據(jù)集,而SRBCT屬于多分類數(shù)據(jù)集,在處理多分類數(shù)據(jù)時,基因數(shù)的增加會使得基因之間相關性變強,從而影響分類精度。另外,對比圖5、6發(fā)現(xiàn),采用SVM分類時,在Leukemia、Colon Cancer、Lung Cancer、SRBCT、Breast和Lymphoma數(shù)據(jù)集上分別在特征數(shù)為8、17、8、21、17和10時取得最大分類精度。采用Naive Bayes分類時,在Leukemia、Colon Cancer、Lung Cancer、SRBCT、Breast和Lymphoma數(shù)據(jù)集上分別在特征數(shù)為18、19、9、30、21和20時取得最大分類精度,在Lymphoma數(shù)據(jù)集上使用Naive Bayes分類所得到的分類精度明顯低于使用SVM的分類精度,而其余五個數(shù)據(jù)集上兩個分類器所得到的分類精度差距不大,這說明雖然Naive Bayes算法與SVM算法總體相差不大,但SVM算法在處理高維數(shù)據(jù)具有更好的性能和較高的準確性。圖5和圖6中對特征子集使用不同分類器時,所有數(shù)據(jù)集的分類精度高于85%,這證明了ReFS-AGA方法的穩(wěn)健性。
圖5 不同數(shù)目特征基于SVM的分類精度
圖6 不同數(shù)目特征基于Naive Bayes的分類精度
針對高維小樣本數(shù)據(jù)中大量無關特征導致的分類任務繁重、分類精度低等問題,本文提出了一種混合Filter模式與改進自適應遺傳算法的特征選擇方法,充分結合了過濾式算法的高效快速和自適應啟發(fā)式算法的準確率高的優(yōu)點,先使用過濾式特征選擇,迅速去除了無關數(shù)據(jù),彌補了自適應遺傳算法速度慢的不足,為下一階段提供良好的初始種群;再應用改進的自適應遺傳算法隨機探索搜索空間,用特征數(shù)優(yōu)化評價函數(shù),最小化保留特征以使子集中僅保留最佳特征,自適應地調(diào)整參數(shù),避免算法過擬合,在迭代進化的過程中選擇特征子集,最終使算法不僅適合多分類問題,而且相比其他算法有更高的準確率和更小的特征子集。本文將ReFS-AGA算法應用在不同數(shù)據(jù)集上,通過對比ReFSAGA與ReliefF、CFS、mRMR-AGA和mRMR-PSO算法可以看出,ReFS-AGA算法在降維和提高分類精度方面均有優(yōu)秀表現(xiàn),并且通過對比不同分類器對所選特征子集的分類結果可以看出分類精度都保持在85%以上,說明了ReFS-AGA算法的穩(wěn)健性。基于以上敘述,證明了ReFS-AGA算法不但快速可以篩選出含有重要信息的特征子集,有效地降低數(shù)據(jù)維度,而且可以在不同類型的數(shù)據(jù)集上獲得優(yōu)秀的分類精度。未來的工作需要進一步優(yōu)化算法,使其更加適應樣本分布不平均的多分類數(shù)據(jù)集。