改進遺傳算法的支持向量機特征選擇解決方案介紹
支持向量機是一種在統(tǒng)計學習理論的基礎上發(fā)展而來的機器學習方法[1],通過學習類別之間分界面附近的精確信息,可以自動尋找那些對分類有較好區(qū)分能力的支持向量,由此構造出的分類器可以使類與類之間的間隔最大化,因而有較好的泛化性能和較高的分類準確率。由于支持向量機具有小樣本、非線性、高維數、避免局部最小點以及過學習現象等優(yōu)點,所以被廣泛運用于故障診斷、圖像識別、回歸預測等領域。但是如果缺少了對樣本進行有效地特征選擇,支持向量機在分類時往往會出現訓練時間過長以及較低的分類準確率,這恰恰是由于支持向量機無法利用混亂的樣本分類信息而引起的,因此特征選擇是分類問題中的一個重要環(huán)節(jié)。特征選擇的任務是從原始的特征集合中去除對分類無用的冗余特征以及那些具有相似分類信息的重復特征,因而可以有效降低特征維數,縮短訓練時間,提高分類準確率。
本文引用地址:http://2s4d.com/article/155439.htm目前特征選擇的方法主要有主成分分析法、最大熵原理、粗糙集理論等。然而由于這些方法主要依據繁復的數學理論,在計算過程中可能存在求導和函數連續(xù)性等客觀限定條件,在必要時還需要設定用來指導尋優(yōu)搜索方向的搜索規(guī)則。遺傳算法作為一種魯棒性極強的智能識別方法,直接對尋優(yōu)對象進行操作,不存在特定數學條件的限定,具有極好的全局尋優(yōu)能力和并行性;而由于遺傳算法采用概率化的尋優(yōu)方法,所以在自動搜索的過程中可以自主獲取與尋優(yōu)有關的線索,并在加以學習之后可以自適應地調整搜索方向,不需要確定搜索的規(guī)則。因此遺傳算法被廣泛應用在知識發(fā)現、組合優(yōu)化、機器學習、信號處理、自適應控制和人工生命等領域。
基于改進遺傳算法的特征選擇
遺傳算法是一種新近發(fā)展起來的搜索最優(yōu)化算法[2~5]。遺傳算法從任意一個的初始生物種群開始,通過隨機的選擇、交叉和變異操作,產生一群擁有更適應自然界的新個體的新一代種群,使得種群的進化趨勢向著最優(yōu)的方向發(fā)展。圖1中所示的是標準的遺傳算法的流程框圖。
傳統(tǒng)的遺傳算法存在早熟收斂、非全局收斂以及后期收斂速度慢的缺點,為此本文提出了一種能夠在進化過程中自適應調節(jié)變異率,以及利用模擬退火防止早熟的改進遺傳算法,同時該算法利用敏感度信息可以有效地控制遺傳操作。圖2是改進遺傳算法的流程框圖。
染色體編碼和適應度函數
所謂編碼是指將問題的解空間轉換成遺傳算法所能處理的搜索空間。在特征選擇問題中,常常使用二進制的編碼形式,使得每個二進制就是一個染色體,其位數長度等于特征的個數。每一位代表一個特征,每位上的1表示選中該特征,0則表示不選中。每一代種群都由若干個染色體組成。
適應度函數是整個遺傳算法中極為重要的部分[6],好的適應度函數能使染色體進化到最優(yōu)個體,它決定了在整個尋優(yōu)過程中是否能夠合理地協(xié)調好過早收斂和過慢結束這對矛盾。由于本文針對的是支持向量機的特征選擇問題,所以考慮以分類正確率和未選擇的特征個數這兩個參數作為函數的自變量,將分類正確率作為主要衡量標準,未選擇的特征個數為次要標準。由此建立以下的適應度函數:
式中C為分類正確率,為未選擇的特征個數,a是調節(jié)系數,用來平衡分類正確率和未選擇的特征個數對適應度函數的影響程度,同時該系數也體現了用最少的特征得到較大分類正確率的原則,在本文中a取0.00077。由上式可知,分類正確率越高,未選的特征個數越多,染色體的適應度就越大。
選擇操作
選擇操作需要按照一定的規(guī)則從原有的種群中選擇部分優(yōu)秀個體用來交叉和變異。選擇原則建立在對個體適應度進行評價的基礎上,目的是避免基因損失,提高全局收斂性和計算效率。本文首先將整個種群中最優(yōu)的前40%的個體保留下來,以確保有足夠的優(yōu)良個體進入下一代,對剩下的60%的個體采用輪盤算法進行選擇,這樣做可以彌補保留前40%個體而帶來的局部最優(yōu)解不易被淘汰的不利影響,有利于保持種群的多樣性。
基于敏感度信息量的交叉、變異操作
獨立敏感度信息量Q(i)指的是對在所有特征都被選中時計算所得到的適應度值Allfitness以及只有特征i未被選中時計算得到的適應度值Wfitness(i)按式(2)進行計算得到的數值。獨立敏感度信息量刻畫了適應度對特征i是否被選擇的敏感程度。
互敏感度信息量R(i,j)由(3)式可得,互敏感度信息量體現了特征i與特征j之間對適應度的近似影響程度。
評論