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