王義東 劉天羽
(上海電機學院電氣學院,上海201306)
1994年,知名美國學者Forrest等[1]提出了陰性選擇算法(Negative Selection Algorithm,NSA),作為人工免疫系統中的核心算法之一,陰性選擇算法通過模仿成熟T細胞的自我審查過程,訓練出來的成熟檢測器具有只識別非自體異常數據的能力[2]。但是由于NSA生成的檢測器不能完全有效覆蓋非自體空間,存在“黑洞”問題,檢測效率不高。
本文采用遺傳算法來優化NSA生成的檢測器,提高其檢測效率。
在生物免疫識別系統的陰性選擇原理的基礎上提出的陰性選擇算法,被廣泛應用于故障檢測、垃圾檢測、病毒檢測等方面。
首先用字符串分別代表自體集(S)和非自體集(N),然后通過設定好的匹配閾值和匹配規則等參數隨機生成長度為L的字符串d,字符串d即表示未成熟的檢測器。根據設定的匹配閾值及規則,令d分別與自體集S中的元素進行匹配,若匹配則繼續生成隨機字符串,若不匹配,則將d加入到成熟檢測器集D[3]。成熟檢測器D用于檢測非自體集N,若匹配則說明檢測出異常。
遺傳算法(Genetic Algorithm,GA)是通過對生物系統進行計算機模擬演化而來的[4]。GA的理論依據來源于自然界生物進化機制,并在此基礎上結合了達爾文進化論以及孟德爾遺傳學說,是一種高效、并行、隨機、全局的搜索和優化方法。遺傳算法優化檢測器的具體步驟為:
(1)對每條染色體所對應的個體適應度進行評價,把染色體比作檢測器,每條染色體對應的個體適應度表示檢測器對非自我元素的匹配程度。
(2)遵循適應度越高,選擇概率越大的原則,即檢測器與非自我元素的匹配度越高,該檢測器成為成熟檢測器的概率越大。
(3)從成熟檢測器集中選擇兩個個體作為父方和母方,根據匹配度對父方、母方檢測器進行交叉產生子代。
(4)對子代進行變異。
(5)判斷檢測器集中的檢測器是否隨著迭代次數的增加持續更新,當檢測器停止更新或者達到迭代次數上限時輸出結果,否則回到步驟(1)重新進行循環。
遺傳算法優化的陰性選擇算法在齒輪箱故障檢測中應用的整體過程分為更新檢測器和故障檢測兩個模塊。在檢測器更新階段,先采集正常齒輪箱和故障齒輪箱的振動信號,處理正常振動信號后,根據陰性選擇原理可以得到一個成熟檢測器集。再用遺傳算法優化已生成的成熟檢測器,把每個檢測器的故障檢測率作為其優化適應度。假設進行了n次故障檢測,對檢測出的每個故障i(i=1,2,3,…,n),令Ai和Bi分別表示正常和故障狀態下檢測器可以匹配的樣本數目。檢測率Ci的表達式為:
常見的齒輪箱故障有斷齒、磨損、點蝕等[5],本文主要對發生斷齒和點蝕故障時的信號進行研究分析。為驗證該方法的有效性,收集了5 000個正常齒輪箱的樣本和5 000個故障齒輪箱的樣本,故障類型分別為斷齒和點蝕,斷齒檢測性能如圖1所示。斷齒和點蝕檢測率如表1所示。為了對比效果,分別使用遺傳算法優化后生成的檢測器和未優化的陰性選擇算法生成的檢測器對兩種故障進行檢測。

圖1 斷齒故障檢測性能

表1 原始NSA檢測器的故障檢測率
用遺傳算法優化后的NSA診斷斷齒故障,其檢測性能和檢測率分別如圖2和表2所示。
通過對比表1和表2的數據情況可以發現,普通檢測器的C值僅為72.4%(A=8,B=21)使用遺傳算法優化后C值增加到90%(A=12,B=106)。這表明通過遺傳算法優化的陰性選擇算法生成的檢測器對單獨的故障的檢測率更高。

圖2 遺傳算法優化后的NSA檢測器的斷齒故障檢測
以此類推,遺傳算法優化后的檢測器對具有雙重故障(斷齒和點蝕)的齒輪箱檢測性能也有提高,檢測率數據如表3所示。比較表1和表3即可發現,斷齒和點蝕的檢測率分別從72.4%和80%提高到88%和87.4%。由此可知,基于遺傳算法優化的NSA對雙重故障的檢測率也有所提高。

表3 遺傳算法優化的NSA檢測器的雙重故障檢測率
作為人工免疫系統典型算法之一,陰性選擇算法在故障檢測中得到了廣泛的應用。本文提出了基于遺傳算法優化的陰性選擇算法,通過遺傳算法優化NSA生成的成熟檢測器,提升了故障檢測效率。通過仿真分析得知,該方法可以有效提高單獨故障及復合故障的檢測率。