余漢華,徐志軍,趙世鵬,劉婷婷,原 方
河南工業(yè)大學 土木工程學院, 河南 鄭州 450001
目前,在我國主要使用房式倉、筒倉等倉型儲存糧食[1]。筒倉以其占地面積小、容量大、成本低、機械化程度高等優(yōu)點在糧食倉儲中有著廣泛的應用。然而,筒倉損壞或倒塌的事故在國內(nèi)外不斷發(fā)生,其原因是在設計過程中沒有充分考慮筒倉側(cè)壁壓力[2]。筒倉側(cè)壁壓力分為儲存物料時的靜態(tài)側(cè)壓力以及卸料時的動態(tài)側(cè)壓力。研究發(fā)現(xiàn)筒倉的動態(tài)側(cè)壓力大于靜態(tài)側(cè)壓力,動態(tài)側(cè)壓力是導致筒倉結(jié)構失穩(wěn)的重要原因[3-4]。
眾多學者在對筒倉動態(tài)側(cè)壓力的研究中取得了許多有意義的成果。原方等[5]利用PIV技術觀測了在卸料過程中糧食顆粒的細觀運動,從理論上揭示了倉壁動態(tài)側(cè)壓力增大機理。Kobyka等[6]使用離散元法(DEM)模擬了糧倉的初始卸料,研究了稀疏-壓縮波的傳播,結(jié)果表明稀疏-壓縮波是應力脈動的形成原因。Wang等[7]利用有限元方法(FE)預測料斗卸料中的動態(tài)側(cè)壓力,得出壓縮波傳播是應力脈動的原因。Wang等[8]通過有限元方法模擬了帶有圓錐形料斗的筒形筒倉內(nèi)壁的法向應力,研究表明,垂直、會聚過渡處的應力波動幅度大得多,同時提出這主要是由主應力從垂直方向到會聚方向引起的。劉克瑾等[9-10]通過數(shù)值模擬技術研究發(fā)現(xiàn)筒倉卸料時動態(tài)側(cè)壓力的增大與動態(tài)起拱有很大的關系。
然而,影響筒倉動態(tài)側(cè)壓力的因素較多,而各種影響因素之間存在著錯綜復雜的非線性關系。傳統(tǒng)的研究方式,譬如Jassen公式,只考慮某一種或少數(shù)幾種影響因素。因此建立一種能夠考慮多種影響因素、高效、準確的動態(tài)側(cè)壓力的預測方法尤為重要。近年來,由于AI的快速發(fā)展,基于機器學習的方法在許多領域都獲得了有益的成果。例如,作為機器學習的3個關鍵算法,隨機森林算法、BP神經(jīng)網(wǎng)絡算法和支持向量機算法都可以進行數(shù)據(jù)分類和回歸分析,以處理非線性、不確定性和小樣本問題,在土木工程中具有良好的應用[11]。因此,作者利用支持向量機、BP神經(jīng)網(wǎng)絡和隨機森林方法,提出了考慮多因素和非線性影響的筒倉動態(tài)側(cè)壓力預測模型。對3種預測模型的預測結(jié)果進行了比較分析,得出動態(tài)側(cè)壓力的最優(yōu)預測模型。利用該模型研究了筒倉動態(tài)側(cè)壓力的概率分布。研究成果可為筒倉動態(tài)側(cè)壓力預測提供一種新方法,推動可靠度理論在筒倉結(jié)構中的應用。
常見的機器學習主要包括監(jiān)督學習、非監(jiān)督學習、半監(jiān)督學習以及強化學習,監(jiān)督學習主要包括分類和回歸2種任務。常用的回歸方法有支持向量機算法、BP神經(jīng)網(wǎng)絡算法和隨機森林算法等。
支持向量機算法是基于統(tǒng)計理論的,這種方法的優(yōu)點是采用結(jié)構風險最小化的原則,其模型可以用式(1)表示[12]。
f(x)=ω·φ(x)+bf(x),
(1)
式中:x為輸入特征向量;f(x)為輸出值;φ(x)為映射到高維特征空間的非線性函數(shù);ω為超平面的權重向量;b為偏置向量。
為了解決非線性回歸問題,支持向量機就是求式(2)中函數(shù)的最優(yōu)解[13]。
(2)
式(2)滿足約束條件:
(3)
通過引入拉格朗日公式和Karush-Kuhn-Tucker條件,利用其對偶問題得到最優(yōu)解。
(4)
式(4)滿足約束條件:
(5)
式中:αi和αi*為拉格朗日乘子。
引入核函數(shù)K(xi,yj),可以解決支持向量機算法中的高維計算問題。徑向基函數(shù)具有良好的預測精度,選用徑向基函數(shù)作為核函數(shù),給出核函數(shù)的表達式。
(6)
式中:σ為樣本方差。
在式(4)滿足式(5)的條件下,結(jié)合式(1)和式(6),則得出支持向量機的最終回歸擬合函數(shù)。
(7)
本文采用LIBSVM工具箱[14]實現(xiàn)支持向量機預測。
BP 神經(jīng)網(wǎng)絡(Back propagation neural network)是在神經(jīng)網(wǎng)絡的基礎上發(fā)展起來的一種算法。目前,它主要應用于求解高維非線性問題。學習過程主要包括輸入信息的正向傳播和誤差的反向傳播。BP神經(jīng)網(wǎng)絡本質(zhì)是一種多層前饋神經(jīng)網(wǎng)絡,也稱為多層感知器。它是一種既沒有規(guī)律也非線性的函數(shù)。輸入層分別對應影響筒倉動態(tài)側(cè)壓力的9個影響因素(X1,X2,…,X9);輸出層對應筒倉動態(tài)側(cè)壓力(Y)。BP神經(jīng)網(wǎng)絡的結(jié)構見圖1,Wij和Vij表示權重。
圖1 BP神經(jīng)網(wǎng)絡結(jié)構
原始數(shù)據(jù)集決定了BP神經(jīng)網(wǎng)絡的輸入層與輸出層的神經(jīng)元節(jié)點數(shù),目前,一般使用經(jīng)驗公式來確定隱含層的節(jié)點數(shù),主要經(jīng)驗公式有3種[15]。
(8)
h=log2m,
(9)
h=2m+1,
(10)
式中:h為隱含層神經(jīng)元節(jié)點數(shù);m為輸入層神經(jīng)元節(jié)點數(shù);n為輸出層神經(jīng)元節(jié)點數(shù);a為0~10之間的整數(shù)。
合適的隱含層節(jié)點數(shù)對BP神經(jīng)網(wǎng)絡的預測精度有著重要的影響,當隱含層節(jié)點數(shù)量較大時, BP神經(jīng)網(wǎng)絡的復雜度會增加,算法的整體學習效率會降低。
隨機森林算法的原理是針對原始數(shù)據(jù)集,采用Bagging算法進行不放回抽樣,得到多個新的樣本集,然后通過新樣本集進行回歸性決策樹的構建。每棵決策樹從訓練樣本的特征變量中選擇一部分作為分裂標準,這些特征變量將被劃分為多個設定的單元,每一個單元對應的是一個輸出結(jié)果,再將建模過程中的樣本集合進行分類,最終得到?jīng)Q策樹的回歸結(jié)果。在求解回歸問題時,將所有計算結(jié)果的平均值作為隨機森林回歸預測模型的最終預測結(jié)果。
基于CART算法和Bagging算法的隨機森林算法有2個獨特的優(yōu)勢:第一,確定決策節(jié)點不需要歷遍所有的樣本數(shù)據(jù),只需要從中選擇一部分作為特征變量,利用平均絕對誤差(MAE)和均方誤差(MSE)確定最優(yōu)分割節(jié)點;第二,Bagging算法在一定程度上降低了訓練樣本之間的相關性,既有效提高了隨機森林回歸預測模型的泛化能力,又減少了過擬合現(xiàn)象的發(fā)生,在決策樹生長的過程中不需要進行剪枝的過程。因此,隨機森林在進行回歸預測時比傳統(tǒng)的線性回歸方法具有更高的運算速率、更快的分類速度、更少的參數(shù)調(diào)節(jié)等優(yōu)點,特別是在求解高維非線性問題方面具有獨特的優(yōu)勢。具體回歸操作流程見圖2。
圖2 隨機森林回歸預測模型操作流程
PFC數(shù)值模擬數(shù)據(jù)能夠作為筒倉設計和動態(tài)側(cè)壓力研究的依據(jù)。本文選用文獻[16-23]中532組PFC模擬數(shù)據(jù)供機器學習預測模型選擇,相關參數(shù)見表1。
機器學習的預測精度受數(shù)據(jù)量的影響,為了盡可能地擴大數(shù)據(jù)樣本,除了從文獻中采集的數(shù)據(jù)以外,基于表1數(shù)值,進行了24組模型筒倉卸料模擬,其中1~12組選擇稻谷為貯料,13~24組選擇大米為貯料,每組模型筒倉設置20個測墻共獲得480組數(shù)據(jù)。建模時的相關參數(shù)見表2。
表1 相關參數(shù)
表2 來源模擬的相關參數(shù)
在進行機器學習前,數(shù)據(jù)需要進一步歸一化。利用式(11)將文獻搜集數(shù)據(jù)和數(shù)值模擬數(shù)據(jù)集中的輸入變量和輸出值歸一化到[0, 1],900組數(shù)據(jù)作為預測模型的訓練樣本,其余數(shù)據(jù)作為測試樣本。
(11)
筒倉動態(tài)側(cè)壓力預測模型的輸入量為筒倉高度、內(nèi)徑、高徑比、卸料口寬度、漏斗傾角、內(nèi)摩擦系數(shù)、外摩擦系數(shù)、貯料密度以及測點位置,輸出量為每個測點處的最大動態(tài)側(cè)壓力值。分別采用支持向量機、隨機森林和BP神經(jīng)網(wǎng)絡3種機器學習方法建立了筒倉動態(tài)側(cè)壓力預測模型。模型構建流程如圖3所示。
圖3 基于機器學習的筒倉動態(tài)側(cè)壓力預測模型流程
預測模型的重要步驟是確定模型的相關參數(shù)。設置支持向量機懲罰參數(shù)為2.828 4,核函數(shù)為8;設置隨機森林決策樹個數(shù)為5,特征個數(shù)為500;神經(jīng)網(wǎng)絡設置激活函數(shù)為“Tansig”函數(shù),學習率為0.001,期望誤差為0.001,訓練次數(shù)為1 000,隱含層神經(jīng)元節(jié)點數(shù)為8。
對相關參數(shù)進行設置后,分別代入3種預測模型,為了驗證3種模型最終的預測能力,將76組試樣的預測值與真實值進行對比,結(jié)果如圖4—圖6所示。
基于表1和表2中的數(shù)據(jù)及圖4—圖6,對3種算法的絕對誤差進行計算,見圖7。
圖4 基于支持向量機的筒倉動態(tài)側(cè)壓力預測模型的回歸擬合
圖5 基于隨機森林的筒倉動態(tài)側(cè)壓力預測模型的回歸擬合
圖6 基于BP神經(jīng)網(wǎng)絡的筒倉動態(tài)側(cè)壓力預測模型的回歸擬合
從圖7可看出,基于支持向量機的筒倉動態(tài)側(cè)壓力預測模型的數(shù)據(jù)絕對誤差值較為集中,離散的點較少。基于BP神經(jīng)網(wǎng)絡的筒倉動態(tài)側(cè)壓力預測模型的數(shù)據(jù)絕對誤差離散點較多?;陔S機森林的筒倉動態(tài)側(cè)壓力預測模型的數(shù)據(jù)絕對誤差較前2種預測模型較大,突出的離散點最多。因此,基于支持向量機的筒倉動態(tài)側(cè)壓力預測模型誤差最小、精度最高。本文采用支持向量機對筒倉動態(tài)側(cè)壓力的概率分布進行了研究。
圖7 3組模型數(shù)據(jù)絕對誤差對比
本文選用小麥的物理屬性進行研究。根據(jù)規(guī)范可知,小麥的密度介于681.5~804.0 kg/m3,平均值為750 kg/m3,小麥的密度可以作為隨機變量。隨機數(shù)的生成采用均勻分布的方法,該過程主要通過MATLAB計算中的Rand函數(shù)來實現(xiàn)。最終得到1 000組小麥密度的隨機數(shù),隨機數(shù)服從均勻分布且平均值為750 kg/m3。
筒倉卸料過程中,筒倉高度為5 m,內(nèi)徑為2 m,高徑比為2.5,卸料口寬度為0.06 m,漏斗傾角為45°,內(nèi)摩擦系數(shù)為0.4,外摩擦系數(shù)為0.4,測點位置為筒倉底部1/3處。將以上固定值代入上述的支持向量機預測模型中,同時將已編號的1 000組小麥密度的隨機數(shù)代入上述模型,得到的預測結(jié)果見圖8,圖中的1個小圓代表一組數(shù)據(jù)。
圖8 支持向量機預測結(jié)果
筒倉設計規(guī)范中將小麥的密度規(guī)定為800 kg/m3,通過Janssen公式得到此時的動態(tài)側(cè)壓力為9.13 kPa,因此將9.13 kPa視為筒倉能夠承受的最大動態(tài)側(cè)壓力。由圖8可知,1 000組數(shù)據(jù)中有39組數(shù)據(jù)大于9.13 kPa,在小麥密度規(guī)范取值范圍內(nèi),不安全的概率為0.039,安全概率極高。因此,在筒倉符合設計規(guī)范的情況下,符合糧食規(guī)范的小麥不會引起筒倉事故。因此,預測結(jié)果可用于研究筒倉動態(tài)側(cè)壓力的概率分布。
選擇Easyfit軟件對1 000組筒倉動態(tài)側(cè)壓力預測結(jié)果進行分析,步驟如下:1)首先將支持向量機預測的1 000組數(shù)據(jù)輸入Easyfit軟件的數(shù)據(jù)欄中,并點擊對應的命令圖標。2)選擇自動擬合分布函數(shù),選擇Easyfit軟件中的Beta分布。3)通過Easyfit軟件將Beta分布的概率密度曲線與動態(tài)側(cè)壓力直方圖進行繪制,結(jié)果見圖9。初步得出筒倉動態(tài)側(cè)壓力服從Beta分布。
圖9 直方圖與Beta分布概率密度曲線
綜上所述,支持向量機的預測結(jié)果能夠用于筒倉動態(tài)側(cè)壓力概率分布的研究,為筒倉的可靠性分析提供一種新的思路與研究基礎。
建立了基于支持向量機、BP神經(jīng)網(wǎng)絡和隨機森林的筒倉動態(tài)側(cè)壓力預測模型,結(jié)果表明:基于支持向量機的筒倉動態(tài)側(cè)壓力的絕對誤差范圍最小,說明基于支持向量機的筒倉動態(tài)側(cè)壓力預測模型的泛化能力最好,且預測精度最高。
在固定其他影響因素的條件下,獲取1 000組均勻分布的小麥密度的隨機數(shù),利用構建的支持向量機預測模型獲得1 000組預測結(jié)果。其中動態(tài)側(cè)壓力最大值大于筒倉規(guī)范計算結(jié)果9.13 kPa,在小麥密度規(guī)范取值范圍內(nèi)不安全的概率為0.039。
通過Easyfit軟件進行擬合分布與優(yōu)度檢驗,得出筒倉底部1/3處的筒倉動態(tài)側(cè)壓力最優(yōu)概率分布為Beta分布,為筒倉可靠性研究奠定了一定的理論基礎。