奚建峰 史柏迪 莊曙東,3 陳天翔 陳 威
(1.瓦盧瑞克天大(安徽)股份有限公司常州公司 常州 213033)(2.河海大學(xué)機(jī)電工程學(xué)院 常州 213022)(3.南京航空航天大學(xué)江蘇省精密儀器重點(diǎn)實(shí)驗(yàn)室 南京 213009)
表面粗糙度直接決定零件的裝配精度[1]與使用壽命[2~3],為加工中必須被約束的重要參數(shù)。在當(dāng)前中國(guó)制造2025 的趨勢(shì)之下對(duì)零件表面質(zhì)量提出了更高的要求。傳統(tǒng)試切法[4]、經(jīng)驗(yàn)切法加工效率較低,且當(dāng)切削參數(shù)配置不合理時(shí)極易造成零件粗糙度發(fā)散,導(dǎo)致資源浪費(fèi)。
當(dāng)前表面粗糙度預(yù)測(cè)模型以回歸模型為主可以分為如下類型:線性回歸模型、機(jī)器學(xué)習(xí)及深度學(xué)習(xí)模型。目前國(guó)內(nèi)外已經(jīng)有了諸多成果,Kong等[5]在其論文中提出了一種改進(jìn)的統(tǒng)計(jì)學(xué)回歸模型,通過(guò)對(duì)線性回歸模型引入貝葉斯矩陣分解,在一定程度內(nèi)提高了模型預(yù)測(cè)精確性;馬堯在在其論文中基于多元線性回歸在精確預(yù)測(cè)粗糙度的同時(shí)可有效分析誤差成分。Li 等[6]分析在2018 年基于Weierstrass-Mandelbrot 函數(shù)有效分析在不同切削力作用下切削液所產(chǎn)生的油膜厚度對(duì)粗糙度的作用機(jī)理影響。馬堯在2020 年[7]通過(guò)使用統(tǒng)計(jì)學(xué)多元線性模型建立了TC25鈦合金的銑削粗糙度預(yù)測(cè)及分析模型。上述統(tǒng)計(jì)學(xué)模型大多依賴于線性回歸原理,基于凸優(yōu)化[8]原則一定可解得全局最優(yōu)解,因此運(yùn)算復(fù)雜度低,可直接寫(xiě)入嵌入式開(kāi)發(fā)設(shè)備。但對(duì)于多維復(fù)雜系統(tǒng),統(tǒng)計(jì)學(xué)回歸模型預(yù)測(cè)精度通常難以滿足實(shí)際工程需求。其中,以SVM、XGBoost 及最近鄰為代表的機(jī)器學(xué)習(xí)算法,因其強(qiáng)大的非線性擬合能力被廣泛應(yīng)用于各類復(fù)雜工程問(wèn)題。在2020 年學(xué)者魯娟[9]通過(guò)使用PSO 優(yōu)化SVM 算法精確預(yù)測(cè)蠕墨鑄鐵加工過(guò)程中的表面質(zhì)量。學(xué)者Yang 等[10]使用隨機(jī)森林算法結(jié)合大氣反射率建立了長(zhǎng)江三角洲地區(qū)的pm2.5 監(jiān)測(cè)模型。Wen 等基于[11]KNN 與SVM 算法提出了一種表面肌電分類特征提取方法。以神經(jīng)網(wǎng)絡(luò)算法為代表的深度學(xué)習(xí)模型因其強(qiáng)大的非線性擬合能力,近年來(lái)被廣泛運(yùn)用于各領(lǐng)域。雖尚存一些可解釋性的機(jī)理與原理的”黑盒”問(wèn)題,但通過(guò)多層全連接網(wǎng)絡(luò)可有效解析多元非線性模型。大量工程實(shí)踐表用,深度學(xué)習(xí)算法在圖片識(shí)別[12]、文本翻譯[13]相對(duì)統(tǒng)計(jì)學(xué)及機(jī)器學(xué)習(xí)模型均有更優(yōu)的表現(xiàn)。其中,卷積神經(jīng)網(wǎng)絡(luò)在表面粗糙度實(shí)時(shí)檢測(cè)[14~15]工程中有著廣泛運(yùn)用,但模型超參數(shù)眾且過(guò)度依賴于樣本,其訓(xùn)練需依賴梯度進(jìn)行多輪迭代,參數(shù)配置不當(dāng)時(shí)極易產(chǎn)生過(guò)擬合與欠擬合現(xiàn)象。
本模型為降低模型誤差上界,使用集成學(xué)習(xí)中Stacking[16]方法基于三折交叉驗(yàn)證原則依次訓(xùn)練PSO-SVM、Xgboost、KNN 模型(注:KNN 為惰性學(xué)習(xí)算法只需設(shè)置近鄰個(gè)數(shù)(k)無(wú)需訓(xùn)練),并引入加權(quán)平均法通過(guò)平衡偏差來(lái)提高模型泛化性能力。
本模型使用U71Mn 高錳鋼為測(cè)試材料,其具有較好的抗沖擊與耐磨性能[17],被廣泛運(yùn)用于軌道交通項(xiàng)目。但當(dāng)切削參數(shù)配置不合理時(shí)容易導(dǎo)致材料表面馬氏體粗大,力學(xué)性能急速下降[18],為典型的難加工材料。使用M-V5CN 組合機(jī)床圖1,4齒硬質(zhì)合金平底立銑刀圖2進(jìn)行銑削加工。
為避免隨機(jī)采樣誤差,該零件表面粗糙度由光電輪廓儀任選零件加工后表面三處均勻表面測(cè)量取均值獲得。最終獲取1000組試驗(yàn)樣本,表1為部分試驗(yàn)數(shù)據(jù)。
表1 樣本數(shù)據(jù)
表中,n相對(duì)f、ap、ae數(shù)據(jù)量波動(dòng)較大,為避免數(shù)值波動(dòng)對(duì)模型帶來(lái)的影響,使用式(1)對(duì)試驗(yàn)樣本金鐘標(biāo)準(zhǔn)化處理。
式中,nor為標(biāo)準(zhǔn)化數(shù)據(jù);i為樣本索引,j為特征索引。μj為第j個(gè)特征均值,sj為其標(biāo)準(zhǔn)差;最終樣本集按照如下規(guī)則劃分如圖1所示。
圖1 樣本劃分
圖中,Test 為實(shí)現(xiàn)預(yù)留的100 個(gè)測(cè)試集樣本用于檢測(cè)最終Stacking 集成模型。Set1、Set2、Set3 平分余下900 個(gè)樣本,為最大化集成Stacking 模型泛化性能力,三折交叉驗(yàn)證下的3 種樣本劃分形式依次用于訓(xùn)練PSO-SVM、RF、KNN。
Xgboost 算法通過(guò)在T輪迭代中集成回歸樹(shù)f優(yōu)化每輪殘差使模型逼近觀測(cè)值。此外引入正則化項(xiàng)目Ω(f)約束回歸樹(shù)的深度及葉子節(jié)點(diǎn)分裂數(shù)目有效避免模型產(chǎn)生過(guò)擬合現(xiàn)象。Xgboost模型由目標(biāo)函數(shù)與正則化項(xiàng)組成可表示為式(2):
式中,x=[n,f,ap,ae];θ為模型待訓(xùn)練的超參數(shù);n為樣本數(shù)量;l為均方誤差函數(shù),其輸入為:樣本實(shí)際表面粗糙度y與模型預(yù)測(cè)值?;Ω為懲罰函數(shù)來(lái)降低模型復(fù)雜度并避免過(guò)擬合;其中,K為模型所集成回歸樹(shù)的數(shù)量;T為對(duì)應(yīng)數(shù)模型所包含的葉子節(jié)點(diǎn)數(shù),γ為l1 其正則化系數(shù);w為葉子節(jié)點(diǎn)權(quán)重即為l2 正則化項(xiàng);Xgboost 算法在每輪迭代中通過(guò)集成多棵樹(shù)模型直接優(yōu)化殘差,結(jié)合泰勒公式可以將第t輪目標(biāo)函數(shù)Obj二階展開(kāi)為式(3):
式中,為在第t-1輪對(duì)樣本i的輸出預(yù)測(cè)值;g,h分別為模型的一階與二階梯度損失函數(shù)。ft(xi)為第t輪的樹(shù)模型,最終樣本輸入值會(huì)被分配到各葉子節(jié)點(diǎn)進(jìn)行加權(quán)輸出,聯(lián)立式(2)可得第t輪殘差優(yōu)化目標(biāo)式(4):
式中,Ij為葉子節(jié)點(diǎn)j所劃分的樣本集;此外基于凸優(yōu)化原則可求解出w最優(yōu)解式(5):
式中,g,h為基于式(5)求得樣本i 的特征的梯度與偏置;結(jié)合式(2)減去引入該葉子節(jié)點(diǎn)的代價(jià)γ,可計(jì)算求得各特征對(duì)應(yīng)葉子節(jié)點(diǎn)所占輸出權(quán)重。基于式(2)~(5)處理樣本即可得切削要素特征權(quán)重分布圖2。
圖2 輸入特征權(quán)重
圖中,x軸方向?yàn)楦魈卣鲗?duì)表面粗糙度的F 檢驗(yàn)得分;y軸為各特征;最終零件表面粗糙度收主軸轉(zhuǎn)速n影響較大后續(xù)加工應(yīng)予以重視。Xgboost 的模測(cè)試集樣本預(yù)測(cè)誤差見(jiàn)圖3。
圖3 RF模型測(cè)試誤差
RF 模型誤差可穩(wěn)定約束于0.08(μm),最終模型 決 定 系 數(shù)r(0.894),MAE(0.0374μm),errmax(0.076μm)。
SVM 通過(guò)核函數(shù)將低維不可分?jǐn)?shù)據(jù)映射至高維空間尋求決策邊界向量,具有良好的魯棒性與泛化性。但因使用非線性高斯內(nèi)核,無(wú)法解得模型全局最優(yōu)超參數(shù)(gamma 系數(shù)γ與軟間隔系數(shù)C),本模型使用遺傳算法進(jìn)行參數(shù)調(diào)優(yōu),設(shè)置種群數(shù)目N為100,迭代次數(shù)T為100。GA-SVM流程如下:
1)初始化參數(shù)。種群NP由N個(gè)二進(jìn)制編碼的個(gè)體pop={γ,C}組成。
2)迭代準(zhǔn)備?;贜P參數(shù)建立SVM 模型,計(jì)算種群初始適應(yīng)度y,記錄最優(yōu)適應(yīng)度個(gè)體pb;
3)遺傳進(jìn)化。對(duì)種群NP基于精英策略進(jìn)行選擇(賭盤(pán)法)、交叉、變異,同時(shí)將滿足精度的個(gè)體加入下輪循環(huán),不滿足精度的個(gè)體進(jìn)行剔除。
4)迭代終止。當(dāng)?shù)螖?shù)達(dá)到上限T時(shí),輸出NP中最優(yōu)個(gè)體,并基于此參數(shù)建立SVM模型。
最終迭代求解出SVM 模型參數(shù)gamma 為0.74,C為0.47,圖4為GA尋優(yōu)誤差波動(dòng)。
圖4 GA參數(shù)尋優(yōu)
圖中,通過(guò)GA 迭代優(yōu)化超參數(shù)在模型訓(xùn)練之前便顯著降低模型均方誤差。通過(guò)后續(xù)訓(xùn)練,最終模型測(cè)試集性能如表2。
表2 GA-SVM
KNN 算法作為經(jīng)典機(jī)器學(xué)習(xí)算法,僅有最近鄰數(shù)目k一項(xiàng)超參數(shù)。其算法思想如下:基于特定算法在樣本集中尋找與待測(cè)輸入特征最相似的k個(gè)樣本取其均值進(jìn)行輸出,除近鄰查找外無(wú)需進(jìn)行任何超參數(shù)調(diào)優(yōu)。本模型使用歐幾里得距離作為相似度評(píng)判標(biāo)準(zhǔn),k值在區(qū)間[3,25]內(nèi)設(shè)置步長(zhǎng)為1 窮竭搜索法取得,表3 為篩選出的4 個(gè)最優(yōu)備選解。
表3 備選最優(yōu)k值
當(dāng)k設(shè)置為9模型取得最小的errmax、MAE,且決定系數(shù)最大。下基于Stacking方法進(jìn)行模型集成。
基于k折交叉驗(yàn)證原則已經(jīng)依次訓(xùn)練了KNN、Xgboost、GA-SVM 模型。Stacking 集成思想[19]為:基于k折交叉驗(yàn)證劃分k種樣本組合來(lái)訓(xùn)練k個(gè)異質(zhì)的模型作為一級(jí)學(xué)習(xí)器,將k個(gè)一級(jí)學(xué)習(xí)器的輸入作為二級(jí)學(xué)習(xí)器,將二級(jí)學(xué)習(xí)器輸出為預(yù)測(cè)輸出??捎扇缦聜未a描述本Stacking模型流程。
偽代碼算法流程:
其中,T為基學(xué)習(xí)器數(shù)目,t為其索引。m為樣本數(shù)目,i為其索引。D,為基學(xué)習(xí)器(b1,…,bT)的輸出(zi1,…,ziT)與樣本真實(shí)標(biāo)簽y組成的向量,其值作為二級(jí)集成學(xué)習(xí)器b輸入,?′為其輸出。
本Stacking 模型基學(xué)習(xí)器(b1,b2,b3) 依次為Xgboost、GA-SVM 和KNN 模型;學(xué)習(xí)樣本D為圖1中分層抽樣取得的900 個(gè)樣本。?′作為二級(jí)學(xué)習(xí)器為避免模型過(guò)擬合,使用加權(quán)平均模型,定義其基學(xué)習(xí)器模型輸出權(quán)重為wt,可得其輸出式(6):
式中,w滿足wt≥0 且。結(jié)合算法中二級(jí)學(xué)習(xí)器包含樣本真實(shí)標(biāo)簽y,可得集成誤差式(7):
當(dāng)不考慮正則化系數(shù)w時(shí)式(7)使用拉格朗日乘子法可直接求解權(quán)重系數(shù)。但為避免因部分基學(xué)習(xí)器所占權(quán)重過(guò)大產(chǎn)生稀疏學(xué)習(xí)現(xiàn)象,對(duì)各項(xiàng)基學(xué)習(xí)器權(quán)重wt引入l1 正則化系數(shù)γ,可得最終Stacking模型優(yōu)化目標(biāo)式(8):
式中,待尋優(yōu)參數(shù)為正則化系數(shù)γ與基學(xué)習(xí)器權(quán)重w;且?t需滿足GA-SVM、KNN、Xgboost模型條件;采用諸如PSO、GA 等全局優(yōu)化算法進(jìn)行求解針對(duì)性交叉運(yùn)算復(fù)雜度較高。使用隨機(jī)梯度下降(SGD)式(9)算法進(jìn)行迭代求解超參數(shù)γ、w。
式中,t為當(dāng)前迭代次數(shù);η為模型學(xué)習(xí)率,設(shè)置為10-4;k為每輪迭代開(kāi)始時(shí)隨機(jī)隨機(jī)選取的特征序號(hào);迭代初值權(quán)重設(shè)置為,正則化懲罰系數(shù)γ0=[1,1,1],迭代次數(shù)設(shè)置為100 時(shí),表4 為最速下降法(GD)與SGD迭代性能。
表4 偽代碼算法流程
表中,最終w依次對(duì)應(yīng)GA-SVM、Xgboost、KNN 模型;GD 算法對(duì)每項(xiàng)超參數(shù)分別求解梯度進(jìn)行更新,當(dāng)超參數(shù)線性無(wú)關(guān)時(shí)迭代尋優(yōu)更具針對(duì)性。但綜合考慮迭代初值的影響與基模型之間相互耦合作用,SGD算法通過(guò)引入隨機(jī)過(guò)程更新超參數(shù),不僅大量簡(jiǎn)化運(yùn)算,工程實(shí)踐表明效果良好。選用SGD 解得的權(quán)重解帶入Stacking 模型,最終各模型在測(cè)試樣本中性能表現(xiàn)表5。
表5 模型對(duì)比
表中,Stacking 模型通過(guò)集成KNN、Xgboost、GA-SVM 模型,最終平均絕對(duì)誤差顯著降低,且有著最好的預(yù)測(cè)決定系數(shù)。但因KNN 近鄰特性,且KNN 迭代權(quán)重?cái)?shù)值解較小,最大誤差依舊高于KNN,但對(duì)比Xgboost、GA-SVM 均有效降低。綜上依舊可以表明Stacking模型集成有效性。
1)使用Xgboost 算法樣本集特征增益分析表明,使用M-V5CN 銑削U71Mn 高錳鋼表面粗糙度影響因素由大到小依次為主軸轉(zhuǎn)速、銑削深度、每齒進(jìn)給量、銑削寬度。
2)基于GA 算法可以有效優(yōu)化SVM 初始超參數(shù),在SVM訓(xùn)練之前便顯著降低模型均方誤差。
3)使用SGD 算法可以有效迭代求解Stacking模型加權(quán)投票法中各基模型權(quán)重。
4)基于加權(quán)投票法的Stacking 模型相對(duì)其基模型可以更加精確地預(yù)測(cè)零件表面粗糙度。