劉勝,楊震
(哈爾濱工程大學 自動化學院,黑龍江 哈爾濱 150001)
船舶橫搖運動時序是一個復雜的動態(tài)過程,一般呈現(xiàn)非線性、隨機性、非平穩(wěn)性等特征,目前國內(nèi)外對船舶橫搖時序建模預報展開了很多研究[1-2],其中有些對線性系統(tǒng)效果較好,不適于非線性系統(tǒng);有些需要大量樣本數(shù)據(jù),泛化能力差.而且它們解決的是極短期預報問題,對更長時間的預報精度低,實時性差.另外,實際的橫搖時序在數(shù)據(jù)的收集、傳輸或處理過程中經(jīng)常受到一些隨機誤差的影響而退化,產(chǎn)生各種噪音,噪音可能依賴于橫搖時序,也可能與其無關,它們有的服從正態(tài)分布,有的幅值較大,還有的是奇異點.理論上,前述模型的建立都沒有考慮對依附于時序中的噪音如何進行降噪.支持向量機(support vector machine,SVM)是由Vapnik等人提出的一種全新的小樣本機器學習方法[3],具有很好的泛化能力,得到的是全局最優(yōu)解,能夠解決小樣本、非線性、高維數(shù)等實際問題,目前已成為機器學習領域的研究熱點[4-5].上海交通大學近年來將SVM應用于船舶運動建模和控制方面,亦取得了一些開創(chuàng)性的成果[6-7].江娜[8]建立了基于標準SVM的船舶航向控制系統(tǒng)故障組合預報模型,仿真結果表明該模型達到了實時性的要求,但因標準SVM的ε-不敏感損失函數(shù)的缺陷,不能夠有效處理一些正態(tài)分布、幅值較大和奇異點的噪音,所以它從理論上不太適合實際中含有噪音的船舶橫搖時序問題.基于以上思想啟發(fā),提出一種采用小波核函數(shù)和魯棒損失函數(shù)、且具有單松弛變量ξ的新的支持向量機,即改進支持向量機(improved support vector machine,ISVM),給出了最優(yōu)問題及回歸算法,同時證明所給算法同標準回歸算法的最優(yōu)解在一定條件下是等價的.最后結合船舶橫搖運動預報需具有實時性的特點,設計了基于ISVM的船舶橫搖運動實時預報模型.
標準支持向量機是實現(xiàn)結構風險最小化(即經(jīng)驗風險與置信風險的和最小)的一種途徑,但不是唯一途徑.經(jīng)驗風險由損失函數(shù)確定[3],選擇不同的損失函數(shù)會構造不同的經(jīng)驗風險,從而形成不同形式的支持向量機.在回歸估計中,樣本集的最優(yōu)損失函數(shù)與樣本集數(shù)據(jù)的內(nèi)在特性之間存在某種對應關系,ε-不敏感損失函數(shù)是一種線性懲罰函數(shù),對于誤差小于ε的樣本點不予懲罰,Huber損失函數(shù)[9]側(cè)重于對正態(tài)分布噪音、幅值較大噪音和奇異點的樣本進行降噪.考慮樣本數(shù)據(jù)的特征,并綜合ε-不敏感損失函數(shù)和Huber損失函數(shù)各自的優(yōu)點,設計具有分段式的混合損失函數(shù),即魯棒損失函數(shù)來增加支持向量機的魯棒性和泛化能力:
式中:ε+μ=εμ,ε≥0,μ≥0.魯棒損失函數(shù)如圖1所示.
圖1 魯棒損失函數(shù)Fig.1 Robust loss function
此損失函數(shù)將松弛變量的作用區(qū)間分為3個:
1)|e|≤ε部分是靠近最優(yōu)分界的區(qū)間,即ε不靈敏區(qū),不懲罰小于ε的偏差,使學習機的解具有稀疏性.
2)ε≤|e|≤εμ部分是二次方區(qū),主要用來抑制符合高斯分布的量測噪音.
3)|e|≥εμ部分是線性區(qū),主要用來抑制幅值較大的噪音和異常點.
在不同的區(qū)間段內(nèi),損失函數(shù)具有不同的形式,這樣,落在各個區(qū)間內(nèi)的噪音會被各個區(qū)間的損失函數(shù)有效壓制.
選擇適當?shù)暮撕瘮?shù)是支持向量機解決實際問題時的一個關鍵因素,應用最廣泛的是高斯核函數(shù),但高斯核通過平移不能生成L2空間上的一組基,從而導致支持向量機不能逼近L2空間上任意的非線性函數(shù)[10].小波的伸縮和平移可構成L2空間的一組基,而且選擇適當?shù)某叨葏?shù)可使小波具有低通或帶通濾波的功能,因此采用小波核的支持向量機表現(xiàn)出良好的函數(shù)逼近能力和一定的抗噪能力.可生成小波框架的母小波都可以用來構造小波核函數(shù),由此,選擇Marr小波核作為ISVM的核函數(shù).由Mercer條件、點積小波核定理以及平移不變核定理[11]得出Marr小波核函數(shù)為
式中:n為樣本數(shù)據(jù)的維數(shù),s為尺度因子.
式中:w為高維向量;ξ=[ξ1ξ2… ξl]T;C為懲罰系數(shù),用來控制模型復雜性與訓練誤差之間的平衡;v為控制支持向量的個數(shù);ε為控制管道大小的參數(shù);ξi(i=1,2,…,l)為松弛變量;I1表示松弛變量落在0<|ξi|≤εμ區(qū)間內(nèi)的樣本集,I2表示松弛變量落在εμ<|ξi|區(qū)間內(nèi)的樣本集.把b2項加入到最優(yōu)化問題的原問題中可減少一個對偶問題的約束條件,參數(shù)b將不會出現(xiàn)在決策函數(shù)里,求解過程無需對其進行辨識,提高了計算效率[12].
為求解上述原問題,引入Lagrange函數(shù):
函數(shù)L的極值應滿足條件:
于是得到
利用Karush-Kuhn-Tuncker(KKT)條件、對偶原理及核函數(shù)技術,將式(6)~(10)代入式(3),得到優(yōu)化問題的對偶問題如下:
將上式改寫成矩陣形式,可得
將式(2)、(6)和(7)代入改進支持向量機的回歸估計函數(shù)f(x)=w·φ(xi)+b中,得到其輸出為
式中:xj表示輸入向量x的第j個分量,xij表示第i個訓練樣本的第j個分量.
由以上推導可知,單松弛變量ξ時ISVM的約束條件為式(11)中的約束條件,可以求得雙松弛變量(ξ,ξ*)時支持向量機的約束條件為
為了說明方便,將式(11)中單松弛變量ξ時的約束條件記為ST1,將雙松弛變量(ξ,ξ*)時的約束條件式(14)記為ST2.下面證明單松弛變量的算法同兩個松弛變量時算法的最優(yōu)解在一定條件下是等價的.
命題 對于式(11)中的對偶問題,約束ST1下的最優(yōu)解一定是約束ST2下的最優(yōu)解,反之亦然.
證明 設(a*,a)是約束ST1下對偶問題的最優(yōu)解,則它必是約束ST2下的可行解.下面用反證法證明它也是約束ST2下的最優(yōu)解.現(xiàn)假設(a*,a)不是約束ST2下的最優(yōu)解,則設()為約束ST2下的最優(yōu)解,于是W()<W(a*,a),又由KKT條件可知和不能同時非0,則所以()也是約束ST1下的可行解,于是在約束ST1下有W()<W(a*,a),這與(a*,a)是約束ST1下的最優(yōu)解矛盾,所以(a*,a)也是約束ST2下的最優(yōu)解.
反之,同理可證.
該命題說明2種約束下對偶問題有相同的最優(yōu)解.在不影響逼近精度的情況下,單松弛變量ξ的算法使對偶問題更容易求解,而且單松弛變量ξ回歸優(yōu)化中對偶問題的可行域小于雙松弛變量(ξ,ξ*)回歸優(yōu)化中的可行域,這樣減少了尋優(yōu)范圍,提高了運行速度.
式中:m為嵌入維數(shù),m<n.m的選取影響預報模型的預報精度,采用最小化支持向量機推廣誤差的估計來尋找最優(yōu)的m,考慮估計的無偏性和實用性,選用k-fold交叉驗證誤差作為推廣誤差的估計.
對ISVM進行訓練的回歸函數(shù)為
采用離線訓練在線實時預報的方式,得到第1步的預報為
在給定訓練樣本集下實現(xiàn)實時預報是一個批量處理的過程,隨著時間的推移,當?shù)?步到第p-1步的數(shù)據(jù)可以實際測出后,可以將前p-1步的實際值代替式(19)中的預報值,從而得到第p步的預報值為
ISVM的訓練涉及了C、v、μ和核函數(shù)中的尺度s這4個參數(shù),本文只考慮μ=1時的情況.則基于ISVM的實時預報步驟如下:
1)對預報時序(xt)進行矩陣變換得到如式(15)的訓練樣本集,并進行歸一化處理;
2)選擇式(2)所示的Maar小波核函數(shù)K(x, x'),建立形如式(3)的最優(yōu)化目標函數(shù);
3)將均方誤差(mean square error,MSE)作為指標,利用自適應遺傳算法[13]對參數(shù)(C,v,s)進行尋優(yōu),得到最佳參數(shù);
4)求解優(yōu)化目標函數(shù)問題并判斷KKT條件,得到支持向量(a*,a);
5)根據(jù)實時預報模型式(16)~(19)進行在線實時預報,得到預報值.
仿真使用數(shù)據(jù)為某型號艦船在5級海情有義波高3 m,遭遇浪向角分別為90°和120°時的橫搖角度時間序列數(shù)據(jù),以及6級海情有義波高4.5 m,遭遇浪向角分別為90°和120°時的橫搖角度時間序列數(shù)據(jù),共4組數(shù)據(jù).用于訓練的每組數(shù)據(jù)的采樣周期均為0.5 s,總時長為350 s,即700個采樣點數(shù)據(jù).根據(jù)5.1節(jié)中方法得出針對此艦船的最佳嵌入維數(shù)為m= 50,則得到形如式(15)所示的訓練樣本集.運用改進支持向量機算法對訓練樣本進行訓練,并用自適應遺傳算法尋優(yōu),得到訓練模型及參數(shù)(C,v,s)的最優(yōu)組合(48.5,0.72,0.9),歸一化訓練樣本的MSE為9.48× 10-4,取p=10,依據(jù)離線訓練結果及實時預報模型對4組樣本隨后的200個數(shù)據(jù)點即未來100 s的數(shù)據(jù)進行實時在線預報,圖2~5分別為4種情況下橫搖角的真實曲線與預報曲線.預報性能指標用相對均方根誤差RMSE(relative mean square error)來表示:
式中:q為總預報步數(shù).
圖2 5級海情、浪向角90°時橫搖曲線Fig.2 Roll curve of 5 grade sea state and 90°direction of wave
圖3 5級海情、浪向角120°時橫搖曲線Fig.3 Roll curve of 5 grade sea state and 120°direction of wave
圖4 6級海情、浪向角90°時橫搖曲線Fig.4 Roll curve of 6 grade sea state and 90°direction of wave
圖5 6級海情、浪向角120°時橫搖曲線Fig.5 Roll curve of 6 grade sea state and 120°direction of wave
為了更好地說明基于ISVM的實時預報模型在船舶橫搖時間序列預報中的優(yōu)越性,同時也采用了基于ε-支持向量機的神經(jīng)網(wǎng)絡組合預報模型對上述橫搖時序進行預報[8],利用性能指標RMSE對船舶在2種方法下的預報結果進行統(tǒng)計分析,如表2所示.
表2 兩種實時預報模型的誤差統(tǒng)計Table 2 Error statistics of two prediction models
可見,對于仿真所用的船舶橫搖時間序列,給出的具有魯棒損失函數(shù)的ISVM實時預報模型的誤差指標值RMSE好于基于標準支持向量機組合預報模型RMSE.而求解改進支持向量機的過程實際上與標準支持向量機一樣,都是求解一個凸二次規(guī)劃問題,說明基于改進支持向量機的實時預報方法是行之有效的.
文中提出的采用魯棒損失函數(shù)的ISVM較標準SVM具有更強的魯棒性,可以有效壓制樣本數(shù)據(jù)中的混合噪音,提高回歸精度及泛化能力;單松弛變量ξ下的回歸算法因?qū)?yōu)范圍的減小使得運行速度快于標準算法,因此,單松弛變量回歸算法是一種能夠保持同樣性能的標準算法的簡化;從實例仿真結果可以看出,基于ISVM建立的船舶橫搖運動實時預報模型具有良好的性能,比基于標準SVM的神經(jīng)網(wǎng)絡組合預報模型的預報精度高,且具有較強的泛化能力,易于在工程實際中應用.同時還可以將其應用于其它領域的預報當中去.
[1]彭秀艷,王茂,劉長德.AR模型參數(shù)應估計方法研究及應用[J].哈爾濱工業(yè)大學學報,2009,41(9): 12-16.
PENG Xiuyan,WANG Mao,LIU Changde.Adaptive estimation method of AR model parameters[J].Journal of Harbin Institute of Technology,2009,41(9):12-16.
[2]侯建軍,東昉,蔡烽.混沌理論和神經(jīng)網(wǎng)絡相結合的艦船搖蕩運動極短期預報[J].艦船科學技術,2008,30 (1):67-70.
HOU Jianjun,DONG Fang,CAI Feng.Extreme short term prediction of ship swaying motions based on combination of chaos and neural network[J].Ship Science and Technology,2008,30(1):67-70.
[3]VAPNIK V N.The nature of statistical learning[M].New York:Springer,1995:55-92.
[4]劉勝,李妍妍.基于支持向量機的鍋爐過熱系統(tǒng)建模研究[J].熱能動力工程,2007,22(1):38-42.
LIU Sheng,LI Yanyan.A study of the modeling of a boiler superheating system based on a supportive vector machine[J].Journal of Engineering for Thermal Energy and Power,2007,22(1):38-42.
[5]劉勝,傅薈璇,王宇超.基于平面靶分割區(qū)間LS-SVM攝像機標定的研究[J].哈爾濱工程大學學報,2009,30 (10):1117-1122.
LIU Sheng,F(xiàn)U Huixuan,WANG Yuchao.Calibration of multi camera visual systems using divided LS-SVM[J].Journal of Harbin Engineering University,2009,30(10): 1117-1122.
[6]LUO W L,ZOU Z J.Identification of response models of ship maneuvering motion using support vector machines[J].Journal of Ship Mechanics,2007,11(6):832-838.
[7]羅偉林.基于支持向量機方法的船舶操縱運動建模研究[D].上海:上海交通大學,2009:37-51.
LUO Weilin.On the modeling of ship manoeuvring motion by using support vector machines[D].Shanghai:Shanghai Jiao Tong University,2009:37-51.
[8]江娜.SVM及其在船舶航向控制系統(tǒng)故障預報中的應用研究[D].哈爾濱:哈爾濱工程大學,2008:94-120.
JIANG Na.SVM and its application to fault prediction of ship heading control system[D].Harbin:Harbin Engineering University,2008:94-120.
[9]胡根生,鄧其飛.具有多分段損失函數(shù)的多輸出支持向量回歸機[J].控制理論與應用,2007,24(5): 711-714.
HU Gensheng,DENG Qifei.Multi-output support vector regression with piecewise loss function[J].Control Theory and Applications,2007,24(5):711-714.
[10]肖建,于龍,白裔峰.支持向量回歸中核函數(shù)和超參數(shù)選擇方法綜述[J].西南交通大學學報,2008,43(3): 297-303.
XIAO Jian,YU Long,BAI Yifeng.Survey of the selection of kernels and hyper-parameters in support vector regression[J].Journal of Southwest Jiao Tong University,2008,43(3):297-303.
[11]WEN X J,CAI Y Z,XU X M.Least squares support vector machine based on continuous wavelet kernel[J].Lecture Notes in Computer Science,2005,3496:843-850.
[12]WU Q.The forecasting model based on wavelet-support vector machine[J].Expert Systems with Applications:an International Journal,2009,36(4):7604-7610.
[13]劉勝,李妍妍.自適應 GA-SVM參數(shù)選擇算法研究[J].哈爾濱工程大學學報,2007,28(4):398-402.
LIU Sheng,LI Yanyan.Parameter selection algorithm for supportvectormachines based on adaptive genetic algorithm[J].Journal of Harbin Engineering University,2007,28(4):398-402.