高大惟,劉建玲
(1.南京信息工程大學公共管理學院,江蘇南京 210044;2.河北省玉田縣氣象局,河北唐山 064100)
高分子濕敏電容器是近年來在氣象濕度測量中應用最廣泛的傳感器,但是濕敏元件要長期暴露在空氣中,線性度和抗污染,性能較差,很容易受到污染影響其測量準確度。同時溫度的變化對濕敏電容影響大,是導致測量誤差的主要原因之一,所以對濕度傳感器進行溫度補償是必要的[1-2]。
典型BP神經(jīng)網(wǎng)絡常被用于傳感器的誤差補償中,但易陷入局部極小,其求得網(wǎng)絡最優(yōu)的可能性小[3-4]。支持向量機是以結構風險最小化為準則的機器學習方法,較好地解決了非線性、局部極小等問題[3]。但是支持向量機的參數(shù)選擇是難點,傳統(tǒng)的經(jīng)驗和試湊法使得參數(shù)選擇不準確,預測精度差,網(wǎng)格尋優(yōu)方法則耗時長[5-6]。文中將改進的粒子群算法(PSO)用于支持向量機(SVM)的參數(shù)尋優(yōu),建立了濕度傳感器的溫度補償模型,驗證了粒子群支持向量機在濕度傳感器溫度補償上的有效性,并通過與其他SVM參數(shù)尋優(yōu)方法進行對比驗證了改進粒子群算法的優(yōu)越性,并利用MATLAB GUI設計了方便有效的濕度傳感器溫度補償軟件。
濕度傳感器受環(huán)境濕度和溫度因素影響,一般采用逆向建模的方法對其進行非線性補償以消除溫度的影響。文中利用支持向量機函數(shù)作為傳感器的補償環(huán)節(jié),來逼近濕度傳感器模型的非線性關系函數(shù),使補償后的輸出具有理想特性,如圖1所示。
圖1 濕度傳感器的支持向量機溫度補償原理
支持向量機非線性回歸通過一個非線性映射函數(shù)φ將樣本映射到高維特征空間中,在高維空間進行線性回歸運算,從而獲得原輸入空間的非線性回歸效果[7]。非線性回歸問題轉化為求下面的優(yōu)化問題。
(1)
文中選用徑向基核函數(shù),利用Lagrange乘子法解決上述問題就可以最終得到如下回歸函數(shù)。
(2)
(3)
SVM參數(shù)選擇直接影響預測精度,用PSO對參數(shù)進行尋優(yōu)使得參數(shù)選擇具有目的性[8]。慣性權重w是PSO可調節(jié)參數(shù)中最重要的參數(shù),較大的w使算法具有較強的全局收斂能力,較小的w使算法具有較好的局部收斂能力。因此,隨著迭代次數(shù)的增加,w應該不斷減小,這樣能夠防止PSO算法前期容易出現(xiàn)早熟收斂,后期易在全局最優(yōu)值附近震蕩的現(xiàn)象。文獻[9]采用線性遞減權重法讓w從最大線性減到最小值,它把種群的進化看成是均勻的過程,但實際大多是非線性的,進化中每代所需的比例關系并不一定相同,所以線性遞減權重方法不能描述復雜的非線性尋優(yōu)問題,文中采用非線性的遞減慣性權重加以改進,計算公式如下:
(4)
式中:wmax、wmin,表示為慣性權重w的最大值、最小值;t為當前迭代次數(shù);tmax為最大迭代次數(shù);k為常數(shù)。
這樣在進化初期w較大,隨著迭代次數(shù)的增加,w快速下降,算法前期有較強的全局搜索能力、后期要有較強的局部搜索能力,實現(xiàn)了PSO算法全局搜索和局部開發(fā)能力之間的平衡。利用改進的粒子群算法(AMPSO)對SVM參數(shù)尋優(yōu)過程如圖2所示。
圖2 AMPSO-SVM算法流程圖
文中的研究對象是自動氣象站廣泛使用的HMP45D溫濕集成傳感器,對傳感器進行逐溫度點、逐濕度點測試并采集數(shù)據(jù)。傳感器的輸出電壓0~1 V與濕度值0~100%RH相對應,將多次測量的平均值作為實驗數(shù)據(jù)[10]。實驗選取的溫度范圍為-30~40 ℃,濕度為10%~95%RH,如圖3所示,在沒有溫度補償?shù)那闆r下測得的濕度數(shù)據(jù)誤差較大,不能達到使用要求。
圖3 濕度傳感器測量誤差隨溫度變化曲線
將傳感器標定數(shù)據(jù)分為訓練和測試2個樣本,對訓練樣本進行SVM溫度補償,利用得到的數(shù)學模型對測試樣本進行預測。訓練樣本為圖3中的80組樣本,測試樣本為不同溫濕度下互不相關的64組數(shù)據(jù)。
利用SVM將濕度傳感器測得的溫度值和濕度值作為輸入,將標準濕度值作為輸出。利用式(5)將數(shù)據(jù)歸一化到(-1,1)區(qū)間。其中xmax、xmin為x的最大值和最小值。ymax為1,ymin為-1,y為歸一化后的數(shù)據(jù)。
(5)
在libsvm中,3個待優(yōu)化的SVM參數(shù)是:懲罰參數(shù)C、徑向基核函數(shù)參數(shù)gamma=1/(2σ2)、不敏感損失函數(shù)系數(shù)ε.分別用c、g、p表示,SVM訓練得到的最佳參數(shù)為bestc、bestg、bestp。表1為改進粒子群算法基本參數(shù)設置。
表1 改進粒子群算法基本參數(shù)設置
適應度函數(shù)為SVM訓練樣本的均方誤差(mse)。假設f(xi)為實際輸出,yi為期望輸出,n為樣本數(shù)目。適應度函數(shù)(fitness)為:
(6)
改進粒子群支持向量機訓練得到的適應度曲線如圖4所示。改進的粒子群支持向量機(AMPSO-SVM)、網(wǎng)格尋優(yōu)支持向量機(GRID-SVM)以及遺傳算法支持向量機(GA-SVM)3種方法的參數(shù)選取結果如表2所示。表3為樣本均方誤差。表4為3種方法運行時間對比。
3種方法對訓練及測試樣本的相對誤差(Er)結果如圖5所示。Er計算公式如下:
(7)
圖4 改進粒子群支持向量機適應度曲線
表2 SVM參數(shù)選取結果
表3 樣本均方誤差
圖5 3種方法相對誤差曲線
表4 3種方法運行時間對比 s
由圖5可以看出,3種方法都能夠改善濕度傳感器受溫度影響導致精度下降問題,其中AMPSO-SVM的補償效果最好,相對誤差絕對值都在3%之內。從表3可以看出,AMPSO-SVM對樣本的均方誤差最小,說明AMPSO-SVM的補償和泛化能力均優(yōu)其他2種方法。從表4可以看出,改進的粒子群算法對SVM進行參數(shù)尋優(yōu)的時間最短。綜上可知,文中改進的AMPSO-SVM算法能夠有效補償溫度對濕度傳感器的影響,而且訓練的速度和補償?shù)木榷家獌?yōu)于其他算法。
圖5 3種方法相對誤差曲線
濕度傳感器的SVM溫度補償軟件是采用MATLAB的自帶的圖形用戶界面GUI開發(fā)的。軟件功能流程圖如圖6所示,運行效果如圖7所示。
圖6 軟件功能流程圖
圖7 軟件運行效果圖
將改進的非線性慣性權重粒子群算法用于支持向量機的參數(shù)選擇,建立了濕度傳感器的溫度補償模型,并與網(wǎng)格尋優(yōu)支持向量機方法和遺傳算法支持向量機方法進行了比較。AMPSO-SVM方法的預測結果的相對差均小于3%,符合濕度傳感器精度要求,有效改善了溫度對濕度測量的影響,并且補償精度和收斂速度都要優(yōu)于其他2種方法。說明改進的粒子群支持向量機方法用于濕度傳感器的溫度補償是有效可行的,同時濕度傳感器的SVM溫度補償軟件界面友好,操作方便,具有很強的實用性。
參考文獻:
[1] 張偉星,王曉蕾,陳曉穎,等.電子探空儀氣壓傳感器特性.解放軍理工大學學報,2011,12(6):696-701.
[2] 蘆俊,陳俊杰,顏景平.基于遺傳算法的傳感器系統(tǒng)的非線性校正.儀表技術與傳感器,2001(6):38-40.
[3] 周燕.遺傳算法與BP神經(jīng)網(wǎng)絡相結合的說話人識別系統(tǒng).傳感器與微系統(tǒng),2009,28(6):98-103.
[4] 袁楚明,廖圣華,劉繄,等.光纖傳感器的神經(jīng)網(wǎng)絡光強補償及非線性校正.儀表技術與傳感器,2012(2):108-110.
[5] 于雷,辛曉越,盧志泳,等.基于SVM的人體運動狀態(tài)檢測.計算機科學,2013,40(6):166-172.
[6] 強生杰,孔令剛.壓力傳感器的支持向量機非線性回歸建模.傳感器與微系統(tǒng),2012,31(4):50-52.
[7] 李彥,梁正桃,李立京,等.基于小波和支持向量機的光纖微振動傳感器模式識別.傳感器與微系統(tǒng),2013,32(2):43-49.
[8] 楊柳松,何光宇.基于改進粒子群優(yōu)化的 SVM 故障診斷方法.計算機工程,2013,39(3):187-196.
[9] SHI Y,EBERHART R C.Empirical study of particle swarm optimization.Proceedings of the IEEE Congress on Evolutionary Computation,1999:1945-1950.
[10] 蔡兵.基于RBF神經(jīng)網(wǎng)絡的濕度傳感器建模方法.儀表技術與傳感器,2005(10):54-55.