改進遺傳算法的支持向量機特徵選擇解決方案

2021-01-09 電子產品世界

  支持向量機是一種在統計學習理論的基礎上發展而來的機器學習方法[1],通過學習類別之間分界面附近的精確信息,可以自動尋找那些對分類有較好區分能力的支持向量,由此構造出的分類器可以使類與類之間的間隔最大化,因而有較好的泛化性能和較高的分類準確率。由於支持向量機具有小樣本、非線性、高維數、避免局部最小點以及過學習現象等優點,所以被廣泛運用於故障診斷、圖像識別、回歸預測等領域。但是如果缺少了對樣本進行有效地特徵選擇,支持向量機在分類時往往會出現訓練時間過長以及較低的分類準確率,這恰恰是由於支持向量機無法利用混亂的樣本分類信息而引起的,因此特徵選擇是分類問題中的一個重要環節。特徵選擇的任務是從原始的特徵集合中去除對分類無用的冗餘特徵以及那些具有相似分類信息的重複特徵,因而可以有效降低特徵維數,縮短訓練時間,提高分類準確率。

  目前特徵選擇的方法主要有主成分分析法、最大熵原理、粗糙集理論等。然而由於這些方法主要依據繁複的數學理論,在計算過程中可能存在求導和函數連續性等客觀限定條件,在必要時還需要設定用來指導尋優搜索方向的搜索規則。遺傳算法作為一種魯棒性極強的智能識別方法,直接對尋優對象進行操作,不存在特定數學條件的限定,具有極好的全局尋優能力和並行性;而由於遺傳算法採用概率化的尋優方法,所以在自動搜索的過程中可以自主獲取與尋優有關的線索,並在加以學習之後可以自適應地調整搜索方向,不需要確定搜索的規則。因此遺傳算法被廣泛應用在知識發現、組合優化、機器學習、信號處理、自適應控制和人工生命等領域。

基於改進遺傳算法的特徵選擇

  遺傳算法是一種新近發展起來的搜索最優化算法[2~5]。遺傳算法從任意一個的初始生物種群開始,通過隨機的選擇、交叉和變異操作,產生一群擁有更適應自然界的新個體的新一代種群,使得種群的進化趨勢向著最優的方向發展。圖1中所示的是標準的遺傳算法的流程框圖。

  傳統的遺傳算法存在早熟收斂、非全局收斂以及後期收斂速度慢的缺點,為此本文提出了一種能夠在進化過程中自適應調節變異率,以及利用模擬退火防止早熟的改進遺傳算法,同時該算法利用敏感度信息可以有效地控制遺傳操作。圖2是改進遺傳算法的流程框圖。

染色體編碼和適應度函數

  所謂編碼是指將問題的解空間轉換成遺傳算法所能處理的搜索空間。在特徵選擇問題中,常常使用二進位的編碼形式,使得每個二進位就是一個染色體,其位數長度等於特徵的個數。每一位代表一個特徵,每位上的1表示選中該特徵,0則表示不選中。每一代種群都由若干個染色體組成。

  適應度函數是整個遺傳算法中極為重要的部分[6],好的適應度函數能使染色體進化到最優個體,它決定了在整個尋優過程中是否能夠合理地協調好過早收斂和過慢結束這對矛盾。由於本文針對的是支持向量機的特徵選擇問題,所以考慮以分類正確率和未選擇的特徵個數這兩個參數作為函數的自變量,將分類正確率作為主要衡量標準,未選擇的特徵個數為次要標準。由此建立以下的適應度函數:

  式中C為分類正確率,為未選擇的特徵個數,a是調節係數,用來平衡分類正確率和未選擇的特徵個數對適應度函數的影響程度,同時該係數也體現了用最少的特徵得到較大分類正確率的原則,在本文中a取0.00077。由上式可知,分類正確率越高,未選的特徵個數越多,染色體的適應度就越大。

