沈 昊,王鐵力,吳東偉,吳文煒
(江蘇省水利勘測設(shè)計(jì)研究院有限公司,江蘇 揚(yáng)州 225000)
50年代后,我國陸續(xù)建成了相當(dāng)數(shù)量的各類水閘建筑物,但受限于建設(shè)年代的客觀條件等原因,加之許多在役水閘長期受到各種因素影響,其安全性態(tài)往往受到一定影響。故需要對其進(jìn)行安全性態(tài)分析研究,科學(xué)的評價(jià)建筑物的安全性態(tài),為其進(jìn)一步的除險(xiǎn)加固提供依據(jù)。
近年來信息技術(shù)以及智能技術(shù)的爆發(fā)式發(fā)展,使得越來越多的機(jī)器學(xué)習(xí)方法被運(yùn)用在各種綜合評價(jià)方法之中,并應(yīng)用于各行各業(yè)。其中支持向量機(jī)(SVM)[1-2]擁有充足的理論基礎(chǔ),有著更優(yōu)秀的拓展能力。尤其是在處理樣本稀少條件下的高維度數(shù)據(jù)模型時(shí),能夠出色的解決問題,并且能夠有效避免傳統(tǒng)機(jī)器學(xué)習(xí)方法的各種不足。因此,近年來支持向量機(jī)(SVM)也被越來越多的引入到電力、機(jī)械、公路、礦業(yè)等工程領(lǐng)域之中,但在水利行業(yè)的研究與應(yīng)用還比較少。
本文首次在水閘安全綜合評價(jià)[3]體系中,運(yùn)用支持向量機(jī)(SVM)方法,建立了基于支持向量機(jī)的水閘安全綜合評價(jià)模型,并以江蘇省鹽城市某水閘為例,對建立的評價(jià)模型進(jìn)行應(yīng)用,對該水閘的安全性態(tài)進(jìn)行研究和評價(jià)。
簡單來說,在處理線性的分類問題時(shí),支持向量機(jī)(SVM)就是在輸入的數(shù)據(jù)集合中直接建立判別函數(shù)。假定隨機(jī)且獨(dú)立的從概率分布未知的分布函數(shù)中,抽取l個(gè)樣本,組成訓(xùn)練樣本集合{(xi,yi),i=1,…,l},xi∈Rd。并規(guī)定,當(dāng)xi為第一類型時(shí),輸出值為正;反之,如果為第二類型,輸出為負(fù)。因此,該機(jī)器學(xué)習(xí)的目標(biāo)就是建立一個(gè)能夠最大化正確劃分樣本,并且使分類間隔也最大化的函數(shù)。即解決的最優(yōu)化問題如下:
s.t.yi(wTxi+b)≥1-ξi
ξi≥0,i=1,…,l
(1)
式中,C為懲罰參數(shù),C值越大則說明對于分類錯(cuò)誤的處罰程度越重,以此來突出分類正確率的重要性。
在處理非線性分類問題時(shí),則可以把輸入的數(shù)據(jù)集合經(jīng)過非線性處理,投射到高維度特征集合中,變非線性問題為線性問題。只要選取適合的核函數(shù)用于計(jì)算,運(yùn)用線性支持向量機(jī)(SVM),就可以做到在線性劃分映射樣本的同時(shí),也不增加原有的工作量,其目標(biāo)函數(shù)為:
s.t.C≥αi≥0,i=1,…,l
(2)
相應(yīng)的類別判定函數(shù)為:
(3)
所謂核函數(shù)[4],就是指在處理非線性分類問題時(shí),建立的不同內(nèi)積的函數(shù)。實(shí)際上,核函數(shù)有很多種,所以在使用支持向量機(jī)(SVM)時(shí),可以根據(jù)問題的實(shí)際需要,擇優(yōu)選取所需的核函數(shù)。目前比較成熟,且應(yīng)用較多的3種核函數(shù)如下:
(1)多項(xiàng)式核函數(shù)
K(x,xi)=[(x·xi)+1]q
(4)
(2)S形核函數(shù)
K(x,xi)=tanh[v(x·xi)+c]
(5)
(3)徑向基函數(shù)(RBF)
(6)
基于RBF函數(shù)的支持向量機(jī)(SVM),其本質(zhì)可以說是一種徑向基分類器。其內(nèi)積函數(shù)特性,相當(dāng)于人的視覺特性,能夠較廣的應(yīng)用到實(shí)際現(xiàn)實(shí)場景中。
實(shí)際上,絕大多數(shù)核函數(shù)在運(yùn)用時(shí),都可以得到不錯(cuò)的訓(xùn)練結(jié)果,所以理論上任意核函數(shù)可以被選擇應(yīng)用于支持向量機(jī)(SVM)的建模。但因?yàn)镽BF核函數(shù)只需要選取較少的參數(shù),且處理非線性問題的能力很優(yōu)異,所以本文選用RBF核函數(shù)應(yīng)用于支持向量機(jī)的建模。
對支持向量機(jī)(SVM)性能影響最大的、最重要的參數(shù)就是懲罰因子c以及核函數(shù)中的參數(shù)g。近年來,通過學(xué)者們不斷的研究,已經(jīng)可以運(yùn)用人工智能優(yōu)化算法自動調(diào)整懲罰因子c和參數(shù)g。其中粒子群算法[5]、遺傳算法[6]和網(wǎng)絡(luò)搜索算法[7],是目前運(yùn)用較多的3種優(yōu)化算法。
為了選取的實(shí)際工程樣本數(shù)據(jù)可以更方便的應(yīng)用于支持向量機(jī)(SVM)模型的構(gòu)建與訓(xùn)練,同時(shí)也為了最終構(gòu)建的水閘安全綜合評價(jià)模型具備更好的可操作性與適用性。本文選取水閘的安全綜合評價(jià)指標(biāo)中的一級評價(jià)指標(biāo)作為研究對象,建立支持向量機(jī)的分類模型,進(jìn)行水閘安全性態(tài)的綜合評價(jià)[8]。選取的一級評價(jià)指標(biāo),具體如圖1所示。
圖1 水閘安全綜合評價(jià)體系一級評價(jià)指標(biāo)
2.1.1樣本數(shù)據(jù)處理
本文選取了16座在役水閘的實(shí)際檢測數(shù)據(jù),樣本處理后作為訓(xùn)練集;選取另外4座在役水閘的檢測數(shù)據(jù),處理后作為測試集。
2.1.2樣本標(biāo)簽設(shè)置
在水閘安全鑒定中,水閘的安全評價(jià)結(jié)果被SL 214—2015《水閘安全評價(jià)導(dǎo)則》劃分為四類水閘。因此,本文將樣本標(biāo)簽也設(shè)為4個(gè)等級,分別對應(yīng)這四類水閘,最終樣本標(biāo)簽設(shè)為V=[1 2 3 4]=[安全 較安全 欠安全 不安全]。
20組數(shù)據(jù)經(jīng)過計(jì)算處理后,得到訓(xùn)練集樣本數(shù)據(jù)與標(biāo)簽見表1,測試集的樣本數(shù)據(jù)與標(biāo)簽見表2。
表1 訓(xùn)練集樣本數(shù)據(jù)與標(biāo)簽
表2 測試集樣本數(shù)據(jù)與標(biāo)簽
本文基于libsvm工具包,以MATLAB軟件為平臺,基于支持向量機(jī)(SVM),構(gòu)建并訓(xùn)練了水閘安全綜合評價(jià)模型[9]。
選用徑向基函數(shù)RBF核函數(shù),運(yùn)用粒子群算法(PSO)、遺傳算法(GA)和網(wǎng)絡(luò)搜索算法(GSA)3種優(yōu)化算法,代入16組訓(xùn)練集的數(shù)據(jù),分別求解最優(yōu)參數(shù)c和g。對比3種算法參數(shù)尋優(yōu)的結(jié)果,將效果最好的算法應(yīng)用于支持向量機(jī)分類模型的建立之中。
2.2.1粒子群算法(PSO)
求解參數(shù)的程序代碼如下:
Data=[0.876 0.745 0.785 0.882 0.869 0.827 0.640 0.483 0.594 0.573 0.698 0.790;0.326 0.301 0.128 0.203 0.121 0.183 0.750 0.590……;0.785 0.751 0.826 0.760 0.703 0.711 0.850 0.962 0.912 0.871 0.868 0.860];
Data_label=[2;3;1;3;2;1;4;4;1;3;3;2;4;4;2;2];
[bestacc,bestc,bestg]=psoSVMcgForClass(Data_label,Data,pso_option)
輸出結(jié)果為:
BestCVaccuracy=87.5000
Bestc=1.3666
Bestg=2.4507
適應(yīng)度曲線結(jié)果圖(PSO)如圖2所示。
圖2 適應(yīng)度曲線結(jié)果圖(PSO)
2.2.2遺傳算法(GA)
[bestacc,bestc,bestg]=gaSVMcgForClass(Data_label,Data,ga_option)
輸出結(jié)果為:
BestCVaccuracy=81.25,
Bestc=4.5367,
Bestg=2.9522
適應(yīng)度曲線結(jié)果圖(GA)如圖3所示。
圖3 適應(yīng)度曲線結(jié)果圖(GA)
2.2.3網(wǎng)絡(luò)搜索算法(GSA)
[bestCVaccuracy,bestc,bestg]=SVMcgForClass(Data_label,Data)
輸出結(jié)果為:
BestCVaccuracy=87.5,
Bestc=1,
Bestg=4
SVC參數(shù)選擇結(jié)果如圖4—5所示。
圖4 SVC參數(shù)選擇結(jié)果圖(等高線圖)
圖5 SVC參數(shù)選擇結(jié)果圖(3D視圖)
首先利用上面3種算法求得的最優(yōu)參數(shù)c和g,分別構(gòu)建3種支持向量機(jī)分類模型;隨后將4組測試集數(shù)據(jù)分別代入3種分類模型進(jìn)行分類預(yù)測,再比較其分類準(zhǔn)確性。
以網(wǎng)絡(luò)搜索算法(GSA)求得的最優(yōu)參數(shù)c和g為例:
cmd=[′-c′,num2str(bestc),′-g′,num2str(bestg)];
Model=svmtrain(Data_label,Data,cmd);
[predictlabel,accuracy]=svmpredict(Testdata_label,Testdata,Model);
輸出結(jié)果為:
Accuracy=100%(4/4)(classification)
predictlabel=3 3 2 4
同理,分別代入粒子群算法(PSO)和遺傳算法(GA)求得的最優(yōu)參數(shù)c和g,驗(yàn)證它們的分類準(zhǔn)確性,3種參數(shù)尋優(yōu)分類模型的對比結(jié)果見表3。
表3 3種參數(shù)尋優(yōu)分類模型對比分析
由上表可知,運(yùn)用以上算法建立的分類模型,分類準(zhǔn)確性都達(dá)到了100%。由此也說明了,對于本文研究的水閘安全綜合評價(jià)的問題,這3種參數(shù)尋優(yōu)算法都能適用。又因?yàn)樵诮徊骝?yàn)證準(zhǔn)確性上,網(wǎng)絡(luò)搜索算法(GSA)是3種方法中最高的,故本文選用其求得的最優(yōu)參數(shù)來建立水閘安全綜合評價(jià)模型。
本文將基于支持向量機(jī)(SVM)的水閘安全綜合評價(jià)模型,應(yīng)用到江蘇省鹽城市某水閘的安全鑒定之中。首先將該閘的實(shí)際檢測數(shù)據(jù)經(jīng)過計(jì)算處理,得到待評價(jià)水閘一級評價(jià)指標(biāo)的指標(biāo)值見表4。
表4 江蘇省鹽城市某水閘一級評價(jià)指標(biāo)指標(biāo)值
代入SVM水閘安全綜合評價(jià)模型,最終得到被評價(jià)水閘的安全分類等級:
Edata=[0.550 0.700 0.424 0.327 0.412 0.422 0.850 0.768 0.843 0.824 0.851 0.855];
Edata_label=[3];%此處標(biāo)簽3為期望值,對實(shí)際輸出的預(yù)測值無影響
[predictlabel,accuracy]=svmpredict(Edata_label,Edata,Model);
Accuracy=100%(1/1)(classification);%此處準(zhǔn)確率是與預(yù)設(shè)的期望值比較
predictlabel=3
評價(jià)模型最終輸出的結(jié)果為“3”,對應(yīng)該水閘的安全綜合評價(jià)為“欠安全”,評價(jià)為三類閘。這與該閘最終實(shí)際的安全鑒定評價(jià)結(jié)論相一致。
結(jié)果表明,支持向量機(jī)(SVM)能夠出色地解決非線性、有限樣本、高維度等現(xiàn)實(shí)問題,具有出色的分類效果。因此,本文建立的基于SVM的水閘安全綜合評價(jià)模型,可以準(zhǔn)確的分析出水閘的安全性態(tài),在水閘安全性態(tài)綜合評價(jià)中有較好的應(yīng)用前景和重要的理論意義。
但由于樣本的數(shù)目不多,還有不少方面值得進(jìn)一步探索研究。比如,樣本量與評價(jià)精度之間的關(guān)系,不同核函數(shù)的選擇對評價(jià)結(jié)果的影響等。