?

貝葉斯極限梯度提升機結合粒子群算法的電阻點焊參數預測

2021-04-25 01:46鄧新國游緯豪徐海威
電子與信息學報 2021年4期
關鍵詞:點焊貝葉斯復雜度

鄧新國 游緯豪 徐海威

①(福州大學數學與計算機科學學院 福州 350108)

②(福建星云電子股份有限公司 福州 350000)

1 引言

動力電池組的電阻點焊是一個既有靜態變量疊加影響又有熱、力、電等動態變量相互耦合的高度非線性過程[1,2]。在達到合格的焊接效果之前,需要結合人工經驗進行大量的試樣,嘗試各種焊接參數組合,才能得到目標值的最優參數,從而造成時間、材料消耗多等問題。國外學者Pandey等人[3]利用田口法對低碳鋼進行電阻點焊實驗,統計分析電流、時間、電極壓力對抗拉剪載荷的影響,得到較優工藝參數。Arunchai等人[4]把焊接時間、電極壓力、電流作為神經網絡的輸入,抗拉剪載荷作為輸出,得到了預測焊點強度的模型。Pashazadeh等人[5]利用神經網絡與多目標遺傳算法對標準鋼板進行點焊工藝參數優化,獲得了最佳工藝參數搭配。Wan等人[6]利用徑向基神經網絡建立了微電阻焊接質量的預測模型。國內學者王先逵和趙杰[7]通過模式增強和函數連接網絡實現了焊接工藝過程的分類學習和自動識別。趙大偉等人[8]利用灰色關聯分析研究鈦合金微電阻焊接參數對焊接質量的影響,得到了工藝參數的最優組合。高星鵬等人[9]使用正交實驗極差分析研究焊接參數對焊接質量的影響,通過遺傳算法和神經網絡對點焊工藝參數進行優化,并把多目標優化問題轉為單一混合目標優化,得到良好的焊點力學性能預測模型。劉偉和郭猛[10]提出將Logistic映射微粒群優化算法和BP神經網絡結合的方法,對08AL鋼板點焊工藝參數建模優化,得到三大主要工藝參數的最優組合。舒服華和王志輝[11]提出將神經網絡和蟻群算法結合的模型,對08AL鋼板電阻點焊工藝參數進行優化,通過仿真實驗顯示了該方法的有效性。

從上述文獻來看,正交實驗等統計法對于了解各參數對模型的影響具有良好的輔助作用,但無法全面考慮實際參數的取點問題。神經網絡因其極強的非線性映射能力,在模擬點焊過程上有很好的表現,不過其缺陷是易在小數據集上陷入過擬合,導致實測中準確率下降[12]。且大多數文獻僅對目標值的最大值進行優化,未考慮到可變目標值的問題。本文針對以上問題提出貝葉斯極限梯度提升機(Bayes eXtreme Gradient Boosting, Bayes-XGBoost)結合粒子群算法,在厚度為0.15 mm的鎳片和0.4 mm的不銹鋼電池正極帽上實驗,獲取實際工況中的電阻點焊數據。其特征包括焊接壓力、焊接電壓1、焊接電壓2、焊接時間1和焊接時間2,其中1, 2代表兩段焊接過程,該目標值為抗拉剪載荷。利用極限梯度提升機(eXtreme Gradient Boosting,XGBoost)和粒子群算法進行建模預測,通過XGBoost的非線性切分能力和防控過擬合機制構建點焊工藝參數到目標值的模型,然后通過粒子群算法在模型中為需求值尋找最優的工藝參數[13,14]。將XGBoost正向訓練與粒子群算法反向預測結合,獲得可變目標值的工藝參數。XGBoost超參數眾多,故采用貝葉斯算法對參數進行聯合優化,選取全局最優的超參數[15]。設定的目標值不是最大抗拉剪載荷值,而是根據具體需求變化而定,對于不同的領域如汽車、列車和航空材料等,需要的目標值均不同,該設計思路體現在粒子群算法的目標函數設定。在測試集上對Bayes-XGBoost做正向訓練的對比實驗,對Bayes-XGBoost+粒子群做整體預測的對比實驗,來檢驗該模型的有效性。

2 Bayes-XGBoost+粒子群算法

2.1 XGBoost算法

電阻點焊工藝參數相互干擾共同影響,對焊接質量的影響呈非線性關系[16]。集成學習算法具有良好的擬合和泛化能力,其中XGBoost具有強大的非線性切分能力以及較好的防控過擬合機制,適合本問題的研究。

XGBoost由多個基分類器聯合決策,先訓練前k-1棵 決策樹,再訓練第k 棵決策樹,第k 棵樹的輸入與前面樹的殘差相關。樹的預測函數為

