雷璽博,康興無(wú),韓媛媛
(1.第二炮兵工程學(xué)院,陜西 西安 710025;2.裝甲兵工程學(xué)院,北京 100072)
支持向量機(jī)理論于20世紀(jì)90年代由AT&T貝爾實(shí)驗(yàn)室的 Vapnik教授提出,它是一套機(jī)器學(xué)習(xí)的新理論體系。與傳統(tǒng)的統(tǒng)計(jì)學(xué)習(xí)理論不同,支持向量機(jī)理論的統(tǒng)計(jì)推理不是要得到樣本數(shù)趨于無(wú)窮大時(shí)的最優(yōu)解,而是追求在有限樣本的情況下得到最優(yōu)解,是兼顧到經(jīng)驗(yàn)風(fēng)險(xiǎn)和置信范圍的一種折中思想。
支持向量機(jī)(Support Vector Machine,SVM)是統(tǒng)計(jì)學(xué)習(xí)理論中最年輕的內(nèi)容,也是最實(shí)用的部分。SVM 有兩個(gè)非常突出的優(yōu)點(diǎn):能夠盡量提高學(xué)習(xí)機(jī)的推廣能力,通過(guò)尋求結(jié)構(gòu)風(fēng)險(xiǎn)最小化來(lái)實(shí)現(xiàn)實(shí)際風(fēng)險(xiǎn)最小化,即能夠在很少訓(xùn)練樣本的基礎(chǔ)上得到?jīng)Q策準(zhǔn)則且誤差差值較小,亦能獲得很好的學(xué)習(xí)效果;SVM 算法是一個(gè)凸二次優(yōu)化問(wèn)題,能夠保證找到的極值解就是全局最優(yōu)解,避免了人工神經(jīng)網(wǎng)絡(luò)等遇到的網(wǎng)絡(luò)結(jié)構(gòu)難于確定、過(guò)學(xué)習(xí)、維數(shù)災(zāi)難問(wèn)題以及局部極小化等問(wèn)題。支持向量機(jī)是到目前為止統(tǒng)計(jì)學(xué)習(xí)理論最成功的算法實(shí)現(xiàn),是機(jī)器學(xué)習(xí)領(lǐng)域中的研究熱點(diǎn),并在很多領(lǐng)域得到了成功的應(yīng)用,如人臉識(shí)別、手寫體識(shí)別、機(jī)械故障診斷、結(jié)構(gòu)的損傷識(shí)別等。
在模式識(shí)別中,后驗(yàn)概率對(duì)于分類器的設(shè)計(jì)是很有用的。Platt提出了兩參數(shù)Sigmoid函數(shù)的后驗(yàn)概率模型來(lái)直接擬合后驗(yàn)概率,其公式為:
其中利用最大似然法根據(jù)訓(xùn)練樣本就可估計(jì)出A和B。Wu等利用逐對(duì)偶和方法解決了多類分類器的后驗(yàn)概率擬合問(wèn)題,并提高了算法的收斂性和計(jì)算精度。
設(shè)有k類數(shù)據(jù)
由i, j兩類數(shù)據(jù)訓(xùn)練得到的概率輸出記為
按上式估計(jì)出A和B,通過(guò)rij來(lái)計(jì)算pi,求解最優(yōu)化問(wèn)題:
約束條件為
可以得到x屬于第i類的概率pi。
函數(shù)回歸估計(jì)是另外一種常見的機(jī)器學(xué)習(xí)問(wèn)題,SVM在這個(gè)問(wèn)題上通過(guò)同時(shí)控制函數(shù)的復(fù)雜度和逼近精度,獲得了很好的推廣能力。用支持向量機(jī)逼近函數(shù)的方法稱為支持向量回歸(Support Vector Regression,SVR)。在函數(shù)回歸估計(jì)問(wèn)題中控制置信范圍的思路主要是以盡量平坦的函數(shù)逼近給定的精度,使回歸函數(shù)平坦等價(jià)于最小化
假設(shè)對(duì)于給定的數(shù)據(jù)
可以用線性函數(shù)
在精度ε下毫無(wú)誤差地逼近,則SVR問(wèn)題與SVM中最大化分類間隔相似:
對(duì)于有擬和誤差的情況,引入松弛因子iξ和,則問(wèn)題變?yōu)椋?/p>
其中C是控制函數(shù)平坦程度和經(jīng)驗(yàn)誤差均衡的參數(shù)。采用和SVM相同的方法,可以得到以上問(wèn)題的對(duì)偶問(wèn)題:
最后得到的回歸函數(shù)為:
這里得到的iα、也只有一小部分不為零,它們對(duì)應(yīng)的樣本就是支持向量;另外,由于計(jì)算中也只涉及點(diǎn)積運(yùn)算,使用核技術(shù)很容易把它推廣到非線性函數(shù)回歸的情況。同樣,用核函數(shù) K( x, xi)替代式(9)中的內(nèi)積運(yùn)算就可以實(shí)現(xiàn)非線性函數(shù)擬合,則非線性回歸函數(shù)為:
采用簡(jiǎn)支梁模型來(lái)進(jìn)行數(shù)值模擬計(jì)算,根據(jù)上述步驟,將模態(tài)頻率作為損傷指標(biāo)量,使用 LIBSVM 軟件程序預(yù)測(cè)結(jié)構(gòu)損傷程度。簡(jiǎn)支梁模型如圖1所示。
圖1 簡(jiǎn)支梁簡(jiǎn)化模型
簡(jiǎn)支梁長(zhǎng)L = 3m,截面尺寸為0.15m×0.15m,彈性模量E =20GPa,密度ρ=2400 kg/ m3,泊松比為0.2。假定簡(jiǎn)支梁在0.1L、0.2L、0.3L、0.35L、0.4L、0.45L、0.5L、0.55L處,分別有深度為1.5mm、3mm、4.5mm、6mm、7.5mm、9mm、9.75mm、10.5mm、11.25mm、12mm、12.75mm、13.5mm、14.25mm、15mm的裂紋。利用ANSYS有限元分析軟件建立了簡(jiǎn)支梁的損傷模型。分別計(jì)算在以上各種損傷工況下的簡(jiǎn)支梁的模態(tài)頻率。
以損傷梁前 6階頻率作為損傷特征訓(xùn)練支持向量機(jī)來(lái)預(yù)測(cè)損傷的位置和程度,這樣既減少了節(jié)點(diǎn)數(shù)量,提高了預(yù)測(cè)精度,也加快了學(xué)習(xí)進(jìn)程。由于樣本中各類參數(shù)所代表的物理含義不一樣,取值范圍差別較大,實(shí)際數(shù)據(jù)還可能存在冗余和噪聲,所以為提高計(jì)算精度,所有樣本都要做歸一化處理。這樣不僅可以消除樣本中的冗余信息,還可以克服SVM 算法在處理大量樣本數(shù)據(jù)時(shí)速度慢的缺點(diǎn)。對(duì)于所有樣本的參數(shù)分別作為歸一化處理,使數(shù)據(jù)落入[- 1, +1]區(qū)間。設(shè)原參數(shù)為xy,則變換后的參數(shù):
其中xmin、xmax分別為此參數(shù)的最小值和最大值。
通過(guò)有限元仿真計(jì)算,我們得到了簡(jiǎn)支梁模型的各階模態(tài)頻率數(shù)據(jù)樣本,并將所有樣本按照損傷位置的不同分為8組。在每組數(shù)據(jù)中,選取裂紋深度為1.5mm、3mm、4.5mm、6mm、7.5mm、9mm的樣本數(shù)據(jù)作為訓(xùn)練樣本集;選取裂紋深度為9.75mm、10.5mm、11.25mm、12mm的樣本數(shù)據(jù)作為驗(yàn)證樣本集;選取裂紋深度為12.75mm、13.5mm、14.25mm和15mm的樣本數(shù)據(jù)作為測(cè)試樣本集。
根據(jù)不同的損傷位置對(duì)訓(xùn)練樣本分類,輸入到支持向量機(jī)分類網(wǎng)絡(luò)中,形成損傷位置分類檢測(cè)模型。將未知損傷樣本輸入計(jì)算后,得到此損傷樣本屬于每一類損傷位置的概率,根據(jù)分類概率,從原訓(xùn)練樣本中選擇概率較大的幾類樣本重新構(gòu)建訓(xùn)練樣本,利用支持向量機(jī)回歸算法計(jì)算損傷位置。
選取模態(tài)頻率作為特征參數(shù)來(lái)識(shí)別結(jié)構(gòu)的損傷程度。按不同的損傷程度分類構(gòu)建訓(xùn)練集,計(jì)算未知樣本的損傷程度。
由支持向量機(jī)基本理論可知,核函數(shù)的正確選取是保證支持向量機(jī)預(yù)測(cè)結(jié)果精度高低的前提。常見的支持向量機(jī)核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)、B樣條核函數(shù)以及Sigmoid核函數(shù)等。對(duì)于沒(méi)有任何先驗(yàn)知識(shí)的數(shù)據(jù),經(jīng)驗(yàn)結(jié)果表明,采取徑向基函數(shù)往往可以取得很好的分類效果。下面選用徑向基核函數(shù)、多項(xiàng)式核函數(shù)和線性核函數(shù)來(lái)分別進(jìn)行損傷程度預(yù)測(cè)計(jì)算,得到簡(jiǎn)支梁 0.5L處損傷深度預(yù)測(cè)結(jié)果,如表1所示。
表1 簡(jiǎn)支梁0.5L處損傷深度預(yù)測(cè)結(jié)果
使用徑向基核函數(shù)、線性核函數(shù)多項(xiàng)式核函數(shù)和計(jì)算測(cè)試樣本,所得結(jié)果的四階中心矩分別為:3.3×10-3,2.5×10-2,3.2×10-1。從表中我們可以明顯看出,支持向量機(jī)算法內(nèi)推明顯好于外推,計(jì)算誤差小。在12.75mm和13.5mm處,三種核函數(shù)的損傷程度預(yù)測(cè)結(jié)果都略微偏小,且變化趨勢(shì)不明顯;在14.25mm和15mm處,基于三種核函數(shù)的損傷程度預(yù)測(cè)結(jié)果有大有小,圍繞著原始值上下浮動(dòng),呈現(xiàn)出小的波動(dòng)。徑向基核函數(shù)最大誤差為 0.767%,線性核函數(shù)最大誤差為2.11%,多項(xiàng)式核函數(shù)最大誤差為7.65%。綜合比較選擇徑向基核函數(shù)最為支持向量機(jī)預(yù)測(cè)的核函數(shù)。
LIBSVM是臺(tái)灣大學(xué)林智仁等開發(fā)設(shè)計(jì)的一個(gè)簡(jiǎn)單,易于使用和快速有效的SVM模式識(shí)別與回歸的軟件包。該軟件的一個(gè)顯著特點(diǎn)是對(duì) SVM 所涉及的參數(shù)調(diào)節(jié)相對(duì)比較少,提供了很多的默認(rèn)參數(shù),利用這些默認(rèn)參數(shù)就可以解決很多分類回歸問(wèn)題。該軟件可以解決C-SVM分類、v-SVM分類、ε-SVM回歸和 v-SVM回歸等問(wèn)題;在解決回歸問(wèn)題時(shí),推薦使用ε-SVM函數(shù)。
經(jīng)過(guò)三種核函數(shù)預(yù)測(cè)比較分析,最終選擇徑向基核函數(shù)對(duì)簡(jiǎn)支梁的8個(gè)損傷位置處的4個(gè)不同損傷程度進(jìn)行預(yù)測(cè)。預(yù)測(cè)結(jié)果如表2所示。
測(cè)試樣本損傷位置(mm)預(yù)測(cè)值(mm)絕對(duì)誤差(mm)損傷程度(mm)預(yù)測(cè)值(mm)絕對(duì)誤差(mm)D1 0.1L 300.164 0.164 12.75 12.726 0.024 D2 0.1L 300.285 0.285 13.50 13.455 0.045 D3 0.1L 301.748 1.748 14.25 14.267 0.017 D4 0.1L 303.932 3.932 15.00 15.091 0.091 D5 0.2L 582.892 17.108 12.75 12.742 0.008 D6 0.2L 592.648 7.352 13.50 13.482 0.018 D7 0.2L 599.216 0.784 14.25 14.301 0.051 D8 0.2L 603.682 3.682 15.00 15.202 0.202 D9 0.3L 882.287 17.713 12.75 12.746 0.004 D10 0.3L 893.368 6.632 13.50 13.521 0.021 D11 0.3L 899.435 0.565 14.25 14.232 0.018 D12 0.3L 909.346 9.346 15.00 14.987 0.013 D13 0.35L 1038.745 11.255 12.75 12.738 0.012 D14 0.35L 1043.297 6.703 13.50 13.456 0.044 D15 0.35L 1049.134 0.866 14.25 14.227 0.023 D16 0.35L 1053.783 3.783 15.00 15.309 0.309 D17 0.4L 1183.458 16.542 12.75 12.752 0.002 D18 0.4L 1194.469 5.531 13.50 13.345 0.155 D19 0.4L 1201.374 1.374 14.25 14.291 0.041 D20 0.4L 1206.486 6.486 15.00 15.322 0.322 D21 0.45L 1335.694 14.306 12.75 12.731 0.019 D22 0.45L 1349.673 0.327 13.50 13.473 0.027 D23 0.45L 1353.735 3.735 14.25 14.255 0.005 D24 0.45L 1354.672 4.672 15.00 14.915 0.085 D25 0.5L 1487.854 12.146 12.75 12.749 0.001 D26 0.5L 1494.372 5.628 13.50 13.495 0.005 D27 0.5L 1499.565 0.435 14.25 14.251 0.001 D28 0.5L 1506.537 6.537 15.00 15.115 0.115 D29 0.55L 1642.641 7.359 12.75 12.756 0.006 D30 0.55L 1649.735 0.265 13.50 13.501 0.001 D31 0.55L 1654.679 4.679 14.25 14.246 0.004 D32 0.55L 1656.635 6.635 15.00 14.952 0.048
損傷定位絕對(duì)誤差從0.164mm到17.713mm,平均誤差為5.893mm,相對(duì)誤差最大為2.85%,不超過(guò)5%。0.1L處即300mm處預(yù)測(cè)效果最好,平均誤差為1.532。損傷定位內(nèi)推平均誤差為6.058mm;而0.55L處的識(shí)別結(jié)果平均誤差為4.735mm,外推效果好于內(nèi)推。
對(duì)于損傷程度的預(yù)測(cè),絕對(duì)誤差最大為0.322mm,最小為0.001mm。在以上8處不同損傷位置處,通過(guò)支持向量機(jī)預(yù)測(cè)得到的損傷程度平均誤差為:0.044mm、0.070mm、0.014mm、0.097mm、0.13mm、0.034mm、0.031mm、0.015mm。由數(shù)據(jù)可知,各損傷程度平均誤差較小,說(shuō)明使用支持向量機(jī)方法來(lái)預(yù)測(cè)結(jié)構(gòu)損傷程度有著較好的精度。
圖2顯示的是損傷深度為12.75mm處,采用支持向量機(jī)在8個(gè)不同位置預(yù)測(cè)損傷程度結(jié)果。由圖可見,從第一個(gè)位置到最后一個(gè)損傷位置,損傷程度預(yù)測(cè)結(jié)果呈上升趨勢(shì),從小于真值到趨于真值,最后到大于真值,雖然有上下波動(dòng),但最終是上升的。出現(xiàn)波動(dòng)及上升趨勢(shì)的原因可能是由于模態(tài)頻率的不同及支持向量機(jī)本身的迭代收斂問(wèn)題。
圖2 損傷深度為12.75mm支持向量機(jī)預(yù)測(cè)結(jié)果
圖3 損傷深度為13.5mm支持向量機(jī)預(yù)測(cè)結(jié)果
圖4 損傷深度為14.25mm支持向量機(jī)預(yù)測(cè)結(jié)果
圖5 損傷深度為15mm支持向量機(jī)預(yù)測(cè)結(jié)果
圖 3、圖 4、圖 5分別顯示的是損傷深度為 13.5mm、14.25mm和15mm處支持向量機(jī)損傷程度預(yù)測(cè)結(jié)果。由以上三圖可以看出,應(yīng)用支持向量機(jī)損傷程度預(yù)測(cè)結(jié)果圍繞著真值上下波動(dòng),但預(yù)測(cè)效果較好,最大相對(duì)誤差為1.00 E-01,符合一般的工程應(yīng)用。說(shuō)明應(yīng)用支持向量機(jī)算法進(jìn)行結(jié)構(gòu)的損傷預(yù)測(cè)具有較好的工程效果。
本文給出了支持向量機(jī)的基本理論,結(jié)構(gòu)振動(dòng)基本理論以及基于支持向量機(jī)算法的結(jié)構(gòu)損傷程度預(yù)測(cè)方法及步驟。采用歸一化的模態(tài)頻率作為損傷標(biāo)識(shí)量來(lái)預(yù)測(cè)損傷程度,并以簡(jiǎn)支梁為例子進(jìn)行了有限元仿真計(jì)算。從計(jì)算結(jié)果可以看出,支持向量機(jī)預(yù)測(cè)算法具有較好的函數(shù)回歸能力,損傷程度識(shí)別結(jié)果具有較好的精度,損傷程度相對(duì)誤差較小;而且內(nèi)推計(jì)算效果較好,也具有一定的外推預(yù)測(cè)能力,且基于支持向量機(jī)的損傷預(yù)測(cè)方法比神經(jīng)網(wǎng)絡(luò)方法的計(jì)算精度有了顯著提高。