選擇操作

  選擇操作需要按照一定的規則從原有的種群中選擇部分優秀個體用來交叉和變異。選擇原則建立在對個體適應度進行評價的基礎上,目的是避免基因損失,提高全局收斂性和計算效率。本文首先將整個種群中最優的前40%的個體保留下來,以確保有足夠的優良個體進入下一代,對剩下的60%的個體採用輪盤算法進行選擇,這樣做可以彌補保留前40%個體而帶來的局部最優解不易被淘汰的不利影響,有利於保持種群的多樣性。

基於敏感度信息量的交叉、變異操作

  獨立敏感度信息量Q(i)指的是對在所有特徵都被選中時計算所得到的適應度值Allfitness以及只有特徵i未被選中時計算得到的適應度值Wfitness(i)按式(2)進行計算得到的數值。獨立敏感度信息量刻畫了適應度對特徵i是否被選擇的敏感程度。

  互敏感度信息量R(i,j)由(3)式可得,互敏感度信息量體現了特徵i與特徵j之間對適應度的近似影響程度。

  交叉操作的作用是通過交換兩個染色體之間的若干位從而生成含有部分原始優良基因的新個體。由式(3)可知互敏感度信息量可作為不同特徵之間含有相似分類信息的一種度量,所以可以將互敏感度信息量代入式(4)計算出染色體在第位發生交叉的機率b(i),在式(4)中i和j分別代表特徵i和特徵j,是染色體的長度。b(i)是特徵i相對於其他所有特徵在互敏感度信息量上的歸一量,反映了特徵與其餘特徵在相似信息量上的總和。由此對應到染色體上,b(i)就可以認為是染色體的第i位與整個染色體在基因信息上的相關性,b(i)越小則說明相關性越大,第i位與整個染色體所含的基因信息越接近,此位為分裂點的機率越小。由於b(i)是歸一化量,故可採用輪盤算法來選擇一個交叉點。

變異操作是引入新物種的重要手段,可以有效地增加種群個體的多樣性。本文中的變異率Pm採用相鄰兩代之間的最優適應度增幅比作為自變量進行自適應調節,如式(5)所示。當適應度增幅比正向增大時,較小的增幅比可以使變異率維持在中等水平,並且變異率隨著增幅比的增大而緩慢降低,這樣既能夠擁有一定數量的新個體也可以抑制過多不良染色體的產生,保證優秀染色體的進化足夠穩定;而當適應度增幅比反向增大時,由較小增幅比則可以獲得較高的變異率,並且變異率也伴隨增幅比同比緩慢升高,確保有足夠的染色體發生變異,穩定地加快進化速度。

  式中dis指新生種群的最優適應度相對於原種群的最優適應度的增幅比,j與k均是區間(0,1)上的調節係數。文中的j與k分別取0.65和0.055。

  獨立敏感度信息量在一定程度上體現了單個特徵所含有的分類信息量,如果獨立敏感度信息量小,則說明該特徵所含信息大部分對分類沒有幫助,即該基因位發生突變後對整個染色體的優異性影響不大,突變的概率也就相應減小。因此將獨立敏感度信息量歸一化後所得到的q(i)作為特徵i被選為變異點的概率。變異點的具體選擇方法為:針對一個染色體按照染色體的位數進行循環遍歷,在該循環中由變異率Pm判定是否產生變異位。若需要產生變異位,則依據q(i)按照輪盤算法進行選擇。