其中,xi為 樣本,為 結果,U 是樹集合。通過多個決策樹使預測值一步一步接近真實值,訓練的目標函數為

其中,L (θ)為 誤差,Ω (θ)為正則化項。學習過程中保持之前模型不變的基礎上加入新項fk,若目標函數減小,就把fk加入模型。XGBoost利用目標函數的2階導數進一步增強了擬合能力。正則化項Ω(θ)即樹的復雜度,如式(3)

其中, w 為葉子權重,Q 為葉子個數,γ , λ用于增強模型防控過擬合能力。

XGBoost算法的學習過程是對枚舉的決策樹結構做最優決定,根據貪心策略不斷選擇增益最大的節點。最優化分裂停止條件有3個,即引入的分裂增益小于設定閾值,樹深達到最大深度,樣本權重和 小于設定閾值[17]。

2.2 貝葉斯優化算法

貝葉斯優化算法是一種基于概率分布的算法,通過先驗函數表示分布假設,使用采集函數決定采樣位置??梢詻Q定參數集合的下一步采樣,集成了不確定性[18]。針對XGBoost的參數選擇,先驗函數選擇高斯過程,表示優化函數的分布假設;采集函數選擇提升概率(Probability Of Improvement,POI)函數,從后驗分布中選取下一組參數并評估。

高斯過程指XGBoost算法的參數組合,有限個數的組合都存在一個聯合高斯分布

其中e (x)=E(f(x)), 即期望,m (x,x′)是 x 的協方差,f(x)是 平均絕對誤差。對于組合X ={x1,x2,···,xj},把{x1:j,f1:j}加入樣本后,聯合高斯分布變化,同時得出后驗概率。

采集函數的思路是選取一個能讓最大值以最大概率提高的點。目標是在集合 S中尋找使函數f(x) 達到全局最優的取值x,即

利用貝葉斯優化選取XGBoost參數的流程:初始化參數集合,送入高斯模型中,將樣本送入預測模型,根據輸出對高斯模型修正。若加入的組合達到誤差要求就終止優化過程,否則采集函數選取下一組參數,根據誤差修正高斯模型并進行下一組參數評估[19]。

2.3 粒子群算法

粒子群算法是一種啟發式優化算法,在狀態空間中對每一個位置進行評估,得到最優位置和最優目標值。每個粒子是多維空間中的搜索個體,個體位置為候選解,飛行過程即尋優過程,速度和位置根據歷史最優位置和群體最優位置更新。速度、位置更新公式為

其中, Vid是個體速度,Fid是個體位置。ω 是慣性因子,控制速度變化, ω取較大值時模型的全局尋優能力強,局部尋優能力弱;取較小值時模型的全局尋優能力弱,局部尋優能力強[20]。 c1和 c2是加速參數,rand (0, 1)是[0, 1]內的隨機數, Pid是第i個變量的個體最優值的第 d 維,Pwd是當前全局最優解w的第 d維。把位置信息送入目標函數計算個體和群體的歷史最優位置及最優適應度值,不斷迭代更新,直至達到終止條件[21]。

之前電阻點焊優化的目標是尋求抗拉剪載荷的最大值,值越大點焊質量越好[22]。本文的目標是大于需求值,且與需求值相差越小越好。故將p (抗拉剪載荷)與n (需求值)的差作為粒子群的目標函數,如式(8)所示

3 電阻點焊參數預測方法

本文算法結合了貝葉斯優化算法,XGBoost算法和粒子群算法,如表1所示,整體分為兩部分:XGBoost模型的訓練過程和粒子群算法的尋優過程,對應表1中的步驟1和步驟2。第1部分的準備工作包括對焊接數據進行歸一化和切分,對算法的參數進行初始化,對應步驟1。然后是XGBoost的正向訓練,同時利用貝葉斯優化搜尋最佳參數,對應步驟2。每次貝葉斯優化選擇參數的過程即XGBoost的一次訓練過程,XGBoost的訓練是一個不斷迭代的過程,在未滿足停止條件之前不斷進行最優化分裂,對應步驟2.2。貝葉斯優化的停止條件是滿足誤差要求,否則迭代進行步驟2.1~2.3。在XGBoost訓練完成,形成虛擬的映射函數后,利用粒子群算法對映射函數進行反向搜索求解,對應步驟3。第2部分首先初始化粒子群,根據需求值按公式設定目標函數。未滿足停止條件前不斷迭代,對應步驟3.1~3.3。最終得到全局最優預測結果。

