李亞擎
摘要:
本文提出一種基于支持向量機(Support Vector Machine,SVM)算法的擾動判別和擾動模式識別的方法,算法首先通過穩定性競爭自適應重加權采樣(SCARS)提取信號時域和頻域特征,其次基于時域和頻域特征建立了SVM算法分類器,最后通過分類器進行擾動模式識別研究。
關鍵詞:SVM;φ-OTDR;分類器;模式識別;SCARS
一、SCARS的特征選擇原理
穩定性競爭自適應重加權采樣[15](SCARS)算法的度量標準是算法的穩定性,當算法越穩定時,變量被選擇的概率越大。全部計算過程里包含N個循環數據,首先,需要計算出所有特征的穩定性,然后通過強制變量的篩選和自適應重加權采樣法[16](adapting reweighted sampling, ARS)計算出穩定性較大的變量,把這些變量放入一個集合中。循環結束后,可以得到N個穩定性較大的變量集合,其次,對每個集合進行PLS建模,最后,根據模型中RMSECV值最小原則選擇出最合適的集合。變量穩定性的評價規則如下:
矩陣 為所測樣本的特征矩陣,n為樣本數,p為變量數,表示目標性質變量,建立PLS回歸模型時,X與y的關系可以表示為
?其中 和 ?分別表示M次采樣后第j個變量自回歸系數的平均值和標準偏差,從式(6)可以看出, ?值越大, ?值越小,該變量的穩定值越大,重要性越強。
同上所述,整個循環結束后將獲得N個變量子集,對每個變量子集進行PLS建模,然后根據模型RMSECV值最小原則選擇最優的變量子集。SCARS具體算法步驟如下:
Step1:當循環次數 時,計算原始變量集V中各變量的穩定性值;
Step2:通過衰減指數函數將較為穩定的變量保存,變量的保留率 ?其中 , ,p為原始變量數;
Step3:通過ARS采樣技術從Step2將穩定值較大的變量保存,把所篩選的變量作為第i次變量子集 ;循環次數 ;
Step4:第i次循環 時,計算變量子集 中各變量的穩定性值,依次執行Step2,Step3;
Step5:若 ,執行Step4;若 ,執行Step6;
Step6:將以上步驟進行N次循環,共獲得N個穩定性強的變量集合 ,建立每個變量的PLS模型,計算它們的RMSECV值;
Step7:根據計算的RMSECV值,選擇其中最小的值,將此值對應的集合視作最優集合。
二、特征選擇結果
隨著采樣運行次數的增加,特征的數量迅速下降,然后緩慢下降。可以認為首先進行了初步選擇,然后進行了精細選擇。在1-34次的采樣運行中,(五倍交叉驗證的最小均方誤差)RMSECV逐漸減小,這意味著冗余特征不斷被刪除。在進行了34次采樣后,RMSECV逐漸增加,這意味影響分類性能的關鍵特征被刪除了。在回歸系數路徑的變化中,每條線代表一個變量,當線條觸及y=0時將其消除,說明關鍵特征被掩蓋。綜合來看,當進行第34次的特征篩選時,RMSECV達到最小值,共選擇了172個關鍵特征,特征變量個數由1600個減小到172個,刪除了絕大部分的冗余特征。
三、SVM分類原理
支持向量機根據數據的特征值,找到其最優超平面將其分為兩種類型。對于在低維空間無法線性可分的數據集,SVM利用核函數將它們變換到高維度的空間,這樣在低緯度線性不可分的數據集在高維度就線性可分了。本文選擇徑向核函數作為SVM的分類核函數。
利用網格搜索法計算這兩個參數,這可以提高分類器的分類性能。為了提高計算效率,使用GPU進行網格搜索。同時,為了避免欠擬合于過擬合現象的發生,將交叉驗證法與正則表達式引入公式中。當交叉驗證法的值最高時,認為此時c和g的取值是最佳的[17]。
四、 SVM分類結果
在SVM分類之前需要劃分訓練集和預測集,訓練集用來建立SVM模型。同時,使用預測集驗證分類效果。本文共包含4個類別,它們的樣本數量分別為:1510個、103個、366個與306個,共2285個樣本。在每個類別中隨機選擇80%的樣本作為訓練集,剩余的20%作為預測集。這樣訓練集共包含1828個樣本,測試集共包含457個樣本。不同的參數組合對SVM的分類影響很大。因此,需要使用參數優化方法對SVM分類效果進行優化[18]。
在網格搜索中,步長為0.1,c和g的范圍均是(2-10, 210)。可以看出當最高交叉驗證準確率達到88.2385%時,獲得最佳參數c為36.7583,最佳參數g為0.047366。通過基于最佳參數建立的SVM模型的預測集分類結果得出,最終統計獲得了85.3392%的分類準確率。