行鴻彥,鄒水平,徐 偉,張 強
(1.南京信息工程大學氣象災害預報預警與評估協(xié)同創(chuàng)新中心,南京 210044;2.南京信息工程大學,江蘇省氣象探測與信息處理重點實驗室,南京 210044)
?
基于PSO-BP神經網絡的濕度傳感器溫度補償*
行鴻彥1,2*,鄒水平1,2,徐 偉1,2,張 強1,2
(1.南京信息工程大學氣象災害預報預警與評估協(xié)同創(chuàng)新中心,南京 210044;2.南京信息工程大學,江蘇省氣象探測與信息處理重點實驗室,南京 210044)
針對自動氣象站采用的HMP45D型溫濕一體化傳感器在實際應用過程中易受溫度影響的問題,提出了基于粒子群優(yōu)化算法(PSO)的BP神經網絡溫度補償模型,利用粒子群優(yōu)化算法對BP神經網絡的初始權值閾值進行全局尋優(yōu),將粒子群優(yōu)化算法優(yōu)化好的權值閾值賦給BP神經網絡,對BP神經網絡進行訓練。根據(jù)不同溫度條件下測得的多組濕度傳感器數(shù)據(jù),通過建立模型,實現(xiàn)溫度補償,與傳統(tǒng)BP神經網絡補償結果進行比較。實驗表明,與傳統(tǒng)BP神經網絡模型相比,利用PSO-BP神經網絡模型進行溫度補償后所得的誤差絕對值之和降低了10.3887%RH,PSO-BP神經網絡可以克服傳統(tǒng)BP神經網絡易陷入局部極值的局限,補償精度更高,能更加有效地補償溫度對濕度傳感器的影響。
溫度補償;粒子群優(yōu)化算法;BP神經網絡;濕度傳感器
空氣濕度是自動氣象站觀測數(shù)據(jù)中的一個重要參數(shù),目前氣象部門大部分都采用Vaisala公司生產的HMP45D溫濕度一體化傳感器來測量空氣的濕度[1-3]。HMP45D溫濕度傳感器的測濕元件是HUMICIP180高分子薄膜型濕敏電容,濕敏電容是具有感濕特性的電介質,其介電常數(shù)隨相對濕度的變化而變化,從而完成對濕度的測量。由于該傳感器的測量部分總是暴露在空氣當中,溫度的變化會影響電介質介電常數(shù)的變化,使得濕度傳感器產生一定的溫漂,導致濕度傳感器所測得的數(shù)據(jù),與標準器的相對濕度值相比,誤差較大,因此必須采取相應的措施進行濕度傳感器的溫度補償,使得補償后的結果符合相對濕度測量的誤差要求。
針對溫度對濕度傳感器的這種非線性影響,國內外學者圍繞硬件電路補償和軟件補償兩種方法進行研究[4-5]。硬件補償方法成本昂貴,電路比較復雜,調試也比較困難,難以做到全程補償,再次電路中的電子器件本身會產生新的溫度漂移,影響整個濕度傳感器測量系統(tǒng)的精度。軟件補償方法有二次插值、多元回歸、BP神經網絡法[6-10]等。二次插值法的最優(yōu)解范圍取得越小,計算結果越精確,但是循環(huán)的次數(shù)會變多。多元回歸建立了兩組變量間的線性因果關系,但忽略了交互效應和非線性的因果關系。BP神經網絡由于是非線性優(yōu)化,權值的初始化是隨機的,BP神經網絡結構選擇具有偶然性,會存在局部極小的問題。PSO(Particle Swarm Optimization Algorithm)算法具有很好全局尋優(yōu)能力,可以用來優(yōu)化傳統(tǒng)BP神經網絡權值閾值,克服BP神經網絡陷入局部極小的缺陷。
本文在分析現(xiàn)有方法的基礎上,采用PSO算法優(yōu)化BP神經網絡的方法,討論PSO算法的適應度函數(shù)以及部分參數(shù)的選擇,利用PSO算法全局搜索能力來優(yōu)化BP神經網絡的初始權值閾值,使得BP神經網絡結構得以優(yōu)化,建立PSO-BP神經網絡的濕度傳感器溫度補償模型,補償溫度對濕度傳感器測量結果造成的影響,并與傳統(tǒng)BP神經網絡方法進行比較,為提高濕度傳感器的溫度補償精度提供一定的參考價值。
1.1 BP神經網絡
BP神經網絡[11-13]是一種多層前饋型神經網絡,在信號前向傳遞中,輸入信號從輸入層經隱含層逐層處理,直至輸出層。下一層神經元狀態(tài)只受前一層神經元狀態(tài)的影響,如果輸出層沒有得到期望輸出,則轉入誤差反向傳播,根據(jù)預測誤差調整網絡權值閾值,使輸出不斷逼近期望值。BP神經網絡的結構圖如圖1所示。
圖1 BP神經網絡結構圖
X1,X2,…,Xn是網絡輸入,Y1,Y2,…Ym是BP神經網絡預測輸出,wij和wjk為網絡權值。
隱含層的輸出H:
(1)
f函數(shù)是隱層激勵函數(shù),為S型函數(shù),S型函數(shù)為:
y=1/(1+e-x)
(2)
BP神經網絡的預測輸出為:
(3)
由此可計算網絡預測誤差e:
ek=Yk-Okk=1,2,…,m
(4)
1.2 粒子群算法
粒子群優(yōu)化算法(PSO)[14-15]是一種群體智能的優(yōu)化算法,國內外有多種優(yōu)化算法,如演化規(guī)劃、變異算法、蟻群算法[16]等。為了得到較好的預測精度和較快的預測收斂速度,我們采用粒子群優(yōu)化算法。PSO算法源于對鳥類捕食行為的研究,算法中的每個粒子相當于鳥群中的鳥的角色,把每個粒子的位置定義為優(yōu)化問題中的可能解。
數(shù)學算法模型如下:
PSO初始化為一群隨機粒子,每個粒子代表極值優(yōu)化問題的潛在最優(yōu)解,然后通過迭代找到最優(yōu)解,每次迭代通過追隨個體極值和全局極值來更新個體位置,每個位置代表問題的一個潛在解。假設在一個D維的搜索空間里,存在n個粒子組成的一個種群,其中第i個粒子在D維搜索空間中的位置表示為一個D維的向量,根據(jù)適應度函數(shù)可計算出每個粒子位置對應的適應度值。第i個粒子的速度為,其個體極值為,種群的全局極值為。
在找到個體極值和全局極值時,粒子通過式(5)和式(6)來更新自身的速度和位置。
(5)
(6)
式中:w為慣性權重;k為當前迭代次數(shù);為粒子的速度;為粒子的位置;c1和c2為學習因子,也稱為加速度因子,通過實驗我們選c1=c2=2.5[17]進行計算;和是介于[0,1]之間的均勻隨機數(shù)。為限制粒子的位置和速度,通常將其設定在一定的區(qū)間。
將BP神經網絡與PSO算法結合[18-20],就是把PSO算法的全局搜索能力和BP神經網絡的局部快速搜索能力較好地結合起來,以避免網絡陷入局部極小來提高網絡的訓練速度。定義PSO中的粒子位置對應著BP神經網絡中一組待優(yōu)化的權值閾值,通過找到最優(yōu)粒子位置得到最優(yōu)的網絡結構,然后通過這個神經網絡結構進行溫度補償。使得神經網絡的預測輸出值與樣本期望輸出值的誤差絕對值之和達到最小,其適應度函數(shù)為:
(7)
式中:為學習樣本數(shù),為網絡的實際輸出,為樣本輸出。學習使得J≤ζ,為設定的最小誤差。
PSO-BP算法的具體步驟描述如下:
①初始化。設定PSO-BP神經網絡的相關參數(shù)。確定神經網絡的層數(shù),每一層神經元的個數(shù),以及需要優(yōu)化的粒子維數(shù)。其中PSO算法需要優(yōu)化的權值閾值總個數(shù)為:N=(m+1)×n+(n+1)×t,m為輸入神經元個數(shù),n為隱層神經元個數(shù),t為輸出層神經元個數(shù),對粒子的速度和位置進行隨機初始化。
②計算適應度。按照適應度函數(shù)計算網絡輸出與樣本期望輸出誤差絕對值之和。
③尋找個體極值和群體極值。將每個粒子的適應度函數(shù)值與個體極值進行比較,如果適應度函數(shù)值更小,則該適應度函數(shù)值成為新的個體極值;并將新的個體極值與全局最佳適應度值進行比較,若更小,則將其作為當前的群體極值。
④根據(jù)式(5)和式(6)更新粒子的位置和速度。
⑤看全局最優(yōu)適應度值是否小于設定誤差或者迭代次數(shù)大于最大迭代次數(shù),若不滿足條件,返回步驟③;若滿足條件,則輸出的全局最優(yōu)粒子位置即為最優(yōu)的BP神經網絡權值閾值。
PSO-BP算法的流程圖如圖2所示。
圖2 PSO-BP流程圖
3.1 實驗數(shù)據(jù)獲取
實驗數(shù)據(jù)采用課題組2012年在中國氣象局氣象探測中心實驗所得,溫度對濕度傳感器影響的檢定實驗是在實驗箱中進行,利用JJQ1型信號模擬器對傳感器進行數(shù)據(jù)采集。按照精密濕度發(fā)生器的使用說明做好開機預熱和其他準備工作后,將被測濕度傳感器、溫濕度儀(標準通風干濕表作為標準器)掛到溫濕度檢定箱內掛架的同等高度上,打開自動氣象站、濕度檢定箱的電源開關,預熱0.5 h后輸入濕度檢定點上的穩(wěn)定時間。先是調整溫濕度檢定箱里的溫度,然后再按濕度檢定點調整箱內濕度,一個濕度點檢定完畢,改變箱內濕度調到下一個濕度點,其他各點的檢定方法相同。每個濕度測試點上的10次測量值的平均值,作為該濕度測試點上的測量值,溫濕度儀的輸出值作為測量的標準值。詳細步驟和數(shù)據(jù)參見文獻[6]。
自動氣象站采用的HMP45D型濕度傳感器在實際業(yè)務運行過程中,其測量結果容易受溫度變化的影響,特別是在高溫高濕條件下濕度傳感器受到的影響更大。因此有必要對HMP45D型濕度傳感器進行溫度補償。
3.2 濕度傳感器的溫度補償
根據(jù)PSO-BP神經網絡算法原理,采用圖2步驟進行HMP45D型濕度傳感器的溫度補償,對HMP45D型濕度傳感器在不同溫度條件下測得的多組濕度數(shù)據(jù)進行選取,選出一部分樣本作為訓練樣本,剩下的作為測試樣本,把溫度干擾值和相對濕度測量值作為輸入,標準相對濕度值作為期望輸出。
建立單隱層BP網絡模型,根據(jù)BP神經網絡算法原理,確定輸入節(jié)點2個,輸出節(jié)點1個,隱層節(jié)點5個。設最大迭代次數(shù)1500,目標誤差1×10-6,學習速率0.01。訓練函數(shù)選為默認函數(shù)trainlm,學習函數(shù)選為默認函數(shù)learngdm;根據(jù)PSO算法原理,粒子的初始位置和速度在允許范圍內隨機產生,種群規(guī)模選為40,慣性權重設為1,學習因子。
利用PSO算法尋優(yōu)結束后相應的權值閾值矩陣分別為:
w1=[0.3798 1.1237 -1.9158 -2.7170 -2.1389 1.7966 -2.4438 -2.5078 1.4103 0.9178]
w2=[-0.0711 -0.5812 -0.4443 2.3841 -2.3883]
B1=[-0.9897 0.9399 -0.8599 2.5779 1.9380]
B2=[-0.0474]
通過采用PSO-BP神經網絡建立的模型,將PSO算法優(yōu)化好的的權值閾值賦給BP神經網絡,對BP神經網絡進行訓練,然后對訓練的結果進行測試,所得結果如圖3所示。
圖3(a)中,綠色圓點代表PSO-BP神經網絡的預測輸出,藍色星號對應的點代表期望輸出,從(a)圖中可以看出綠色的圓點幾乎都覆蓋在了藍色的星號上面,說明PSO-BP神經網絡能夠以很小的誤差預測出濕度傳感器的真實值;從圖3(b)可知,到了100代的時候適應度值就已經達到了最低,也就是PSO算法訓練到100代的時候就已經收斂到最佳的權值閾值了。
由圖4可知同樣的目標誤差下,經過PSO算法優(yōu)化后的BP神經網絡迭代步數(shù)要少,訓練速度較快,表明經過PSO算法優(yōu)化后的BP神經網絡的權值閾值得到了全局尋優(yōu),提高了運行效率。
圖3 PSO-BP仿真結果
圖4 有無PSO優(yōu)化的BP神經網絡誤差平方和曲線
3.3 性能對比
將PSO-BP神經網絡和傳統(tǒng)BP算法進行仿真研究,對實驗結果進行比較。利用實驗所得樣本數(shù)據(jù)對PSO-BP神經網絡模型和傳統(tǒng)BP神經網絡模型進行訓練,對訓練的結果進行測試,最后得到的HMP45D型濕度傳感器進行溫度補償后的部分數(shù)據(jù)如表1所示。
從表1可以看出,不同溫度條件下的濕度傳感器測量值在經過PSO-BP神經網絡模型補償后都很接近相應的標準值,且PSO-BP神經網絡補償后的相對濕度擬合值誤差比BP神經網絡要小,預測精度最高提高了0.975 4%RH,更加接近真實值,比傳統(tǒng)BP神經網絡的補償精度要高,說明本文建立的PSO-BP神經網絡模型優(yōu)于BP神經網絡模型。
根據(jù)表1數(shù)據(jù),得到PSO-BP神經網絡與傳統(tǒng)BP神經網絡進行溫度補償?shù)恼`差對比圖如圖5所示。
表1 PSO-BP和BP模型溫度補償后的結果
圖5 誤差曲線
圖5中藍色曲線是BP神經網絡進行溫度補償后的誤差曲線,紅色曲線是PSO-BP神經網絡的誤差曲線,由圖5可以看出,PSO-BP神經網絡的補償精度明顯比傳統(tǒng)BP神經網絡要高,PSO算法通過全局尋優(yōu),避免了BP神經網絡陷入局部極小值,特別是高溫高濕條件下的補償效果更明顯。將PSO-BP神經網絡模型和傳統(tǒng)BP神經網絡模型補償所得結果的誤差進行絕對值求和可得到:利用傳統(tǒng)BP神經網絡模型進行補償后的誤差絕對值之和為28.6350%RH;利用PSO-BP神經網絡模型進行補償后的誤差絕對值之和為18.2463%RH,因此誤差絕對值之和也反映了PSO-BP算法補償?shù)木纫菳P算法補償精度高。
對于溫度影響濕度傳感器輸出這種情況,本文提出了PSO-BP神經網絡的溫度補償方法。PSO算法是基于全局尋優(yōu)的搜索算法,采用BP神經網絡與PSO算法結合的模型,既能發(fā)揮BP神經網絡的局部快速搜索能力,又能避免BP神經網絡訓練時陷入局部極小值,與傳統(tǒng)BP神經網絡模型相比,利用PSO-BP神經網絡模型進行溫度補償后所得的誤差絕對值之和降低了10.3887%RH,預測精度最高提高了0.975 4%RH,迭代步數(shù)更少,運行效率更高。其補償效果明顯優(yōu)于傳統(tǒng)BP神經網絡,該方法有效補償了溫度對濕度傳感器產生的影響,提高了傳感器的測量可靠性和準確性。
[1] 中國氣象局. Ⅱ型自動氣象站行業(yè)標準[S]. 北京:氣象出版社,2000.
[2] 袁希光. 傳感器技術手冊[M]. 北京:國防工業(yè)出版社,1992:325-332.
[3] 劉鋒,董薔薇. HMP45D溫濕度傳感器的工作原理及維護[J]. 大眾科技,2011(4):13-14.
[4] Lung-Tai Chen,Chia-Yen Lee,Wood-Hi Cheng. MEMS-Based Humidity Sensor with Integrated Temperature Compensation Mechanism[J]. Sensors and Actuators A:Phsical,2008,147(2):522-588.
[5] Wang Xiaodong,Ye Meiying. Hysteresis and Nonlinearity Compensation of Relative Humidity Sensor Using Support Vector Machines[J]. Sensors and ActuatorsB:Chemical,2008,129(1):274-284.
[6] 行鴻彥,彭基偉,呂文華,等. 一種濕度傳感器溫度補償?shù)娜诤纤惴╗J]. 傳感技術學報,2012,25(12):1711-1716.
[7] 彭基偉,呂文華,行鴻彥,等. 基于改進GA-BP神經網絡的濕度傳感器的溫度補償[J]. 儀器儀表學報,2013,34(1):153-160.
[8] 行鴻彥,武向娟,呂文華,等. 自動氣象站數(shù)據(jù)采集器溫度通道的環(huán)境溫度補償[J]. 儀器儀表學報,2012,33(8):1868-1875.
[9] Paul K H Phua,Daohua Ming. Parallel Non-Linear Optimization Techniques for Training Neural Networks[J]. IEEE Transaction on Neural Networks,2003,14(16):1460-1467.
[10] 楊紅霞,曹新亮. 濕度傳感器溫度補償法的研究[J]. 傳感器與微系統(tǒng),2007,26(5):18-20.
[11] 羅成漢. 基于MATLAB神經網絡工具箱的BP網絡實現(xiàn)[J]. 計算機仿真,2004,21(5):109-111.
[12] 張永懷,劉君華. 采用BP神經網絡及其改進算法改善傳感器特性[J]. 傳感技術學報,2002(3):185-188.
[13] 董長虹. MATLAB神經網絡與應用[M]. 北京:國防工業(yè)出版社,2007:121-124.
[14] 史峰. MATLAB智能算法30個案例分析[M]. 北京:北京航空航天大學出版社,2011:102-107.
[15] 馮輝宗,吳小敏,袁榮棣,等. 基于PSO-BP神經網絡的發(fā)動機故障診斷[J]. 化工自動化及儀表,2013,49(1):76-79.
[16] 徐靜. 粒子群優(yōu)化算法的改進方法研究[D]. 華中師范大學,2011.
[17] 任鳳鳴,李麗娟. 改進的PSO算法中學習因子(c1,c2)取值的實驗與分析[J]. 廣東工業(yè)大學學報,2008,25(1):86-89.
[18] 張朝龍,江巨浪,李彥梅,等. 基于云粒子群-最小二乘支持向量機的傳感器溫度補償[J]. 傳感技術學報,2012,25(4):472-477.
[19] Wang H S,Wang Y N,Wang Y C. Cost Estimation of Plastic Injection Molding Parts through Integration of PSO and BP Neural Network[J]. Expert Systems with Applications,2013,40(8):418-428.
[20] 孫艷梅,苗鳳娟,陶佰睿. 基于PSO的BP神經網絡在壓力傳感器溫度補償中的應用[J]. 傳感技術學報,2014,27(3):342-346.
行鴻彥(1962-),男,博士,1983年于太原理工大學獲得學士學位,1990年于吉林大學獲得碩士學位,2003年于西安交通大學獲得博士學位,現(xiàn)為南京信息工程大學教授,博導,主要研究方向為氣象儀器設計與計量,信號檢測與處理等,xinghy@nuist.edu.cn;
鄒水平(1990-),女,2013年于湖北師范學院獲得學士學位,現(xiàn)為南京信息工程大學碩士研究生,主要研究方向為儀器儀表技術、傳感器信號與信息處理,412034408@qq.com。
The Temperature Compensation for Humidity SensorBased on the PSO-BP Neural Network*
XINGHongyan1,2*,ZOUShuiping1,2,XUWei1,2,ZHANGQiang1,2
(1.Collaborative Innovation Center on Forecast and Evaluation of Meteorological Disasters,Nanjing University ofInformation Science and Technology,Nanjing 210044,China;2.Key Laboratory for Aerosol-Cloud-Precipitation of China Meteorological Administration,Nanjing University ofInformation Science and Technology,Nanjing 210044,China)
According to the temperature and humidity sensors of the type HMP45D on the automatic weather stations influenced easily by temperature in the actual application,compensation of humidity sensor model by the Back Propagation(BP)network based on Particle Swarm Optimization(PSO)algorithm has been proposed. The initial weight and threshold of BP network can be searched globally in PSO algorithm,then assigns the optimized weight and threshold to BP network for training. Multiple groups of the humidity sensor datas has been measured under the condition of different temperatures,Using this method to establish a model for temperature compensation,and the results were compared with general BP neural network method. The experimental results show that the sum of absolute value of error by the use of PSO-BP neural network model for temperature compensation is reduced by 10.3887%(RH)compared with that of the traditional BP neural network model. PSO-BP neural network not only can overcome the limitations that the traditional BP neural network is easy to fall into local minima,but also have the higher precision,and it can more effectively compensate the influence of temperature on humidity sensor.
temperature compensation;particle swarm optimization algorithm(PSO);BP neural network;humidity sensor
項目來源:國家自然科學基金項目(61072133);江蘇省產學研聯(lián)合創(chuàng)新資金計劃項目(BY2013007-02,BY2011112);江蘇省高??蒲谐晒a業(yè)化推進項目(JHB2011-15);江蘇省“信息與通信工程”優(yōu)勢學科和江蘇省“六大人才高峰”計劃項目
2015-01-04 修改日期:2015-02-18
C:7230
10.3969/j.issn.1004-1699.2015.06.015
TP274
A
1004-1699(2015)06-0864-06