算法復雜度分為3部分,XGBoost的時間復雜度主要消耗在學習樹,樹在搜索、分裂結點時需要對每個特征遍歷所有樣本,通過計算增益獲取可能的分裂結點,樣本數為 N ,特征數為W ,時間復雜度為O (N ×W),因為做了列分塊優化,特征維度并行訓練,分塊數為B , 故時間復雜度為O (N ×W/B)。訓練數據可以當作一個 N ×W的超大規模稀疏矩陣,空間復雜度為O (N ×W)。貝葉斯優化主要是根據已有結果建模高斯過程,計算量消耗在計算協方差矩陣的逆,時間復雜度為O (N3),但也優于網格搜索和隨機搜索??臻g消耗主要在樣本空間上,空間復雜度為 O (N)。粒子群算法的時間復雜度與粒子個數 M 、維度數C 、循環次數 T有關,時間復雜度為O (M ×C×T), 空間復雜度為O (M ×C)。

整個算法的時間、空間復雜度占比主要在XGBoost,但實現過程對內存、IO, CPU cache均做了優化,所以其速度大大加快。而且XGBoost加入了正則項,限制樹的復雜度,既保證了泛化能力,又減小了空間復雜度。實驗結果5.3.2節中有具體 的時間對比。

表1 Bayes-XGBoost+粒子群算法

4 實驗樣本獲取及模型參數設置

4.1 實驗數據獲取

結合文獻[1,2,4,10,23]以及實際經驗,選擇對焊接結果有重要影響的參數,即焊接壓力、焊接電壓1、焊接電壓2、焊接時間1、焊接時間2作為輸入參數;點焊工藝質量以點焊接頭的力學性能參數抗拉剪載荷為指標,抗拉剪載荷為抗拉強度和抗剪強度的綜合指標[23]。為了保證實驗數據的均勻分布,盡可能全面模擬真實環境,結合實際點焊工程經驗和設備可調范圍進行取點,各個焊接參數的范圍見表2,焊接結果參數抗拉剪載荷值在90~180 N。共計1280個組合,舍去極限狀態下以及不符合工程要求的選點,剩余576個組合。因存在工藝不穩定性,每個組合需進行不少于5次的重復測量,對多次測量結果進行取最小值,取最小值的原因是最終預測的結果是要大于需求值的,若最小值大于需求值,則普通情況均滿足需求值。

表2 參數范圍

使用厚度0.15 mm的鎳片和0.4 mm的不銹鋼電池正極帽在米亞基8000BMAD上焊接,該機器最大功率99.9 kW,最大電壓10 V,焊接時間可精確到0.1 ms。

4.2 模型參數設置

貝葉斯優化XGBoost的參數集合主要包含3類參數:Booster參數、通用參數、目標參數,如表3所示。

為平衡算法的搜索能力和計算量,粒子群算法的種群規模 S取50,迭代次數500,粒子維度5,控制加速的因子 C1=C2= 1.49,慣性權重W =0.729,粒 子解空間范圍是[0, 1]。

5 實驗結果

5.1 貝葉斯優化結果

利用貝葉斯優化搜尋XGBoost的參數,并與網格搜索法做對比,將迭代誤差繪制成圖1。其中,橫坐標是迭代次數,縱坐標是測試集的誤差均方(Mean Square Error, MAE)指標,由式(9)得到

表3 XGBoost參數集合

其中, k為樣本個數,| yi-|為真實值與預測值的絕對誤差。網格搜索初始誤差較大,最終達到0.0314,貝葉斯優化在經過約80次迭代達到穩定,誤差降至0.0151??芍惾~斯優化XGBoost的參數優于網格搜索,使整體算法具有良好的預測能力。參數如表4.

5.2 XGBoost算法結果

利用表4參數訓練XGBoost,得到電阻點焊模型。為了解哪些特征對于XGBoost模型最重要,繪制出每個樣本的每個特征的shap值,shap是一種博弈論方法,用于解釋機器學習模型的輸出,代表特征對模型輸出的貢獻。圖2是對特征進行排序的結果,依據是所有樣本的shap值重要度,顯示出每個特征對模型輸出的影響,推高預測以紅色顯示,推低預測以藍色顯示。

圖1 兩種搜索方法的結果

表4 XGBoost參數

特征值0~4分別為焊接壓力、焊接電壓1、焊接電壓2、焊接時間1、焊接時間2。特征對輸出的影響程度從高到低為焊接電壓2、焊接電壓1、焊接壓力、焊接時間2、焊接時間1??煽闯龅?段電壓對結果的影響是最大的,超過臨界點后焊接效果會變差。隨著焊接壓力增大,在臨界點之前抗拉剪載荷逐漸增大,在臨界點之后,抗拉剪載荷逐漸減小。電極壓力過大導致接觸電阻減少,壓痕變大,故點焊強度變弱[10]。

可視化訓練過程用熱力圖表示,如圖3所示,橫坐標為每個樣本,縱坐標為基值變化。熱力圖根據博弈論得到,意義為每個樣本從基值到輸出的推入過程,紅色代表存在特征推高基值,藍色代表存在特征推低基值。

