董 海, 田 賽
(沈陽大學(xué) a.應(yīng)用技術(shù)學(xué)院;b.機(jī)械工程學(xué)院,沈陽 110044)
隨著信息技術(shù)的發(fā)展,復(fù)雜機(jī)械產(chǎn)品制造過程中相關(guān)質(zhì)量數(shù)據(jù)的采集對制造產(chǎn)品質(zhì)量的影響日益重要。從機(jī)械產(chǎn)品構(gòu)成的角度來看,機(jī)械產(chǎn)品從整體分解到部件,再從部件分解到零件的過程中,產(chǎn)品質(zhì)量特性數(shù)據(jù)集的維度會隨之提高[1]。正是由于復(fù)雜機(jī)械產(chǎn)品自身特性和生產(chǎn)方式的影響,復(fù)雜機(jī)械產(chǎn)品的質(zhì)量特性數(shù)據(jù)集普遍存在著高維度、小樣本和數(shù)據(jù)不平衡等特點。
目前,國內(nèi)外學(xué)者通過把智能算法與機(jī)器學(xué)習(xí)算法相結(jié)合進(jìn)行復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測。Hsu W H[2]通過結(jié)合決策樹和遺傳算法(GA)的特征選擇算法,降低決策樹的分類錯誤率。Li A D等[3]建立改進(jìn)的非支配排序遺傳算法(NSGA-II),提高對關(guān)鍵質(zhì)量識別的分類準(zhǔn)確率。Rao Haidi等[4]結(jié)合人工蜂群和梯度增強(qiáng)決策樹的特征選擇,進(jìn)行關(guān)鍵產(chǎn)品質(zhì)量識別。李岸達(dá)等[5]提出多目標(biāo)鯨魚優(yōu)化特征算法,利用多樣性帕累托排序策略,解決關(guān)鍵質(zhì)量特性識別中非平衡制造過程數(shù)據(jù)問題。賈振元等[6]利用灰關(guān)聯(lián)分析法分析影響產(chǎn)品質(zhì)量特性的主要因素,再采用BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)對產(chǎn)品質(zhì)量特性的預(yù)測。徐蘭等[7]以灰色關(guān)聯(lián)度為目標(biāo)函數(shù),結(jié)合粒子群算法和BP神經(jīng)網(wǎng)絡(luò)進(jìn)行質(zhì)量預(yù)測。蔣晉文等[8]采用XGboost(eXtreme Gradient Boosting)算法識別出對質(zhì)量影響較大的特征變量,對制造業(yè)進(jìn)行質(zhì)量預(yù)測。李先飛等[9]針對SVM參數(shù)選擇精度不高、收斂速度慢的問題,提出改進(jìn)遺傳蜂群算法(IGBCA)對SVM進(jìn)行參數(shù)優(yōu)化。針對復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測中高維小樣本不平衡數(shù)據(jù)集的分類問題,遺傳算法和粒子群算法等存在訓(xùn)練速度慢,易陷入局部極值問題,SVM參數(shù)選取盲目性。
本文采用蜻蜓算法(Dragonfly Algorithm, DA)[10]進(jìn)行質(zhì)量預(yù)測特征值選擇,其特點有結(jié)構(gòu)簡單、易于實現(xiàn)且魯棒性強(qiáng)等,再結(jié)合XGboost進(jìn)行質(zhì)量預(yù)測?;贒A-XGboost的復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測流程,首先,對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化和缺失值處理,保證數(shù)據(jù)的有效性。其次,以智能算法中的蜻蜓算法對制造過程中的CTQs進(jìn)行識別,降低數(shù)據(jù)集的維度。最后,采用機(jī)器學(xué)習(xí)中的XGboost集成分類算法,進(jìn)行質(zhì)量預(yù)測,如圖1所示。
圖1 基于DA-XGboost 的復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測流程圖
蜻蜓算法主要根據(jù)蜻蜓群體的兩種行為模式:靜態(tài)群體和動態(tài)群體。其中,靜態(tài)群體和動態(tài)群體的主要特征分別是飛行路徑的局部移動性和方向一致性,并且均依靠以下5種個體行為,其計算公式如下:
(1) 分離
(1)
其中,X為當(dāng)前個體的位置;Xj為第j個附近個體的位置;N為相鄰個體的個數(shù)。
(2) 結(jié)隊
(2)
其中,Vj為第j個相鄰個體的速度。
(3) 內(nèi)聚
(3)
(4) 覓食
Fi=X+-X
(4)
其中,X+為食物所在的位置。
(5) 躲避外敵
Ei=X-+X
(5)
其中,X-為敵人所在的位置。
為了在搜索空間里更新蜻蜓的位置并模擬其飛行行為,設(shè)置了兩個向量:步長向量(ΔX)和位置向量(X)。
位置向量和步長向量計算如下:
Xt+1=Xt+ΔXt+1
(6)
ΔXt+1=(sSi+aAi+cCi+fFi+eEi)+ωΔXt
(7)
其中,s為分離權(quán)重;a為結(jié)隊權(quán)重;c為內(nèi)聚權(quán)重;f為覓食因子;e為外敵因子;Si為第i個體分離后的位置;Ai為第i個體結(jié)隊后的位置;Ci為第i個體內(nèi)聚后的位置;Fi為第i個體食物的位置;Ei為第i個體外敵的位置;ω為慣性權(quán)重;t為當(dāng)前的迭代次數(shù);Xt為當(dāng)前t代種群的位置;Xt+1為t+1代種群的位置;ΔXt+1為t+1代位置更新步長。
當(dāng)周圍無鄰近蜻蜓時,定義蜻蜓遵照如下隨機(jī)游走行為:
Xt+1=Xt+Le′vy(d)Xt
(8)
其中,t為當(dāng)前迭代次數(shù);d為位置向量維數(shù);Le′vy為設(shè)定的飛行函數(shù),計算公式如下:
(9)
(10)
算法流程框架如圖2所示。
圖2 DA流程圖
具體算法:
步驟1:初始化DA參數(shù)。如初始化種群數(shù)量和空間維度等。
步驟2:初始化X和ΔX。隨機(jī)初始化個體的位置和步長。
步驟3:更新權(quán)重值。進(jìn)行各個權(quán)重的初始化。
步驟4:計算所有個體評價函數(shù)值,更新X+和X-。根據(jù)位置X計算個體對應(yīng)的函數(shù)值,再通過比較,尋找蜻蜓的最優(yōu)個體和最差個體。
步驟5:尋找領(lǐng)域內(nèi)蜻蜓。通過計算歐式距離,判斷鄰域內(nèi)是否存在其他蜻蜓。存在其他蜻蜓,應(yīng)用式(6)和式(7)更新蜻蜓的位置和步長,反之,應(yīng)用式(8)更新相應(yīng)的位置。
步驟6:計算S,A,C,F(xiàn),E。使用式(1)~式(5)計算各個行為度。
步驟7:更新位置向量(X)和步長向量(ΔX)。
步驟8:判斷是否結(jié)束算法的下一次迭代,直到達(dá)到最大迭代次數(shù)終止,若此時迭代過程滿足終止條件,則直接停止,若不滿足終止條件,則迭代次數(shù)加1,繼續(xù)執(zhí)行迭代,跳轉(zhuǎn)執(zhí)行步驟2。
XGboost[11]相對于傳統(tǒng)的GBDT,XGboost不僅支持CART(Classification and Regression Trees),還支持線性分類器,降低模型的方差,使學(xué)習(xí)到的模型更加簡單,避免過擬合。
假設(shè)模型有K個決策樹,即:
(11)
(12)
因此,得到XGboost算法的目標(biāo)函數(shù),如式(13)所示。
(13)
對目標(biāo)函數(shù)泰勒展開,如式(14)所示:
Ω(fj)+constant
(14)
其中,gi、hi分別是1階和2階導(dǎo)數(shù)。
(15)
移除常數(shù)項有:
(16)
對于樹,定義其正則項為:
(17)
其中,ωt為樹f中第t個葉子節(jié)點上的分值;T為樹f中葉子節(jié)點的總數(shù)目;γ,λ為XGboost自定義參數(shù),γ為L1正則的懲罰項,λ為L2正則的懲罰項。
將It={i|q(xi)=t}定義為第t個葉子點,即:
(18)
對上式求導(dǎo)并求其極值,可得:
(19)
(20)
由式(20)可知,目標(biāo)值越小,整個樹的結(jié)構(gòu)最優(yōu)。
通過如下實例驗證本文所建預(yù)測模型和所提特征選擇算法。該數(shù)據(jù)集為UCI數(shù)據(jù)庫中SECOM數(shù)據(jù)集,屬于高維且樣本量較少的數(shù)據(jù)。如表1所示,該數(shù)據(jù)集是半導(dǎo)體的最終質(zhì)量,其中“N1”“N2”…“N590”表示樣本的質(zhì)量特性,“-1”表示合格,“1”表示不合格。
表1 SECOM數(shù)據(jù)集
以SECOM數(shù)據(jù)集為例,圖3表示利用蜻蜓算法(DA)、遺傳算法(GA)、粒子群算法(PSO)表示在搜索過程中隨著迭代次數(shù)的增加適應(yīng)值函數(shù)的曲線,其中適應(yīng)值函數(shù)綜合了分類精度和特征子集的特征量。
圖3 數(shù)據(jù)集收斂曲線圖
可以看出DA在19代時收斂于0.32,PSO在30代收斂于0.4,GA在61代收斂于0.15。DA更早收斂,說明在前期有可能找到更優(yōu)解并向更優(yōu)的區(qū)域搜索并收斂。
表2列出10次運行結(jié)果的中值、最優(yōu)值、標(biāo)準(zhǔn)差及選擇的特征數(shù)量。由實驗結(jié)果可知,DA在精確度和選擇的特征數(shù)量指標(biāo)表現(xiàn)優(yōu)于GA和PSO。
表2 SECOM數(shù)據(jù)集結(jié)果
將降維后的數(shù)據(jù)分別用XGboost和SVM進(jìn)行分類,并選擇在ACC指標(biāo)和AUC指標(biāo)來評價所構(gòu)建的復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測模型,參數(shù)K為5、10、15、20、25、30時的實驗結(jié)果如表3所示。
表3 DA-XGboost與DA-SVM預(yù)測結(jié)果
表3為DA特征選擇算法下XGboost與SVM的ACC與AUC指標(biāo)對比,可以看出:無論參數(shù)K取何值時,大多數(shù)的情況下XGboost的ACC值和AUC值均比SVM值大且參數(shù)K取25時最優(yōu)。
綜上可知:對于復(fù)雜機(jī)械產(chǎn)品的高維小樣本不平衡數(shù)據(jù)集,XGboost的預(yù)測結(jié)果皆優(yōu)于SVM,表明XGboost更適合應(yīng)用于復(fù)雜機(jī)械產(chǎn)品質(zhì)量的預(yù)測。
本文針對復(fù)雜機(jī)械產(chǎn)品的高維小樣本數(shù)據(jù)不平衡,采用基于DA-XGboost算法進(jìn)行復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測,最終可得到結(jié)論如下:
(1)采用特征選擇算法DA識別制造過程中的CTQs,有效降低了復(fù)雜機(jī)械產(chǎn)品質(zhì)量特性數(shù)據(jù)集的維度。
(2)提出基于XGboost集成分類算法,構(gòu)建了復(fù)雜機(jī)械產(chǎn)品質(zhì)量預(yù)測模型,該算法可以有效降低模型的復(fù)雜度,防止過擬合。
(3)通過仿真實驗表明,基于DA-XGboost的質(zhì)量預(yù)測模型在對復(fù)雜機(jī)械產(chǎn)品質(zhì)量進(jìn)行預(yù)測時,其特征選擇算法的迭代速度、精確度和選擇的特征數(shù)量明顯要高于GA與PSO,分類性能也明顯優(yōu)于SVM,同時驗證了該算法具有良好的穩(wěn)定性。