朱桂生 黃春霞
摘 要:本文采用誤差反向傳播神經網絡(BP)建立了混凝土抗壓強度的預測模型,在不同的誤差目標值及隱含層節點數條件下,探討模型的預測精度。實驗結果表明,當誤差目標值設定為0.01、隱含層節點數為3時,模型的預測精度最高,平均誤差百分數為6.6%。當誤差目標值設定較大時,樣本的預測值與實測值會發生明顯的偏差,預測效果不佳。
關鍵詞:神經網絡 抗壓強度 預測
中圖分類號:TQ172.1 文獻標識碼:A 文章編號:1672-3791(2018)11(a)-00-03
Abstract:In this paper, the error back propagation neural network (BP) was used to predict the compressive strength of concrete. Under different conditions of error target value and number of hidden nodes, the prediction accuracy of the model was discussed. The experimental results showed that when the error target value was 0.01 and the number of hidden layer nodes was 3, the prediction accuracy of the model was the highest, and the average error percentage was 6.6%. When the error target value was set large, the difference between predicted value and the measured value would be huge, and the prediction effect was not good.
Key Words:Neural network; Compressive strength; Prediction
近年來,人工智能成為研究熱點,人工神經網絡作為人工智能的一個分支,人工神經網絡廣泛應用于圖像和物體識別、電子游戲、語音生成和識別、藝術品和風格的模仿、預測以及網站設計修改等領域[1-4]。在預測領域,網絡采用多采用誤差反向傳播神經網絡(BP),該網絡是神經網絡模型中最具代表性和廣泛應用的一種,其結構簡單,可操作性強,能模擬任何輸入、輸出關系[5-7]。目前,已有研究者采用該網絡進行混凝土抗壓強度預測[8-11],有研究者采用單隱層BP神經網絡模型對混凝土的抗壓強度進行了預測,預測誤差控制在10%左右[12]。
通常,BP神經網絡在訓練過程中會設定某一誤差精度,當達到該誤差目標值時,模型即停止訓練。該目標值的設定是否對模型最終的預測效果起到了關鍵性作用仍未被系統地研究,因此,本文將設定不同的誤差目標值進行模型性能分析。
1 樣本數據集的收集于網絡訓練方法
1.1 混凝土抗壓強度實驗數據
本實驗采用Concrete Compressive Strength數據集[8],數據集中包含1030組數據,每組數據由9個參數組成,前8個參數為每立方混凝土中的水泥、高爐礦渣粉、粉煤灰、水、減水劑、粗集料、細集料以及放置天數。在本文中,選擇水泥、高爐礦渣粉、水、粗集料和細集料作為輸入層節點,水泥28d的抗壓強度為輸出層節點。
1.2 BP神經網絡模型參數設定
設置網絡,建立相應的BP網絡,net=newff(minmax(Pn),[X,1],{'tansig','purelin'},'traingdm') [13-14]。
其中,[X,1]中的X為隱含層節點數,1為輸出層節點數,隱含層節點數初步確定為2,3,4。學習率確定為0.2,訓練步數設定為30000步,誤差設定為0.01、0.02以及0.03,每1000步顯示一次。
1.3 BP神經網絡訓練
從數據庫中選擇樣品放置時間為28天的40個樣本進行模型訓練,5個樣本作為預測樣本。選擇不同隱含層節點數時,模型進行5次預測,將預測結果計算平均值,作為預測結果。
2 結果討論
表1顯示的是不同誤差目標值設定下,模型實測值與預測值的比較。可以看出,在不同的目標值下,模型的預測精度存在著差異。當目標值為0.01,隱含層節點數為3時,模型的預測精度最高,每個樣本的實測值與預測值的誤差百分數不超過10%,最小誤差百分數為5.9%,平均誤差百分數為6.6%。當隱含層節點數為2或者為4時,部分樣本預測的誤差百分數超過了10%,說明隱含層的節點數需要合理地設定以滿足模型預測的需求。
隨著設定目標值的增加,模型的預測精度在逐漸下降。例如當精度設定為0.01時,樣本最大誤差百分數為14%(隱含層節點數為2);精度為0.02時,最大誤差百分數已達到22%(隱含層節點數為3);而精度設定為0.03時,最大誤差百分數已經高達25.77%(隱含層節點數為3)。這些結果表明,隨著精度設定值越大,模型的容錯能力越差,預測值可與實測值發生明顯偏差。因此在實際的模型訓練過程中應盡可能設定小目標值,避免出現具有顯著偏差的預測值。
值得注意的是,當目標值設定為不同值時,模型達到最佳預測精度時所對應的隱含層節點數并非為固定值。例如目標值設定為0.01時,隱含層節點數為3時模型預測精度最高;而目標值設定為0.02以及0.03時,隱含層節點數為4時模型預測結果最優。
表2顯示的是目標值為0.01,隱含層節點數為3時,5次不同的預測值,可以看出,如果以模型的某次預測結果作為預測值,其預測值與實測值之間顯然是存在較大誤差,這很可能與訓練樣本數據庫的大小以及預測的樣本是否典型相關。這種誤差是以某些樣本預測精度高,而其它樣本預測精度低為表現形式。例如第2次預測結果樣本3精度很高,但其他樣本預測精度明顯較低,第三次預測結果樣本1精度較高,但其他樣本預測精度差強人意。同樣的情況可以從第4次和第5次的預測結果得以觀察。
造成這樣結果的原因可能是用于訓練的樣本數據庫較小(30組)或者是訓練樣本不夠典型,不能包含預測樣本所有的信息,更可能是模型本身的局限性問題。盡管如此,通過多次訓練求得均值,可以盡量降低未知因素給予的預測誤差,獲得較為滿意的預測結果。
3 結論
本文采用了BP神經網絡對混凝土的抗壓強度進行預測,當誤差目標值設定為0.01,隱含層節點數為3時,模型的預測精度最高,隨著設定目標值的增加,樣本預測值與實測值之間可發生顯著偏差。對于一個模型而言,在訓練樣本數較少的情況下,以模型多次預測結果為平均值作為預測結果,具有較高的預測精度。
4 討論
當使用BP神經網絡進行混凝土的抗壓強度預測時,其訓練樣本數據庫對最終預測的性能起到了至關重要的作用。數據庫越大,越典型、涵蓋的信息越多,可能有利于預測精度的提高。由于模型在訓練過程中,其隱含層于輸出層的權值及閾值是隨機賦予,因此,每次模型訓練后的預測結果并不相同,如何在預測樣本的實測值未知的前提下,較為精確地預測實驗結果是值得深入研究的。
參考文獻
[1] 李輝.基于BP神經網絡的水泥細度軟測量方法[J].中國水泥,2016(7):107-109.
[2] 郭一軍,陳佩軍,趙磊,等.基于遺傳優化的BP神經網絡水泥強度預測[J].南通大學學報:自然科學版,2016,15 (2):7-11.
[3] 許杰淋,曾強余,佳蓓,等.基于遺傳算法優化的BP神經網絡預測混凝土抗壓強度[J].山東化工,2014(10):146-152.
[4] 徐國強,蘇幼坡,韓佃,等.基于BP神經網絡的綠色混凝土抗壓強度預測模型[J].混凝土,2013(2):33-35.
[5] 李仲欣,韋灼彬,沈錦林.基于BP神經網絡的珊瑚混凝土抗壓強度預測模型[J].混凝土,2016(1):64-74.
[6] 黃慶時,鄭建嵐,羅素蓉.BP人工神經網絡在自密實混凝土抗壓強度預測中的應用[J].福州大學學報:自然科學版,2007,35(1):100-104.
[7] 李紅,彭濤.基于BP、RBF神經網絡混凝土抗壓強度預測[J].武漢理工大學學報,2009(8):33-36.
[8] Yeh I.C. Modeling of strength of high performance concrete using artificial neural networks[J]. Cement and Concrete Research,1998,28(12):1797-1808.
[9] 季韜,林挺偉,林旭健.基于人工神經網絡的混凝土抗壓強度預測方法[J].建筑材料學報,2005,8(6):677-681.
[10] 林躍忠,杜世婷,尤培忠.基于神經網絡的聚合物混凝土抗壓強度預測[J].四川建筑,2015,35(4):217-219.
[11] 高峰,郝奇亮.基于MATLAB7.2神經網絡工具箱的混凝土抗壓強度預測[J].山西大同大學學報:自然科學版,2012,28(6):60-62.
[12] 王振國,宓永寧,岳川.基于MATLAB的BP神經網絡對特細砂混凝土強度預測的研究[J].農業科技與裝備,2014(6):62-64.
[13] 尤杰,車軼,仲偉秋.基于BP神經網絡的既有建筑混凝土強度預測[J].建筑科學與工程學報,2011,28(1):70-75.
[14] 王錦力,殷志祥,周明偉.免振搗粉煤灰混凝土抗壓強度的神經網絡預測[J].遼寧工程技術大學學報,2006(25):131-132.