表5是預測結果的對比,TRAIN-MAE為訓練集的MAE, TEST-MAE為測試集的MAE??芍惾~斯優化XGBoost優于隨機森林 (Random Forest,RF)、后向傳播神經網絡 (Back Propagation,BP)、網格搜索極限梯度提升機 (Grid search eXtreme Gradient Boosting, Grid-XGBoost),且誤差滿足需求。

圖2 特征對模型輸出的影響

圖3 可視化訓練熱力圖

5.3 粒子群結果

5.3.1 粒子尋優過程

點焊出現頻率最高的需求值是130 N,以此為例觀察粒子群的變化,圖4為粒子在搜索空間的初始化和迭代結束的結果,圖中橫縱坐標為解空間的兩個維度,單位已歸一化,范圍均在[0, 1]??梢娏W幼罱K收斂效果較好。經過約300次的迭代后,獲得穩定的全局最優目標值,此時最優值為130.02 N。

5.3.2 多種指標結果對比

為了更加直觀地證明整體模型的工程實用性,直接計算Bayes-XGBoost+粒子群算法的整體誤差。使用粒子群預測得到的參數在實際環境中測試,此時實測結果從全局角度看相當于整體模型的預測值,而需求值作為真實值,輸入誤差指標中計算誤差。這樣做相當于還原了問題的本質,直接檢驗需求值與模型結果實測值的差異。

在真實環境下通過實測驗證最優化預測結果的有效性。在抗拉剪載荷的取值范圍90~180 N內取點,每隔5 N取1個采樣點作為焊接需求值,每個需求值用4種算法分別預測焊接參數,得到的最優化預測參數在實際環境中做點焊測試,每組參數做5次實驗取平均,得到穩定的最優化預測結果。為了驗證模型的有效性,采用以下兩種誤差評價指標:均方根誤差(Root Mean Square Error, RMSE)、希爾不等系數(Theil Inequality Coefficient, TIC),它們的計算方式如式(10)和式(11)所示

表5 模型預測結果

圖4 粒子初始化及迭代結束的分布

其中,k為樣本個數,yi與是需求值以及最優化預測的實測結果,誤差指標均是越小越好,結果如表6所示。

Bayes-XGBoost+粒子群算法在兩種誤差指標中均低于其余方法,并且誤差值減小至實際工藝要求范圍內。

預測誤差不能完全證明算法的有效性,實際工藝要求是結果大于需求值,高于需求值5 N比低于需求值0.1 N更優,準確率也是衡量算法的重要標準,用實測合格個數除以總個數得到準確率,表7是準確率對比。

可以看出Bayes-XGBoost+粒子群準確率最高,同時在處理大規模數據集時,算法效率也要考慮,表8是速度對比。

XGBoost在使用多核多線程的時候能夠發揮很強的性能,處理大數據時具有速度優勢。經過多種算法的誤差指標、準確率、執行效率對比后,證明Bayes-XGBoost+粒子群算法的綜合性能較強,在對電阻點焊參數進行預測的時候具有很好的效果,能對實際點焊工藝提供有效的輔助作用。

表6 算法的誤差

表7 算法的準確率

表8 算法所用時間

6 結論

準確預測可變需求值的工藝參數可以極大地減少時間和材料耗費,但點焊工藝的不穩定性以及數據規模都增加了預測的難度,提出一種能夠全面模擬點焊過程,且具有防控過擬合能力的方法是很有意義的。本文通過構建576組點焊樣本,利用XGBoost算法對點焊過程進行建模,引入貝葉斯優化自動搜尋參數,通過與其他算法的對比實驗表明XGBoost對電阻點焊過程具有良好的擬合和泛化能力。然后利用粒子群算法對已形成的正向預測模型搜尋可變目標值的工藝參數,反向預測最優參數。在與其他算法對比后,驗證Bayes-XGBoost+粒子群算法對可變目標值的工藝參數預測具有較高的可靠性,在誤差、準確率、效率上均有優秀表現。有助于工程師在新的需求值上快速選取合適的工藝參數,提升了效率。

猜你喜歡
點焊貝葉斯復雜度
熱成型零件點焊對碰撞的影響
一種低復雜度的慣性/GNSS矢量深組合方法
求圖上廣探樹的時間復雜度
基于貝葉斯估計的軌道占用識別方法
SAPH440酸洗鋼電阻點焊性能研究
基于互信息的貝葉斯網絡結構學習
某雷達導51 頭中心控制軟件圈復雜度分析與改進
一種基于貝葉斯壓縮感知的說話人識別方法
DP600/AZ31無匙孔攪拌摩擦點焊軸肩下壓量對接頭性能的影響
軌道車輛TIGSPOT點焊工藝研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合