強生杰,孔令剛
(1.蘭州交通大學光電技術與智能控制教育部重點實驗室,甘肅蘭州730070;2.蘭州交通大學國家綠色鍍膜技術與裝備工程技術研究中心,甘肅蘭州730070)
在數(shù)據(jù)采集與測控系統(tǒng)中,由于壓力傳感器具有結構簡單、靈敏度高、動態(tài)響應特性好、抗過載能力強等一系列優(yōu)點,得到了廣泛的應用。但壓力傳感器對溫度等環(huán)境參數(shù)較為敏感,這些因素在實際環(huán)境中總是相互關聯(lián)的,給測量結果帶來了誤差,嚴重影響了傳感器的線性度,致使其準確度大大下降。為了提高傳感器的性能,必須對其進行校正。但各種干擾因素對測量結果的影響很難用簡單的函數(shù)表達式來描述,因此,建立傳感器的輸出特性校正模型并求解模型往往比較繁瑣。
支持向量機(support vector machine,SVM)是20世紀90年代中期提出的一種機器學習算法,它建立在統(tǒng)計學習理論的基礎上[1,2]。傳統(tǒng)的學習算法(如神經(jīng)網(wǎng)絡)采用的是經(jīng)驗風險最小化(ERM)準則,容易出現(xiàn)過擬合或者欠擬合現(xiàn)象。SVM以結構風險最小化(SRM)為準則[3],對于有限樣本學習問題已經(jīng)表現(xiàn)出很多優(yōu)于已有方法的性能。同時SVM算法是一個凸二次優(yōu)化問題,能夠保證找到的極值解就是全局最優(yōu)解,能較好地解決小樣本、非線性和高維數(shù)的問題。本文針對傳感器非線性誤差校正的需求,提出了一種壓力傳感器的SVM非線性回歸模型。
設壓力傳感器的數(shù)學模型為
其中,X為待測目標參數(shù),T為溫度值,Y為傳感器的輸出。式(1)存反函數(shù),即X=f-1(Y,T),但其反函數(shù)很難使用具體的函數(shù)來描述,可以利用SVM來逼近這種非線性函數(shù)。
SVM校正模型的原理為:利用非線性映射φ將輸入的數(shù)據(jù)映射到高維空間,在高維空間變換后進行回歸分析,將目標參量測量傳感器的輸出與溫度變化等非目標參量敏感元件的輸出作為SVM校正模型的輸入,將壓力標定值作為模型的輸出,以此來減少溫度變化等非目標參量對被測目標參數(shù)的影響[4]。利用SVM校正壓力傳感器的原理如圖1所示。
圖1 傳感器校正原理圖Fig 1 Calibration principle diagram of sensor
利用SVM校正模型來校正壓力傳感器,其實質是非線性回歸問題[4,5]。即利用數(shù)學方法建立因變量與自變量之間的回歸關系函數(shù)表達式(稱回歸方程)。將SVM應用到回歸分析中,需要定義不敏感損失函數(shù)ε,該函數(shù)可以忽略真實值上下范圍內的誤差。變量ξ度量了訓練點上誤差的代價,在ε不敏感區(qū)內的誤差為0。損失函數(shù)的解以函數(shù)的最小化為特征,使用ε不敏感函數(shù)可以確保全局最小值的存在和可靠泛化界的優(yōu)化。
圖2顯示了非線性回歸函數(shù)的不敏感區(qū)函數(shù)。
圖2 ε-不敏感區(qū)函數(shù)Fig 2 ε-insensitive zone function
式中 w·φ(x)表示為向量w與φ(x)的內積;w的維數(shù)為高維空間維數(shù);b∈R為閾值。
引入松弛變量ξ,ξ*≥0,根據(jù)結構最小化準則,可以將式(2)轉換為如下的優(yōu)化問題
其約束條件為
式(3)中的第一項使得回歸函數(shù)更加光滑,有助于提高泛化能力,第二項可以減少誤差。C為懲罰系數(shù),C越大表示對訓練誤差大于ε的數(shù)據(jù)樣本的懲罰越大。ε規(guī)定了回歸函數(shù)與輸出的誤差要求,ε越小,回歸函數(shù)與輸出的誤差越小,估計精度越高。
目前,懲罰系數(shù)C值的選擇很難用理論方法確定,要根據(jù)實際應用的要求來確定,調節(jié)參數(shù)的準則是:檢查某特定加權的修正是否確實減少了誤差,并根據(jù)實際情況進行增減操作,直到滿足設計要求。
對于上述優(yōu)化問題時,引入Lagrange算子α和α*,可以將式(3)轉換為其對偶問題進行求解
其約束條件為
式(5)中的〈φ(xi)·φ(xj)〉為高維空間中的點積運算,K(xi,yi)=〈φ(xi)·φ(xj)〉,K(xi,yi)為核函數(shù),常見的核函數(shù)有:
多項式
徑向基函數(shù)
Sigmoid函數(shù)
k(x,x')=tanh[v(x·x')+a].
最后求解得到的回歸函數(shù)為
綜上所述,利用SVM回歸模型校正傳感器的流程為:
1)獲取標定數(shù)據(jù)樣本,組成訓練樣本和測試樣本,并對數(shù)據(jù)歸一化;
2)選擇適合的核函數(shù),確定精度誤差ε和核函數(shù)的相關參數(shù),用訓練樣本對SVM模型進行訓練,確定αi和b的值;
3)當輸出與期望誤差值滿足要求時,訓練結束;轉到步驟(4),否則,重新調整SVM參數(shù),轉到步驟(2);
4)用測試樣本對校正模型進行檢驗,如果滿足誤差要求,確定SVM模型參數(shù),結束,否則,轉到步驟(2)。
訓練樣本選用文獻[8]中不同工作環(huán)境下的傳感器輸入輸出標定值,具體數(shù)據(jù)見表1,其中,Up為壓力傳感器的輸出電壓,Ut為溫度傳感器的輸出電壓。
表1 傳感器輸入輸出標定值Tab 1 Input/Output calibration values of the sensor
為了避免樣本中存在奇異樣本數(shù)據(jù),方便程序處理數(shù)據(jù),需要對樣本進行歸一化預處理,歸一化函數(shù)如下
其中,X'i,p'i,為第i個樣本輸入和輸出的歸一化值,Xi和pi為輸入輸出的標定值;Xmax和Xmin為壓力傳感器輸出電壓、溫度傳感器輸出電壓標定值的最大、最小值,pmax和pmin為壓力標定的最大、最小值。
在經(jīng)歸一化后的標定值中,選擇T為25,44.3,59.6℃時的標定值作為SVM的訓練樣本,T為81.6℃的值作為SVM的校驗樣本。在Matlab中利用SVM工具箱中的函數(shù)編寫訓練程序,選擇合適的SVM參數(shù)并將訓練樣本輸入SVM進行訓練,并在Matlab中進行了仿真。做出校正前后T為25,44.3,59.6℃時的傳感器輸出曲線圖,如圖3和圖4所示。
圖3 校正前壓力傳感器的輸出特性曲線Fig 3 Output characteristic curve of the pressure sensor before correction
圖4 校正后壓力傳感器的輸出特性曲線Fig 4 Output characteristic curve of the pressure sensor after correction
從圖3和圖4中的曲線可以看出:經(jīng)過SVM回歸模型校正的傳感器輸出曲線的線性度得到了改善,回歸精度也較高,處理后數(shù)據(jù)的最大絕對波動也大大減少??梢娡ㄟ^校正模型處理后,在相同的溫度變化下,壓力傳感器的輸出特性得到了改善,穩(wěn)定性也得到了提高。
利用SVM構造傳感器的非線性回歸模型,對傳感器的溫度影響進行補償,并對非線性誤差進行校正,此方法具有建模速度快、校正精度高的優(yōu)點。應用結果表明:與目前采用的其他算法比較,在校正精度和算法的推廣性上都具有一定的優(yōu)越性。但算法中核函數(shù)的選擇與其參數(shù)的確定沒有確定的理論依據(jù),有待作進一步研究。通過驗證也可以看出對原始數(shù)據(jù)進行適當?shù)念A處理可以提高校正模型的精度。
[1]Cristianini N,Shawe-Taylo J.支持向量機導論[M].李國正,王 猛,曾華軍,譯.北京:電子工業(yè)出版社,2004.
[2]Vapnik V N.統(tǒng)計學習理論的本質[M].張學工,譯.北京:清華大學出版社,2008.
[3]Vapnik V.Statistical learning theory[M].New York:Springer,1998.
[4]李國玉,孫以材,潘國峰,等.基于BP網(wǎng)絡的壓力傳感器信息融合[J].儀器儀表學報,2005,26(2):168-171.
[5]白 鵬,張喜斌.基于支持向量機的壓力傳感器校正模型[J].空軍工程大學學報:自然科學版,2007,8(5):37-40.
[6]張學工.關于統(tǒng)計學習理論與支持向量機[J].自動化學報2000,26(1):32-42.
[7]鄧乃揚,田英杰.數(shù)據(jù)挖掘中的新方法——支持向量機[M].北京:科學出版社,2004.
[8]梁偉鋒.基于最小二乘支持向量機的壓力傳感器溫度補償[J].儀器儀表學報2007,28(12):2235-2238.