雷璽博,康興無,韓媛媛
(1.第二炮兵工程學院,陜西 西安 710025;2.裝甲兵工程學院,北京 100072)
支持向量機理論于20世紀90年代由AT&T貝爾實驗室的 Vapnik教授提出,它是一套機器學習的新理論體系。與傳統(tǒng)的統(tǒng)計學習理論不同,支持向量機理論的統(tǒng)計推理不是要得到樣本數(shù)趨于無窮大時的最優(yōu)解,而是追求在有限樣本的情況下得到最優(yōu)解,是兼顧到經(jīng)驗風險和置信范圍的一種折中思想。
支持向量機(Support Vector Machine,SVM)是統(tǒng)計學習理論中最年輕的內(nèi)容,也是最實用的部分。SVM 有兩個非常突出的優(yōu)點:能夠盡量提高學習機的推廣能力,通過尋求結(jié)構(gòu)風險最小化來實現(xiàn)實際風險最小化,即能夠在很少訓練樣本的基礎(chǔ)上得到?jīng)Q策準則且誤差差值較小,亦能獲得很好的學習效果;SVM 算法是一個凸二次優(yōu)化問題,能夠保證找到的極值解就是全局最優(yōu)解,避免了人工神經(jīng)網(wǎng)絡等遇到的網(wǎng)絡結(jié)構(gòu)難于確定、過學習、維數(shù)災難問題以及局部極小化等問題。支持向量機是到目前為止統(tǒng)計學習理論最成功的算法實現(xiàn),是機器學習領(lǐng)域中的研究熱點,并在很多領(lǐng)域得到了成功的應用,如人臉識別、手寫體識別、機械故障診斷、結(jié)構(gòu)的損傷識別等。
在模式識別中,后驗概率對于分類器的設(shè)計是很有用的。Platt提出了兩參數(shù)Sigmoid函數(shù)的后驗概率模型來直接擬合后驗概率,其公式為:

其中利用最大似然法根據(jù)訓練樣本就可估計出A和B。Wu等利用逐對偶和方法解決了多類分類器的后驗概率擬合問題,并提高了算法的收斂性和計算精度。
設(shè)有k類數(shù)據(jù)

由i, j兩類數(shù)據(jù)訓練得到的概率輸出記為

按上式估計出A和B,通過rij來計算pi,求解最優(yōu)化問題:

約束條件為

可以得到x屬于第i類的概率pi。
函數(shù)回歸估計是另外一種常見的機器學習問題,SVM在這個問題上通過同時控制函數(shù)的復雜度和逼近精度,獲得了很好的推廣能力。用支持向量機逼近函數(shù)的方法稱為支持向量回歸(Support Vector Regression,SVR)。在函數(shù)回歸估計問題中控制置信范圍的思路主要是以盡量平坦的函數(shù)逼近給定的精度,使回歸函數(shù)平坦等價于最小化

假設(shè)對于給定的數(shù)據(jù)

可以用線性函數(shù)

在精度ε下毫無誤差地逼近,則SVR問題與SVM中最大化分類間隔相似:

對于有擬和誤差的情況,引入松弛因子iξ和,則問題變?yōu)椋?/p>

其中C是控制函數(shù)平坦程度和經(jīng)驗誤差均衡的參數(shù)。采用和SVM相同的方法,可以得到以上問題的對偶問題:

最后得到的回歸函數(shù)為:

這里得到的iα、也只有一小部分不為零,它們對應的樣本就是支持向量;另外,由于計算中也只涉及點積運算,使用核技術(shù)很容易把它推廣到非線性函數(shù)回歸的情況。同樣,用核函數(shù) K( x, xi)替代式(9)中的內(nèi)積運算就可以實現(xiàn)非線性函數(shù)擬合,則非線性回歸函數(shù)為:

采用簡支梁模型來進行數(shù)值模擬計算,根據(jù)上述步驟,將模態(tài)頻率作為損傷指標量,使用 LIBSVM 軟件程序預測結(jié)構(gòu)損傷程度。簡支梁模型如圖1所示。