模擬退火選群

  在每一輪進化完成後都需要決定進入下一輪進化的種群。如果過多地將較優種群作為父代,就會使算法過早收斂或搜索緩慢。文獻[7]中指出模擬退火算法能夠以一定的概率接受劣解從而跳出局部極值區域並最終趨於全局最優解,因此可以將上文提到的最優適應度增幅比作為能量函數,運用模擬退火的Meteopolis準則來選擇待進化的種群。為了使每個種群得到充分地進化,預防最優解的丟失,這裡採用設置退火步長的策略來實現模擬退火選群。該策略具體為:使退火步長對同一種群作為父代的次數進行計數,一旦產生更優種群則退火步長就置零並重新計數。若退火步長累計超過一定的閾值時,就進入模擬退火選群階段。退火步長累計到一定數量意味著原有種群的進化已經停滯,需要用模擬退火算法擺脫這種停滯狀態。如果增幅比大於零,則說明新生種群優於原有種群,這時完全接受新種群進入下一輪進化;否則新生種群劣於原有種群,並以一定的概率p接受較劣的新生種群[8]進入下一輪進化。接受概率p由式(6)和式(7)共同決定,其中dis為增幅比,T(s)指溫度參數,T0和s分別是初始溫度和迭代次數。

  以上兩式的參數要滿足進化對接受概率的要求。即增幅比負增長越大,接受概率降低越迅速,但接受概率隨迭代次數的增加應緩慢下降。這樣做能夠保證在有限的迭代次數內有一個適應度較優的新生種群進入下一輪進化,以達到減少計算量和優選待進化種群的目的。在本文中T0=0.2,A=0.9,m=0.5。

實例的驗證與分析

  UCI資料庫常用來比較各種方法的分類效果,因此可以用其驗證本算法對支持向量機作用後的分類效果[9][10]。文獻[11]採用了UCI資料庫中的German、Ionosphere和Sonar三種數據作為實驗對象,為了便於與文獻[11]中所用的幾種方法進行對比,本文也採用這三種數據進行實驗,並按照文獻中所述的比例將各類數據分成相應的訓練樣本和測試樣本。

  在種群規模為30,交叉率為0.8,起始變異率為0.1的條件下使用支持向量機作為分類器(懲罰參數為13.7,徑向基核函數參數為10.6)對所選數據進行分類,表1中顯示了本文算法與文獻[11]中幾種算法在分類效果上的對比,表2給出了三種數據的最終選擇結果。表1中共出現了四種方法:方法1:使用本文算法;方法2:使用NGA/PCA方法;方法3:使用PCA方法;方法4:使用簡單遺傳算法。

  由於本文算法旨在用最少的特徵個數最大化分類正確率,因此從表1中可以看出本文算法在特徵選擇個數和分類正確率上均比其他三種方法更具優勢。由於NGA/PCA算法是針對簡單遺傳算法和主成分分析法的不足而做的改進,其性能優於簡單遺傳算法和主成分分析法,所以本文算法的分類效果優於NGA/PCA算法這一事實更能說明該算法可以較好地解決支持向量機的特徵選擇問題。

結語

  通過與其他方法的比較,本文算法的分類效果得到了充分的驗證,也說明了該算法具有極好的泛化能力以及在敏感度信息量地指導下遺傳操作的有效性。

  適應度函數的設計至關重要,它直接影響到最終結果的優劣以及算法的收斂性,所以在適應度函數的設計應考慮所解決問題的側重點。

  分類正確率的高低不僅取決於合理的特徵選擇,而且與支持向量機的參數優化有關。只有在合理的特徵選擇和參數優化的前提下,支持向量機分類器才能發揮出最佳的分類效果。

  由於算法能夠較好地解決支持向量機的特徵選擇問題,因此已被應用在基於支持向量機的數字電路板故障診斷當中,並取得了良好的效果。

