本發明涉及故障診斷與健康管理領域,尤其涉及一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法及裝置。
背景技術:
吊艙是懸掛在運動載體(飛機、船舶)外艙體有效載荷容器裝置,根據設備功能,吊艙可以分為導航吊艙、捕控指令吊艙、瞄準吊艙、紅外測量吊艙、電子干擾吊艙以及電子情報吊艙。吊艙在使用過程中具有反復性,工作時吊掛在飛機下隨飛機飛行。隨著軍隊飛行任務的日益加劇,吊艙在頻繁的掛飛訓練過程中受到起降時振動沖擊以及高空飛行超低溫環境的侵蝕,導致吊艙的故障率不斷提升,吊艙的測試保障任務日益加劇。吊艙是配合精確制導武器使用的必不可少的部件,保證吊艙的完好率是武器測試維修保障的重要內容。但是在吊艙測試設備研制中專用測試設備復雜、擴展能力差,測試設備的投資巨大,重復使用率低,不能滿足武器裝備設計生產的“三化”要求。同時,吊艙測試設備缺乏有效的故障診斷方法,多停留在以采集到的實時數據來初判故障類型,缺乏對復雜信號的故障診斷能力。
技術實現要素:
鑒于上述的分析,本發明旨在提供一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法及裝置,用完全或者至少部分地解決上述問題。
為解決上述問題,本發明主要是通過以下技術方案實現的:
本發明一方面提供了一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法,該方法包括:
步驟一、獲取吊艙故障診斷樣本,對數據進行標準化處理,提取特征向量,對數據進行歸一化處理,并將其劃分為訓練集和測試集;
步驟二、初始化種群,將種群劃分為若干個子種群,構建粒子群優化算法,利用每次環境下多種群方法找到局部和全局最優解信息,保存在記憶體中;
步驟三、當吊艙類型或環境發生變化,選取記憶體中粒子組成新的種群,新種群經歷相同的循環,直至達到停止條件;
步驟四、取得支持向量機模型的最優結構參數,建立多核支持向量機故障診斷模型,由多項式核函數和徑向基(Radial Basis Function,RBF)核函數構成的組合核,采用訓練集對構建的模型進行訓練,直到達到停止條件;
步驟五、采用訓練集樣本對模型進行訓練,交叉驗證分類模型準確率;
步驟六、將測試集數據輸入到優化后的支持向量機故障診斷模型,檢驗模型的故障診斷準確率,并輸出結果。
進一步地,所述步驟二具體包括:將種群劃分為多個子種群,采用多線程記憶制粒子群算法充分利用每次環境下多種群方法得到的局部和全局最優解信息,將當前環境下能找到的局部和全局最優解保存在記憶體中。
進一步地,所述步驟三具體包括:采用適于動態環境的粒子群算法,當檢測環境發生變化,取出記憶體中的粒子,當記憶體中的粒子數小于種群個數,則隨機PopSize-NUM個粒子,組成新的種群,當記憶體中粒子大于種群個數,則選擇適應度較好的前PopSize個粒子組成新的種群,然后進入到新的循環中,直至達到停止條件。
進一步地,所述步驟四具體包括:基于粒子群算法尋優得到的支持向量機的最優結構參數,建立多核支持向量機故障診斷模型。
進一步地,所述步驟五具體包括:采用交叉驗證的方式,選用訓練集中分類準確率最高支持向量機模型,在分類準確率相同的情況下選用懲罰因子C最小的一組,然后采用測試集驗證模型的檢測性能。
本發明另一方面還提供了一種動態粒子群算法優化的多核支持向量機吊艙故障診斷裝置,該裝置包括,
獲取單元,用于獲取吊艙故障診斷樣本,對數據進行標準化處理,提取特征向量,對數據進行歸一化處理,并將其劃分為訓練集和測試集;
初始化單元,用于初始化種群,將種群劃分為若干個子種群,構建粒子群優化算法,利用每次環境下多種群方法找到局部和全局最優解信息,保存在記憶體中;
第一處理單元,用于當吊艙類型或環境發生變化,選取記憶體中粒子組成新的種群,新種群經歷相同的循環,直至達到停止條件;
第二處理單元,用于取得支持向量機模型的最優結構參數,建立多核支持向量機故障診斷模型,由多項式核函數和徑向基(Radial Basis Function,RBF)核函數構成的組合核,采用訓練集對構建的模型進行訓練,直到達到停止條件;
驗證單元,用于采用訓練集樣本對模型進行訓練,交叉驗證分類模型準確率;
輸出單元,用于將測試集數據輸入到優化后的支持向量機故障診斷模型,檢驗模型的故障診斷準確率,并輸出結果。
所述初始化單元還用于,將種群劃分為多個子種群,采用多線程記憶制粒子群算法充分利用每次環境下多種群方法得到的局部和全局最優解信息,將當前環境下能找到的局部和全局最優解保存在記憶體中。
所述第一處理單元還用于,采用適于動態環境的粒子群算法,當檢測環境發生變化,取出記憶體中的粒子,當記憶體中的粒子數小于種群個數,則隨機PopSize-NUM個粒子,組成新的種群,當記憶體中粒子大于種群個數,則選擇適應度較好的前PopSize個粒子組成新的種群,然后進入到新的循環中,直至達到停止條件。
所述第一處理單元還用于,基于粒子群算法尋優得到的支持向量機的最優結構參數,建立多核支持向量機故障診斷模型。
所述驗證單元還用于,采用交叉驗證的方式,選用訓練集中分類準確率最高支持向量機模型,在分類準確率相同的情況下選用懲罰因子C最小的一組,然后采用測試集驗證模型的檢測性能。
本發明有益效果如下:
本發明結合動態粒子群算法建立多核支持向量機模型適合多型吊艙的故障診斷,該算法具有一定的適應性、魯棒性和準確性,可以有效的對吊艙故障進行定性、定量和定位診斷。
本發明的其他特征和優點將在隨后的說明書中闡述,并且部分的從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
附圖說明
圖1為本發明實施例的一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法的流程示意圖;
圖2為本發明實施例的一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法的流程圖;
圖3是采用本發明的支持向量機模型吊艙故障診斷結果示意圖。
具體實施方式
下面結合附圖來具體描述本發明的優選實施例,其中,附圖構成本申請一部分,并與本發明的實施例一起用于闡釋本發明的原理。為了清楚和簡化目的,當其可能使本發明的主題模糊不清時,將省略本文所描述的器件中已知功能和結構的詳細具體說明。
本發明提供了一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法及裝置,本發明結合動態粒子群算法建立多核支持向量機模型適合多型吊艙的故障診斷,該算法具有一定的適應性、魯棒性和準確性,可以有效的對吊艙故障進行定性、定量和定位診斷。以下結合附圖以及幾個實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不限定本發明。
本發明實施例提供了一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法,參見圖1,該方法包括:
S101、獲取吊艙故障診斷樣本,對數據進行標準化處理,提取特征向量,對數據進行歸一化處理,并將其劃分為訓練集和測試集;
S102、初始化種群,將種群劃分為若干個子種群,構建粒子群優化算法,利用每次環境下多種群方法找到局部和全局最優解信息,保存在記憶體中;
S103、當吊艙類型或環境發生變化,選取記憶體中粒子組成新的種群,新種群經歷相同的循環,直至達到停止條件;
S104、取得支持向量機模型的最優結構參數,建立多核支持向量機故障診斷模型,由多項式核函數和RBF核函數構成的組合核,采用訓練集對構建的模型進行訓練,直到達到停止條件;
S105、采用訓練集樣本對模型進行訓練,交叉驗證分類模型準確率;
S106、將測試集數據輸入到優化后的支持向量機故障診斷模型,檢驗模型的故障診斷準確率,并輸出結果。
具體實施時,本發明實施例所述步驟102具體包括,將種群劃分為多個子種群,采用多線程記憶制粒子群算法充分利用每次環境下多種群方法得到的局部和全局最優解信息,將當前環境下能找到的局部和全局最優解保存在記憶體中。
具體實施時,本發明實施例所述步驟S103具體包括,采用適于動態環境的粒子群算法,當檢測環境發生變化,取出記憶體中的粒子,當記憶體中的粒子個數(NUM)小于種群個數(PopSize),則隨機產生PopSize-NUM個粒子,組成新的種群,當記憶體中粒子大于種群個數,則選擇適應度較好的前PopSize個粒子組成新的種群,然后進入到新的循環中,直至達到停止條件。
具體實施時,本發明實施例所述步驟S104具體包括,基于粒子群算法尋優得到的支持向量機的最優結構參數,建立多核支持向量機故障診斷模型。
具體實施時,本發明實施例所述步驟S105具體包括,采用交叉驗證的方式,選用訓練集中分類準確率最高支持向量機模型,在分類準確率相同的情況下選用懲罰因子C最小的一組,然后采用測試集驗證模型的檢測性能。
總體來說,本文發明公開了一種改進的粒子群算法,引入動態響應機制,使得粒子能夠獲得感知外部環境變化的能力,適應動態環境,滿足吊艙測試中多型號、多故障類型、測試環境動態變化的檢測要求。建立的多核支持向量機模型能夠提高模型的學習能力和泛化能力,經過多線程記憶制粒子群算法尋優得到的最優參數,提高吊艙故障診斷的效率和準確率。首先獲取吊艙檢測數據,提取故障類型的特征向量;然后通過多線程記憶制粒子群算法對支持向量機進行參數尋優;采用多項式核函數和RBF核函數建立多核支持向量機分類模型;采用訓練集樣本對模型進行訓練,交叉驗證分類模型準確率;最后將測試集數據輸入到優化后的支持向量機故障診斷模型,檢驗模型的故障診斷準確率并輸出結果。
本發明結合動態粒子群算法建立多核支持向量機模型適合多型吊艙的故障診斷,該算法具有一定的適應性、魯棒性和準確性,可以有效的對吊艙故障進行定性、定量和定位診斷。
圖2為本發明實施例的一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法的流程圖,下面將結合圖2對本發明所述的方法進行詳細的解釋和說明:
本發明的目的是提供一種改進的動態粒子群算法優化的支持向量機故障診斷方法,采用多線程記憶制的多種群粒子群優化算法,實現對多核支持向量機中的參數(核權重因子ρ,懲罰因子C,核參數σ、d)的優化,建立支持向量機模型,采用訓練集對模型進行訓練,最后采用測試集數據對模型進行測試,得出測試結果。
基于動態粒子群算法優化的多核支持向量機吊艙故障診斷方法,依次包括以下步驟:
步驟1)獲取吊艙故障診斷樣本數據;
獲取吊艙測試數據,尤其是吊艙的故障數據,數據來源于測試、實驗和仿真數據,對數據進行標準化處理;
提取數據的特征向量,對數據進行歸一化處理,將數據樣本劃分為訓練集和測試集;
步驟2)構建粒子群優化算法;
2.1)初始化種群,在給出的搜索空間內初始化n個D維粒子的位置和速度,n個粒子的種群X=(X1,X2,…,Xn),第i個粒子表示一個D維向量Xi=[xi1,xi2,…,xiD]T,第i個粒子的速度為Vi=[vi1,vi2,…,viD]T,個體極值Pi=[Pi1,Pi2,…,PiD]T,種群全局極值Pg=[Pg1,Pg2,…,PgD]。
2.2)利用多種群方法將種群分為若干個子種群SubPop[i],對每個子種群進行粒子群尋優處理。
2.3)設置迭代公式,粒子通過個體極值和全局極值更新自身的速度和位置迭代公式為:
式中,w為慣性權重;d=1,2,…,D;i=1,2,…,n;k為迭代次數,c1和c2是加速度因子,非負常數;r1和r2為分布在[0,1]之間的隨機數;為了防止粒子的盲目搜索,粒子的位置和速度分布在[-Xmax,Xmax]、[-Vmax,Vmax]。
慣性權重
w(k)=wstart+(wstart-wend)(2k/Tmax-(k/Tmax)2)
式中,wstart為初始慣性權重,wend為迭代次數最大時的慣性權重,k為當前的迭代次數,Tmax為最大迭代次數。
2.4)計算得到當前粒子的適應度值,通過多次迭代得到自身最優適應度值,更新個體最優適應度值gibest和群體歷史最優位置Zibest,補充并更新記憶體中的全局最優位置和局部最優位置。
2.5)檢查吊艙類型、工作環境等是否發生變化,如果未發生變化,則轉置步驟4,建立支持向量機模型。如果發生變化,采用多線程記憶制粒子群算法進行尋優,然后轉置步驟3。
步驟3)多線程記憶制粒子群優化算法
3.1)記錄每個子種群SubPop[i]中適應度最好的粒子besti并保存在記憶體中,環境變化前記憶體中共保存NUM個粒子;
3.2)如果環境發生變化,取出記憶體中NUM個粒子并且同種群數Popsize作比較,如果NUM<Popsize,由記憶體中的粒子和隨機產生的Popsize-NUM個粒子組成新種群,如果NUM>Popsize,則選取記憶體中的粒子適應度值較高的前Popsize個粒子組成新種群。
3.3)組成新種群后,轉置步驟2.2。
步驟4)建立支持向量機吊艙故障診斷模型
4.1)得到優化后的支持向量機參數:核權重因子ρ,懲罰因子C,核參數σ、d,建立支持向量機故障診斷模型。
4.2)建立支持向量機模型
y=f(x)=wx+b
最優超平面求解轉換為約束最優化問題,最優化函數為:
引入Lagrange因子,建立Lagrange函數:
約束最優化問題在鞍點處取得,可以將拉格朗日函數轉變為對偶問題:
進而,根據最優條件(KKT)準則,轉變為二次極值問題:
滿足的條件為:ai{[(w·xi)+b]yi-1}=0
吊艙故障診斷屬于線性不可分問題,為了達到分類誤差概率最小的目的,引入懲罰因子C和松弛因子ξi,將模型轉換為約束最優化問題:
滿足的約束條件為:
本發明采用多項式核函數和RBF核函數的組合核函數將線性不可分問題轉化為高維空間的線性問題。線性不可分模式的對偶問題表示為:
式中多項式核函數
由多項式核函數和徑向基(Radial Basis Function,RBF)核函數RBF核函數KRBF(xi·xj)=exp(-||xi-xj||2)/2σ2
求解的最優函數為:
約束條件為:
0≤ρ≤1
KKT條件轉化為:
4.3)建立多核支持向量機模型,提高模型的學習能力和泛化能力,采用訓練集對模型進行訓練,得出準確度值,如果準確度滿足要求則轉置步驟5,否則轉置步驟2.2。
步驟5)采用測試集驗證建立的多核支持向量機模型,通過支持向量機模型判斷測試集模型的故障類型,輸出故障診斷結果。
為了展示本發明提出的動態粒子群算法優化的多核支持向量機吊艙故障診斷方法的檢測效果,在此以一個實例說明。
采用多線程記憶制粒子群算法對支持向量機模型進行尋優,得到最優化支持向量機結構參數,建立多核支持向量機分類模型,采用訓練集對模型進行訓練,訓練集測試結果正確率為100%,采用測試集樣本數據對模型的檢測效果進行測試。樣本的測試集中給出90組不同類型的故障診斷數據,每組數據對應的故障類型已知,每種故障類型的分類準確率如表1所示。
表1吊艙故障診斷與分類準確率
本實例中最大迭代次數100,wstart=0.9,wend=0.4,c1=2.15,c2=1.25,r1=0.2,r1=0.8,最優支持向量機參數為,C=0.8124,ρ=0.35,σ=2.188,d=3。圖3給出了測試集中模型的診斷效果,從圖3中可知,吊艙的故障診斷模型具有較高的故障識別效果,測試集中指令發送異常、射頻回路異常、圖像發射異常故障檢出率為100%,天線伺服檢查異常的故障檢出率為92.3%,測試的90組數據中,總的故障檢出率為97.8%,故障定位準確,相比以前吊艙故障診斷,準確率大幅提高。
本發明至少能夠獲得以下的有益效果:一種動態粒子群算法優化的多核支持向量機吊艙故障診斷方法,結合某多型吊艙通用檢測平臺,獲取吊艙故障診斷數據,提取數據的特征向量,形成數據樣本,劃分為訓練集和測試集;利用改進的多線程記憶制粒子群算法得到支持向量機模型的最優參數,該算法符合吊艙類型和檢測環境動態變化的要求;采用多項式核函數和RBF核函數建立吊艙故障診斷多核模型,提高模型的學習能力和泛化能力;采用訓練集對建立的模型進行訓練,模型滿足要求后,采用測試集檢測模型性能,輸出檢測結果。具有如下具體優點:
1)采用粒子群算法對支持向量機參數進行優化,快速、高效的確定支持向量機最優結構參數。
2)基于吊艙類型和檢測環境的動態變化,改進了粒子群優化算法,多線程記憶機制充分利用每次環境下多種群方法找到的局部和全局最優信息,記憶體中包含全局最優解和局部最優解,這些信息在吊艙的動態優化算法中都被保存下來,不會遺失。
3)建立了多核支持向量機模型,采用多項式核函數和RBF核函數,提高了模型的學習能力和泛化能力,通過交叉驗證得到最優化的支持向量機模型。
以上所述,僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求書的保護范圍為準。