圖1 簡支梁簡化模型
簡支梁長L = 3m,截面尺寸為0.15m×0.15m,彈性模量E =20GPa,密度ρ=2400 kg/ m3,泊松比為0.2。假定簡支梁在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有限元分析軟件建立了簡支梁的損傷模型。分別計算在以上各種損傷工況下的簡支梁的模態(tài)頻率。
以損傷梁前 6階頻率作為損傷特征訓練支持向量機來預測損傷的位置和程度,這樣既減少了節(jié)點數(shù)量,提高了預測精度,也加快了學習進程。由于樣本中各類參數(shù)所代表的物理含義不一樣,取值范圍差別較大,實際數(shù)據(jù)還可能存在冗余和噪聲,所以為提高計算精度,所有樣本都要做歸一化處理。這樣不僅可以消除樣本中的冗余信息,還可以克服SVM 算法在處理大量樣本數(shù)據(jù)時速度慢的缺點。對于所有樣本的參數(shù)分別作為歸一化處理,使數(shù)據(jù)落入[- 1, +1]區(qū)間。設(shè)原參數(shù)為xy,則變換后的參數(shù):

其中xmin、xmax分別為此參數(shù)的最小值和最大值。
通過有限元仿真計算,我們得到了簡支梁模型的各階模態(tài)頻率數(shù)據(jù)樣本,并將所有樣本按照損傷位置的不同分為8組。在每組數(shù)據(jù)中,選取裂紋深度為1.5mm、3mm、4.5mm、6mm、7.5mm、9mm的樣本數(shù)據(jù)作為訓練樣本集;選取裂紋深度為9.75mm、10.5mm、11.25mm、12mm的樣本數(shù)據(jù)作為驗證樣本集;選取裂紋深度為12.75mm、13.5mm、14.25mm和15mm的樣本數(shù)據(jù)作為測試樣本集。
根據(jù)不同的損傷位置對訓練樣本分類,輸入到支持向量機分類網(wǎng)絡中,形成損傷位置分類檢測模型。將未知損傷樣本輸入計算后,得到此損傷樣本屬于每一類損傷位置的概率,根據(jù)分類概率,從原訓練樣本中選擇概率較大的幾類樣本重新構(gòu)建訓練樣本,利用支持向量機回歸算法計算損傷位置。
選取模態(tài)頻率作為特征參數(shù)來識別結(jié)構(gòu)的損傷程度。按不同的損傷程度分類構(gòu)建訓練集,計算未知樣本的損傷程度。
由支持向量機基本理論可知,核函數(shù)的正確選取是保證支持向量機預測結(jié)果精度高低的前提。常見的支持向量機核函數(shù)有線性核函數(shù)、多項式核函數(shù)、徑向基核函數(shù)、B樣條核函數(shù)以及Sigmoid核函數(shù)等。對于沒有任何先驗知識的數(shù)據(jù),經(jīng)驗結(jié)果表明,采取徑向基函數(shù)往往可以取得很好的分類效果。下面選用徑向基核函數(shù)、多項式核函數(shù)和線性核函數(shù)來分別進行損傷程度預測計算,得到簡支梁 0.5L處損傷深度預測結(jié)果,如表1所示。

