改進(jìn)遺傳算法的支持向量機特征選擇解決方案介紹
交叉操作的作用是通過(guò)交換兩個(gè)染色體之間的若干位從而生成含有部分原始優(yōu)良基因的新個(gè)體。由式(3)可知互敏感度信息量可作為不同特征之間含有相似分類(lèi)信息的一種度量,所以可以將互敏感度信息量代入式(4)計算出染色體在第位發(fā)生交叉的幾率b(i),在式(4)中i和j分別代表特征i和特征j,是染色體的長(cháng)度。b(i)是特征i相對于其他所有特征在互敏感度信息量上的歸一量,反映了特征與其余特征在相似信息量上的總和。由此對應到染色體上,b(i)就可以認為是染色體的第i位與整個(gè)染色體在基因信息上的相關(guān)性,b(i)越小則說(shuō)明相關(guān)性越大,第i位與整個(gè)染色體所含的基因信息越接近,此位為分裂點(diǎn)的幾率越小。由于b(i)是歸一化量,故可采用輪盤(pán)算法來(lái)選擇一個(gè)交叉點(diǎn)。
變異操作是引入新物種的重要手段,可以有效地增加種群個(gè)體的多樣性。本文中的變異率Pm采用相鄰兩代之間的最優(yōu)適應度增幅比作為自變量進(jìn)行自適應調節,如式(5)所示。當適應度增幅比正向增大時(shí),較小的增幅比可以使變異率維持在中等水平,并且變異率隨著(zhù)增幅比的增大而緩慢降低,這樣既能夠擁有一定數量的新個(gè)體也可以抑制過(guò)多不良染色體的產(chǎn)生,保證優(yōu)秀染色體的進(jìn)化足夠穩定;而當適應度增幅比反向增大時(shí),由較小增幅比則可以獲得較高的變異率,并且變異率也伴隨增幅比同比緩慢升高,確保有足夠的染色體發(fā)生變異,穩定地加快進(jìn)化速度。
式中dis指新生種群的最優(yōu)適應度相對于原種群的最優(yōu)適應度的增幅比,j與k均是區間(0,1)上的調節系數。文中的j與k分別取0.65和0.055。
獨立敏感度信息量在一定程度上體現了單個(gè)特征所含有的分類(lèi)信息量,如果獨立敏感度信息量小,則說(shuō)明該特征所含信息大部分對分類(lèi)沒(méi)有幫助,即該基因位發(fā)生突變后對整個(gè)染色體的優(yōu)異性影響不大,突變的概率也就相應減小。因此將獨立敏感度信息量歸一化后所得到的q(i)作為特征i被選為變異點(diǎn)的概率。變異點(diǎn)的具體選擇方法為:針對一個(gè)染色體按照染色體的位數進(jìn)行循環(huán)遍歷,在該循環(huán)中由變異率Pm判定是否產(chǎn)生變異位。若需要產(chǎn)生變異位,則依據q(i)按照輪盤(pán)算法進(jìn)行選擇。
模擬退火選群
在每一輪進(jìn)化完成后都需要決定進(jìn)入下一輪進(jìn)化的種群。如果過(guò)多地將較優(yōu)種群作為父代,就會(huì )使算法過(guò)早收斂或搜索緩慢。文獻[7]中指出模擬退火算法能夠以一定的概率接受劣解從而跳出局部極值區域并最終趨于全局最優(yōu)解,因此可以將上文提到的最優(yōu)適應度增幅比作為能量函數,運用模擬退火的Meteopolis準則來(lái)選擇待進(jìn)化的種群。為了使每個(gè)種群得到充分地進(jìn)化,預防最優(yōu)解的丟失,這里采用設置退火步長(cháng)的策略來(lái)實(shí)現模擬退火選群。該策略具體為:使退火步長(cháng)對同一種群作為父代的次數進(jìn)行計數,一旦產(chǎn)生更優(yōu)種群則退火步長(cháng)就置零并重新計數。若退火步長(cháng)累計超過(guò)一定的閾值時(shí),就進(jìn)入模擬退火選群階段。退火步長(cháng)累計到一定數量意味著(zhù)原有種群的進(jìn)化已經(jīng)停滯,需要用模擬退火算法擺脫這種停滯狀態(tài)。如果增幅比大于零,則說(shuō)明新生種群優(yōu)于原有種群,這時(shí)完全接受新種群進(jìn)入下一輪進(jìn)化;否則新生種群劣于原有種群,并以一定的概率p接受較劣的新生種群[8]進(jìn)入下一輪進(jìn)化。接受概率p由式(6)和式(7)共同決定,其中dis為增幅比,T(s)指溫度參數,T0和s分別是初始溫度和迭代次數。
以上兩式的參數要滿(mǎn)足進(jìn)化對接受概率的要求。即增幅比負增長(cháng)越大,接受概率降低越迅速,但接受概率隨迭代次數的增加應緩慢下降。這樣做能夠保證在有限的迭代次數內有一個(gè)適應度較優(yōu)的新生種群進(jìn)入下一輪進(jìn)化,以達到減少計算量和優(yōu)選待進(jìn)化種群的目的。在本文中T0=0.2,A=0.9,m=0.5。
實(shí)例的驗證與分析
UCI數據庫常用來(lái)比較各種方法的分類(lèi)效果,因此可以用其驗證本算法對支持向量機作用后的分類(lèi)效果[9][10]。文獻[11]采用了UCI數據庫中的German、Ionosphere和Sonar三種數據作為實(shí)驗對象,為了便于與文獻[11]中所用的幾種方法進(jìn)行對比,本文也采用這三種數據進(jìn)行實(shí)驗,并按照文獻中所述的比例將各類(lèi)數據分成相應的訓練樣本和測試樣本。
在種群規模為30,交叉率為0.8,起始變異率為0.1的條件下使用支持向量機作為分類(lèi)器(懲罰參數為13.7,徑向基核函數參數為10.6)對所選數據進(jìn)行分類(lèi),表1中顯示了本文算法與文獻[11]中幾種算法在分類(lèi)效果上的對比,表2給出了三種數據的最終選擇結果。表1中共出現了四種方法:方法1:使用本文算法;方法2:使用NGA/PCA方法;方法3:使用PCA方法;方法4:使用簡(jiǎn)單遺傳算法。
由于本文算法旨在用最少的特征個(gè)數最大化分類(lèi)正確率,因此從表1中可以看出本文算法在特征選擇個(gè)數和分類(lèi)正確率上均比其他三種方法更具優(yōu)勢。由于NGA/PCA算法是針對簡(jiǎn)單遺傳算法和主成分分析法的不足而做的改進(jìn),其性能優(yōu)于簡(jiǎn)單遺傳算法和主成分分析法,所以本文算法的分類(lèi)效果優(yōu)于NGA/PCA算法這一事實(shí)更能說(shuō)明該算法可以較好地解決支持向量機的特征選擇問(wèn)題。
結語(yǔ)
通過(guò)與其他方法的比較,本文算法的分類(lèi)效果得到了充分的驗證,也說(shuō)明了該算法具有極好的泛化能力以及在敏感度信息量地指導下遺傳操作的有效性。
適應度函數的設計至關(guān)重要,它直接影響到最終結果的優(yōu)劣以及算法的收斂性,所以在適應度函數的設計應考慮所解決問(wèn)題的側重點(diǎn)。
分類(lèi)正確率的高低不僅取決于合理的特征選擇,而且與支持向量機的參數優(yōu)化有關(guān)。只有在合理的特征選擇和參數優(yōu)化的前提下,支持向量機分類(lèi)器才能發(fā)揮出最佳的分類(lèi)效果。
由于算法能夠較好地解決支持向量機的特征選擇問(wèn)題,因此已被應用在基于支持向量機的數字電路板故障診斷當中,并取得了良好的效果。
評論