基于改進(jìn)遺傳算法的支持向量機特征選擇
染色體編碼和適應度函數
所謂編碼是指將問(wèn)題的解空間轉換成遺傳算法所能處理的搜索空間。在特征選擇問(wèn)題中,常常使用二進(jìn)制的編碼形式,使得每個(gè)二進(jìn)制就是一個(gè)染色體,其位數長(cháng)度等于特征的個(gè)數。每一位代表一個(gè)特征,每位上的1表示選中該特征,0則表示不選中。每一代種群都由若干個(gè)染色體組成。
適應度函數是整個(gè)遺傳算法中極為重要的部分[6],好的適應度函數能使染色體進(jìn)化到最優(yōu)個(gè)體,它決定了在整個(gè)尋優(yōu)過(guò)程中是否能夠合理地協(xié)調好過(guò)早收斂和過(guò)慢結束這對矛盾。由于本文針對的是支持向量機的特征選擇問(wèn)題,所以考慮以分類(lèi)正確率和未選擇的特征個(gè)數這兩個(gè)參數作為函數的自變量,將分類(lèi)正確率作為主要衡量標準,未選擇的特征個(gè)數為次要標準。由此建立以下的適應度函數:
式中C為分類(lèi)正確率,為未選擇的特征個(gè)數,a是調節系數,用來(lái)平衡分類(lèi)正確率和未選擇的特征個(gè)數對適應度函數的影響程度,同時(shí)該系數也體現了用最少的特征得到較大分類(lèi)正確率的原則,在本文中a取0.00077。由上式可知,分類(lèi)正確率越高,未選的特征個(gè)數越多,染色體的適應度就越大。
選擇操作
選擇操作需要按照一定的規則從原有的種群中選擇部分優(yōu)秀個(gè)體用來(lái)交叉和變異。選擇原則建立在對個(gè)體適應度進(jìn)行評價(jià)的基礎上,目的是避免基因損失,提高全局收斂性和計算效率。本文首先將整個(gè)種群中最優(yōu)的前40%的個(gè)體保留下來(lái),以確保有足夠的優(yōu)良個(gè)體進(jìn)入下一代,對剩下的60%的個(gè)體采用輪盤(pán)算法進(jìn)行選擇,這樣做可以彌補保留前40%個(gè)體而帶來(lái)的局部最優(yōu)解不易被淘汰的不利影響,有利于保持種群的多樣性。
評論