基于改進遺傳算法的支持向量機特征選擇
式中dis指新生種群的最優(yōu)適應(yīng)度相對于原種群的最優(yōu)適應(yīng)度的增幅比,j與k均是區(qū)間(0,1)上的調(diào)節(jié)系數(shù)。文中的j與k分別取0.65和0.055。
獨立敏感度信息量在一定程度上體現(xiàn)了單個特征所含有的分類信息量,如果獨立敏感度信息量小,則說明該特征所含信息大部分對分類沒有幫助,即該基因位發(fā)生突變后對整個染色體的優(yōu)異性影響不大,突變的概率也就相應(yīng)減小。因此將獨立敏感度信息量歸一化后所得到的q(i)作為特征i被選為變異點的概率。變異點的具體選擇方法為:針對一個染色體按照染色體的位數(shù)進行循環(huán)遍歷,在該循環(huán)中由變異率Pm判定是否產(chǎn)生變異位。若需要產(chǎn)生變異位,則依據(jù)q(i)按照輪盤算法進行選擇。
模擬退火選群
在每一輪進化完成后都需要決定進入下一輪進化的種群。如果過多地將較優(yōu)種群作為父代,就會使算法過早收斂或搜索緩慢。文獻[7]中指出模擬退火算法能夠以一定的概率接受劣解從而跳出局部極值區(qū)域并最終趨于全局最優(yōu)解,因此可以將上文提到的最優(yōu)適應(yīng)度增幅比作為能量函數(shù),運用模擬退火的Meteopolis準則來選擇待進化的種群。為了使每個種群得到充分地進化,預(yù)防最優(yōu)解的丟失,這里采用設(shè)置退火步長的策略來實現(xiàn)模擬退火選群。該策略具體為:使退火步長對同一種群作為父代的次數(shù)進行計數(shù),一旦產(chǎn)生更優(yōu)種群則退火步長就置零并重新計數(shù)。若退火步長累計超過一定的閾值時,就進入模擬退火選群階段。退火步長累計到一定數(shù)量意味著原有種群的進化已經(jīng)停滯,需要用模擬退火算法擺脫這種停滯狀態(tài)。如果增幅比大于零,則說明新生種群優(yōu)于原有種群,這時完全接受新種群進入下一輪進化;否則新生種群劣于原有種群,并以一定的概率p接受較劣的新生種群[8]進入下一輪進化。接受概率p由式(6)和式(7)共同決定,其中dis為增幅比,T(s)指溫度參數(shù),T0和s分別是初始溫度和迭代次數(shù)。
以上兩式的參數(shù)要滿足進化對接受概率的要求。即增幅比負增長越大,接受概率降低越迅速,但接受概率隨迭代次數(shù)的增加應(yīng)緩慢下降。這樣做能夠保證在有限的迭代次數(shù)內(nèi)有一個適應(yīng)度較優(yōu)的新生種群進入下一輪進化,以達到減少計算量和優(yōu)選待進化種群的目的。在本文中T0=0.2,A=0.9,m=0.5。
實例的驗證與分析
UCI數(shù)據(jù)庫常用來比較各種方法的分類效果,因此可以用其驗證本算法對支持向量機作用后的分類效果[9][10]。文獻[11]采用了UCI數(shù)據(jù)庫中的German、Ionosphere和Sonar三種數(shù)據(jù)作為實驗對象,為了便于與文獻[11]中所用的幾種方法進行對比,本文也采用這三種數(shù)據(jù)進行實驗,并按照文獻中所述的比例將各類數(shù)據(jù)分成相應(yīng)的訓(xùn)練樣本和測試樣本。
評論