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