王純杰,張 鉞,譚佳偉
(長春工業(yè)大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,吉林 長春 130012)
鋼材是廣泛應(yīng)用于汽車、建筑等行業(yè)的重要材料,具有高強(qiáng)度和強(qiáng)耐久性等特點(diǎn).然而,在生產(chǎn)加工過程中,鋼材往往會(huì)出現(xiàn)劃痕、污漬等缺陷.這些缺陷不僅影響鋼材的整體質(zhì)量,還對(duì)產(chǎn)品的安全和性能產(chǎn)生巨大影響.缺陷檢測是制造生產(chǎn)過程中的關(guān)鍵步驟,對(duì)于質(zhì)量控制和生產(chǎn)效率來說至關(guān)重要.傳統(tǒng)的缺陷檢測算法往往效率較低且準(zhǔn)確性有限.因此,本文提出一種基于主成分分析[1-2](Principal Component Analysis,PCA)和隨機(jī)森林[3](Random Forest)的鋼材缺陷檢測方法,提高對(duì)不同類型的鋼材缺陷的檢測效率和準(zhǔn)確性.
本文首先利用PCA方法,對(duì)鋼材數(shù)據(jù)進(jìn)行特征提取,然后利用隨機(jī)森林算法,對(duì)PCA提取的特征進(jìn)行快速準(zhǔn)確分類,最后為了進(jìn)一步提高模型缺陷檢測的性能,引入合成少數(shù)類過采樣算法[4](Synthetic Minority Over-sampling Technique,SMOTE),用于解決在鋼材缺陷檢測數(shù)據(jù)集中的樣本類別不均衡問題.
PCA是一種經(jīng)典的降維方法,常用于特征提取和去除數(shù)據(jù)冗余信息,其主要通過線性變換將數(shù)據(jù)映射到一組新的正交特征上,使這些特征能夠最大程度地解釋原始數(shù)據(jù)的方差,保留信息最大化.PCA的算法步驟如下:
標(biāo)準(zhǔn)化后的數(shù)據(jù)Xij和樣本矩陣X分別為
(2)計(jì)算標(biāo)準(zhǔn)化后樣本的協(xié)方差矩陣為
(3)計(jì)算協(xié)方差矩陣的特征值λ1≥λ1≥…≥λp≥0和特征向量a1,a2,…,ap.
(5)得出主成分.一般選取累積貢獻(xiàn)率超過80%的特征值所對(duì)應(yīng)的第一、第二、…、第m(m≤p)個(gè)主成分,其中第i個(gè)主成分為
Fi=a1iX1+a2iX2+…+apiXp,i=1,2,…,m.
PCA通過將原始的高維數(shù)據(jù)投影到低維空間中進(jìn)行降維,減少了數(shù)據(jù)冗余和噪聲,較大程度提高了模型的精度和可解釋性.
SMOTE作為一種過采樣算法,常用于解決樣本分布不均衡的問題,其主要是基于樣本的特征空間,通過對(duì)少數(shù)類樣本進(jìn)行插值處理,生成新的少數(shù)類樣本來增加該類在數(shù)據(jù)集中的樣本量,以達(dá)到數(shù)據(jù)集的樣本均衡,起到提高分類模型性能的作用.SMOTE算法流程如下:
(1)對(duì)于每一個(gè)少數(shù)類樣本,利用歐氏距離計(jì)算其到所有其他少數(shù)類樣本間的距離,得到其k近鄰;
(2)從k近鄰中隨機(jī)選擇一個(gè)樣本,計(jì)算該樣本與當(dāng)前樣本的差異;
(3)根據(jù)差異比例,生成一個(gè)新的合成樣本,該樣本位于兩個(gè)樣本間的連線上;
(4)重復(fù)上述步驟,直到生成指定數(shù)量的合成樣本.
通過SMOTE算法,少數(shù)類樣本的特征空間得到有效擴(kuò)展,模型能夠完整地學(xué)習(xí)到少數(shù)類樣本的特征,降低模型過擬合的趨勢,提高模型的泛化能力、預(yù)測準(zhǔn)確性和穩(wěn)健性.
隨機(jī)森林是一種常用于解決分類和回歸問題的有監(jiān)督學(xué)習(xí)算法,其本質(zhì)是集成多個(gè)決策樹的估計(jì)預(yù)測方法.在隨機(jī)森林中,各決策樹通過對(duì)原始數(shù)據(jù)進(jìn)行有放回抽樣得到的一部分樣本進(jìn)行訓(xùn)練,每個(gè)決策樹得到一個(gè)分類結(jié)果,將所有分類結(jié)果取眾數(shù)即為最終預(yù)測結(jié)果.值得注意的是,隨機(jī)森林中的各決策樹間沒有關(guān)聯(lián),同時(shí)在每個(gè)節(jié)點(diǎn)上,隨機(jī)森林還可以通過隨機(jī)特征選擇機(jī)制進(jìn)一步增強(qiáng)模型的泛化能力[5-7].
隨機(jī)森林通過集成多個(gè)決策樹模型來提高預(yù)測準(zhǔn)確率,同時(shí)能夠有效處理高維數(shù)據(jù)和大規(guī)模數(shù)據(jù)集,且對(duì)噪聲和異常值的敏感性較低,使得模型對(duì)噪聲和異常值帶來的影響反應(yīng)較小,具有良好的魯棒性.
實(shí)驗(yàn)數(shù)據(jù)選取UCI鋼板缺陷數(shù)據(jù)集,該數(shù)據(jù)集收集了1 941個(gè)樣本和對(duì)應(yīng)的27種特征數(shù)據(jù)與7種故障類型,分別是Pastry、Z_Scratch、K_Scatch、Stains、Dirtiness、Bumps和Other_Faults.
在建立模型前先對(duì)樣本數(shù)據(jù)進(jìn)行分析處理.首先,統(tǒng)計(jì)27種不同特征下的數(shù)據(jù)分布,判斷是否存在異常值、缺失值等情況.不同特征下的箱型圖如圖1所示.
圖1 27種特征的數(shù)據(jù)分布箱型圖
根據(jù)圖1可知,不同特征的取值范圍均不同且數(shù)據(jù)值分布范圍較廣,數(shù)據(jù)集中不存在數(shù)據(jù)缺失等情況.然后,對(duì)數(shù)據(jù)集中的7種故障類型數(shù)量進(jìn)行統(tǒng)計(jì),判斷樣本類別分布是否均衡.不同故障類型的數(shù)量和故障數(shù)據(jù)分布直方圖如表1和圖2所示.
表1 不同故障類型的數(shù)量
圖2 7種故障的數(shù)據(jù)分布直方圖
結(jié)合表1和圖2可知,UCI鋼材缺陷檢測數(shù)據(jù)集存在明顯的樣本分布不均衡情況,因此,利用SMOTE算法進(jìn)行數(shù)據(jù)擴(kuò)充,將7種故障的樣本數(shù)均擴(kuò)充至673進(jìn)行分析.
然后,利用PCA進(jìn)行降維和特征提取.首先進(jìn)行數(shù)據(jù)歸一化,提取出主成分特征并構(gòu)建新的數(shù)據(jù)集,再將數(shù)據(jù)隨機(jī)打亂進(jìn)行訓(xùn)練集和測試集的劃分,兩者比例為4∶1.
最后,分別建立Logistic回歸、支持向量機(jī)(Support Vactor Machine,SVM)、決策樹、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)和隨機(jī)森林模型進(jìn)行方法對(duì)比,并使用網(wǎng)格搜索法尋求最優(yōu)參數(shù)組合,利用精確率(Precision)、召回率(Recall)和F1值(F1-score)進(jìn)行模型評(píng)價(jià).
本文選取精確率、召回率和F1值對(duì)模型的性能進(jìn)行評(píng)價(jià).精確率常用于衡量模型對(duì)正例樣本的預(yù)測準(zhǔn)確性,表示為正確預(yù)測為正的樣本占全部預(yù)測為正的樣本的比例,召回率常用于評(píng)價(jià)模型對(duì)于正例樣本的識(shí)別程度,表示為預(yù)測為正的正例占全部真值為正例的樣本的比例.為了能夠直觀地判斷預(yù)測值與真實(shí)值之間的差異,引入如表2所示的混淆矩陣.
表2 混淆矩陣
其中xTP表示預(yù)測值為正例真值也為正例的真正例,xFP表示預(yù)測值為正例真值卻為負(fù)例的假正例,xFN表示預(yù)測值為負(fù)例真值卻為正例的假負(fù)例,xTN表示預(yù)測值為負(fù)例真值也為負(fù)例的真負(fù)例.根據(jù)混淆矩陣,可得精確率與召回率的表達(dá)式為
由于精確率和召回率間存在相互影響和相互制約的關(guān)系,無法達(dá)到理想狀態(tài)下兩個(gè)評(píng)價(jià)指標(biāo)都高的情況,因此將F1值作為綜合指標(biāo)進(jìn)行評(píng)價(jià)更加全面.F1值是對(duì)精確率和召回率取調(diào)和平均值,F1值越大,模型效率越高,分類預(yù)測效果越好.F1值的表達(dá)式為
實(shí)驗(yàn)對(duì)是否施加PCA特征提取的Logistic回歸、SVM、決策樹、GBDT和隨機(jī)森林模型進(jìn)行對(duì)比.對(duì)比結(jié)果如表3和表4所示.
表4 不同模型F1值對(duì)比
根據(jù)表3可知,當(dāng)不經(jīng)過PCA特征提取處理時(shí),GBDT和隨機(jī)森林方法的精確率和召回率值較高且相差不大,說明模型對(duì)正例樣本的預(yù)測準(zhǔn)確度和識(shí)別程度較高.經(jīng)過PCA特征提取處理后,隨機(jī)森林方法的精確率和召回率最高,均大于0.92,相較于不經(jīng)過PCA處理提升了2%,說明基于主成分分析的隨機(jī)森林算法在正例樣本的預(yù)測準(zhǔn)確度和識(shí)別度上都有很好的表現(xiàn).結(jié)合表4的結(jié)果可得,在經(jīng)過PCA特征提取處理后,隨機(jī)森林的F1值最大,相較于不經(jīng)過PCA處理,有3%的提升,說明模型效率高,分類預(yù)測效果好,進(jìn)一步確定了本文提出的基于主成分分析的隨機(jī)森林算法有較好的效果.
對(duì)比表3和表4中五種算法在是否經(jīng)過PCA特征提取處理的評(píng)價(jià)指標(biāo)值可知,本文提出的基于主成分分析的隨機(jī)森林算法與傳統(tǒng)的分類算法和未經(jīng)PCA處理后的各算法在精確率和召回率上都有較大提升,對(duì)分類效果有較好改善,進(jìn)一步驗(yàn)證了算法的有效性.
本研究引入特征提取和數(shù)據(jù)降維方法PCA、數(shù)據(jù)過采樣算法SMOTE以及隨機(jī)森林算法,提出一種基于主成分分析的隨機(jī)森林鋼材缺陷檢測方法,用于鋼材制造生產(chǎn)過程中不同缺陷的分類識(shí)別.通過實(shí)驗(yàn)分析,可以得到以下結(jié)論:(1)通過PCA進(jìn)行特征提取處理,有效剔除冗余信息并降維,提高檢測性能;(2)引入SMOTE進(jìn)行數(shù)據(jù)擴(kuò)充,彌補(bǔ)了數(shù)據(jù)類別分布不均衡的問題,對(duì)不同缺陷類型都能做到有效檢測,提高檢測效率;(3)與傳統(tǒng)的四種分類方法相比,本文提出的基于主成分分析的隨機(jī)森林算法得到的精確率、召回率和F1值均是最優(yōu)的.因此本文提出的方法能有效提升缺陷檢測效率.