相關焦點

  • 一個簡單的案例帶你了解支持向量機算法(Python代碼)
    相反,「支持向量機」就像一把鋒利的刀—它適用於較小的數據集,但它可以再這些小的數據集上面構建更加強大的模型。現在,我希望你現在已經掌握了隨機森林,樸素貝葉斯算法和模型融合的算法基礎。如果沒有,我希望你先抽出一部分時間來了解一下他們,因為在本文中,我將指導你了解認識機器學習算法中關鍵的高級算法,也就是支持向量機的基礎知識。
  • 遺傳算法的實際應用
    遺傳算法:一種啟發式搜索技術,用於大數據計算和人工智慧,使用進化生物學的啟發技術來尋找問題的最佳解決方案。汽車設計通過將遺傳算法組合在一起,可以挑選出架構設計的弱點和可能的出現的故障,從而可以在實際生產中避免這些問題。機器人技術
  • 機器學習特徵選擇常用算法
    2.2.2 啟發式搜索(1)序列前向選擇( SFS , Sequential Forward Selection )算法描述:特徵子集X從空集開始,每次選擇一個特徵x加入特徵子集X,使得特徵函數J( X)最優。簡單說就是,每次都選擇一個使得評價函數的取值達到最優的特徵加入,其實就是一種簡單的貪心算法。
  • 遺傳算法的基本概念和實現(附 Java 實現案例)
    基因遺傳算法是一種靈感源於達爾文自然進化理論的啟發式搜索算法。該算法反映了自然選擇的過程,即最適者被選定繁殖,並產生下一代。本文簡要地介紹了遺傳算法的基本概念和實現,希望能為讀者展示啟發式搜索的魅力。   如上圖(左)所示,遺傳算法當個體由多條染色體組成,每條染色體由多個基因組成。上圖(右)展示了染色體分割和組合方式。
  • Pedro Domingos深度解析機器學習五大流派中主算法精髓
    機器學習五大流派(主要算法)相信填補現有知識的空白的希望從大腦運行方式得到啟發遺傳算法貝葉斯派——統計學——概率推理行為類推主義——心理學——機器內核(支持向量機染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭髮的特徵是由染色體中控制這一特徵的某種基因組合決定的。因此,在一開始需要實現從表現型到基因型的映射即編碼工作。不同的人是通過他們的基因進行區分的,但是與人類不同,計算機的構成單元只是比特符(0和1)。
  • 電纜局部放電特徵優選的新方法,可有效提高故障診斷率
    國網漢中供電公司、上海電力大學、國網陝西省電力公司、國網陝西省電力公司電力科學研究院的研究人員李程、李強、張啟超、劉子瑞、李偉,在2020年第1期《電氣技術》雜誌上撰文(論文標題為「基於支持向量機遞歸特徵消除的電纜局部放電特徵尋優」),提出了一種基於支持向量機遞歸特徵消除且結合了K均值聚類算法的局部放電特徵優選新方法。
  • 模擬退火遺傳算法在多用戶檢測技術中的應用
    考慮到最佳多用戶檢測是求二次整數非線性優化問題的全局最優解,因此將解決優化問題的遺傳算法應用於最佳多用戶檢測技術中是行之有效的。基本遺傳算法存在局部搜索能力較弱和收斂速度較慢等問題[5]。模擬退火法是一種模擬高溫金屬降溫的熱力學過程的隨機組合優化方法。
  • 幾種分類算法初識
    下邊是總結的幾種常見分類算法,這裡只是對幾種分類算法的初步認識,後續還得仔細研究。所謂分類,簡單來說,就是根據文本的特徵或屬性,劃分到已有的類別中。常用的分類算法包括:決策樹分類法,樸素的貝葉斯分類算法(native Bayesian classifier)、基於支持向量機(SVM)的分類器,神經網絡法,k-最近鄰法(k-nearest neighbor,kNN),模糊分類法等等1、決策樹決策樹是一種用於對實例進行分類的樹形結構。一種依託於策略抉擇而建立起來的樹。
  • 基於改進人工勢場法的無人機在線航路規划算法
    近年來,國內外許多學者針對動態環境中的飛行器航路規劃問題做了大量研究,並提出了多種可行的算法——動態規劃法、神經網絡法、啟發式A*搜索法、模擬退火法、遺傳算法、粒子群算法等。另外提出一種虛擬目標方法,選取適當虛擬目標暫時替代實際目標,幫助解決局部極值陷阱問題。仿真結果表明,基於自適應人工勢場法的航路規劃方法滿足在線航路規劃的實時性和安全性要求,勢場局部最小值的處理切實可行。 1 人工勢場法的基本理論與應用 人工勢場法在機器人的路徑規划算法中已經有大量的應用,並常被用於解決三維路徑規劃問題。
  • 回歸、分類與聚類:三大方向剖解機器學習算法的優缺點(附Python和R...
    當然,你所使用的算法必須要適合於你試圖解決的問題,這也就有了如何選擇正確的機器學習任務這一問題。做個類比,如果你需要打掃你的房子,你可能會用吸塵器、掃帚或者是拖把,但是你絕不會掏出一把鏟子然後開始挖地。
  • 【車雲報告】ADAS視覺方案盤點上篇:攝像頭、晶片和算法
    因此在平衡算法和處理速度,尤其是用於前裝並且算法穩定時,FPGA被視為一個熱門方案。FPGA是個好選擇。但同時,FPGA對技術要求也很高。原因在於計算機視覺算法是C語言,FPGA硬體語言是verilog,兩種語言不同,將算法移植到FPGA的人既要有軟體背景,又要有硬體背景。在人才最貴的今天,是筆不小的成本。
  • 機器學習十大算法都是何方神聖?看完你就懂了
    一、有監督學習算法一:決策樹決策樹是一種樹形結構,為人們提供決策依據,決策樹可以用來回答yes和no問題,它通過樹形結構將各種情況組合都表示出來,每個分支表示一次選擇(選擇yes還是no),直到所有選擇都進行完畢,最終給出正確答案。
  • AI 算法解決二進位安全問題,騰訊安全NeurIPS 2020論文有新方法
    機器之心發布 機器之心編輯部 騰訊安全科恩實驗室使用 AI 算法解決二進位安全問題的一項研究被 NeurIPS 2020 接收,該研究首次提出了基於 AI 的二進位代碼 / 原始碼端到端匹配算法,與傳統算法相比效果非常出色
  • 曼孚科技:AI算法領域常用的39個術語(上)
    它並不特指某種具體的算法,而是一類算法的統稱。Encoder-Decoder 算是一個通用的框架,在這個框架下可以使用不同的算法來解決不同的任務。Encoder-Decoder 這個框架很好的詮釋了機器學習的核心思路:將現實問題轉化為數學問題,通過求解數學問題,從而解決現實問題。
  • IJCAI 2018廣告算法大賽落下帷幕,Top 3 方案出爐
    在方案中,他們主要討論了異常日期處理問題,主要思路如下:難點與挑戰這次比賽的難點有二,一是如何在正常流量數據中,找到適合表達促銷/突變的特徵;二是如何在模型選擇上,找到儘快落地於工業界的輕量級框架。對於異常日期處理而言,僅僅考慮前六天的轉化率和第七天的高轉化率是不太適合的,如何處理第七天的轉化率異常是這道題需要解決的一大痛點。四種訓練集劃分針對此問題,他們根據對數據的分析、特徵的構建、以及對實際場景的思考,提出了四種訓練集劃分:1. 全量統計特徵提取第七天特徵——all-to-7 2. 全量數據的抽樣統計——sample 3.
  • 【AI造夢】哈佛大學用GAN+遺傳算法,創造圖像控制猴子大腦
    在這個研究中,來自哈佛大學醫學院的幾位研究人員,使用預訓練的深度生成神經網絡 (Dosovitskiy and Brox, 2016) 和遺傳算法,實現了讓神經元反應來知道合成圖像的進化。深度生成對抗網絡通過遺傳算法表達和搜索為了記錄視覺神經元的活動,研究團隊將微電極陣列植入六隻猴子的下顳葉皮質 (耳朵上方稍微靠後的區域)。
  • 人工智慧之K近鄰算法(KNN)
    如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。K近鄰算法使用的模型實際上對應於對特徵空間的劃分。  通俗地講,就是「物以類聚,人以群分」。  分類策略,就是「少數從屬於多數」。
  • 以AIoT開發中臺為驅動力,神目構建物聯網全棧解決方案
    行業需要有效解決跨系統、跨平臺、跨部門所存在的「數據孤島」問題,快速完成系統級整合。 神目科技開始思考,如何集合神目的AI算法能力、設備管理能力以及數據處理能力,為行業的開發者構建一個統一的能力平臺,該平臺具備開放、共享、可持續擴展的特性,分層解耦,不同行業或需求的客戶可按需調取需要的核心能力,更敏捷、快速的開發以滿足行業多樣化應用。