表1 簡支梁0.5L處損傷深度預測結(jié)果
使用徑向基核函數(shù)、線性核函數(shù)多項式核函數(shù)和計算測試樣本,所得結(jié)果的四階中心矩分別為:3.3×10-3,2.5×10-2,3.2×10-1。從表中我們可以明顯看出,支持向量機算法內(nèi)推明顯好于外推,計算誤差小。在12.75mm和13.5mm處,三種核函數(shù)的損傷程度預測結(jié)果都略微偏小,且變化趨勢不明顯;在14.25mm和15mm處,基于三種核函數(shù)的損傷程度預測結(jié)果有大有小,圍繞著原始值上下浮動,呈現(xiàn)出小的波動。徑向基核函數(shù)最大誤差為 0.767%,線性核函數(shù)最大誤差為2.11%,多項式核函數(shù)最大誤差為7.65%。綜合比較選擇徑向基核函數(shù)最為支持向量機預測的核函數(shù)。
LIBSVM是臺灣大學林智仁等開發(fā)設(shè)計的一個簡單,易于使用和快速有效的SVM模式識別與回歸的軟件包。該軟件的一個顯著特點是對 SVM 所涉及的參數(shù)調(diào)節(jié)相對比較少,提供了很多的默認參數(shù),利用這些默認參數(shù)就可以解決很多分類回歸問題。該軟件可以解決C-SVM分類、v-SVM分類、ε-SVM回歸和 v-SVM回歸等問題;在解決回歸問題時,推薦使用ε-SVM函數(shù)。
經(jīng)過三種核函數(shù)預測比較分析,最終選擇徑向基核函數(shù)對簡支梁的8個損傷位置處的4個不同損傷程度進行預測。預測結(jié)果如表2所示。

測試樣本損傷位置(mm)預測值(mm)絕對誤差(mm)損傷程度(mm)預測值(mm)絕對誤差(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
損傷定位絕對誤差從0.164mm到17.713mm,平均誤差為5.893mm,相對誤差最大為2.85%,不超過5%。0.1L處即300mm處預測效果最好,平均誤差為1.532。損傷定位內(nèi)推平均誤差為6.058mm;而0.55L處的識別結(jié)果平均誤差為4.735mm,外推效果好于內(nèi)推。
對于損傷程度的預測,絕對誤差最大為0.322mm,最小為0.001mm。在以上8處不同損傷位置處,通過支持向量機預測得到的損傷程度平均誤差為:0.044mm、0.070mm、0.014mm、0.097mm、0.13mm、0.034mm、0.031mm、0.015mm。由數(shù)據(jù)可知,各損傷程度平均誤差較小,說明使用支持向量機方法來預測結(jié)構(gòu)損傷程度有著較好的精度。
圖2顯示的是損傷深度為12.75mm處,采用支持向量機在8個不同位置預測損傷程度結(jié)果。由圖可見,從第一個位置到最后一個損傷位置,損傷程度預測結(jié)果呈上升趨勢,從小于真值到趨于真值,最后到大于真值,雖然有上下波動,但最終是上升的。出現(xiàn)波動及上升趨勢的原因可能是由于模態(tài)頻率的不同及支持向量機本身的迭代收斂問題。

圖2 損傷深度為12.75mm支持向量機預測結(jié)果

圖3 損傷深度為13.5mm支持向量機預測結(jié)果

圖4 損傷深度為14.25mm支持向量機預測結(jié)果

圖5 損傷深度為15mm支持向量機預測結(jié)果
圖 3、圖 4、圖 5分別顯示的是損傷深度為 13.5mm、14.25mm和15mm處支持向量機損傷程度預測結(jié)果。由以上三圖可以看出,應用支持向量機損傷程度預測結(jié)果圍繞著真值上下波動,但預測效果較好,最大相對誤差為1.00 E-01,符合一般的工程應用。說明應用支持向量機算法進行結(jié)構(gòu)的損傷預測具有較好的工程效果。
本文給出了支持向量機的基本理論,結(jié)構(gòu)振動基本理論以及基于支持向量機算法的結(jié)構(gòu)損傷程度預測方法及步驟。采用歸一化的模態(tài)頻率作為損傷標識量來預測損傷程度,并以簡支梁為例子進行了有限元仿真計算。從計算結(jié)果可以看出,支持向量機預測算法具有較好的函數(shù)回歸能力,損傷程度識別結(jié)果具有較好的精度,損傷程度相對誤差較小;而且內(nèi)推計算效果較好,也具有一定的外推預測能力,且基于支持向量機的損傷預測方法比神經(jīng)網(wǎng)絡方法的計算精度有了顯著提高。