李先飛,高 琦,張 樂
(山東大學 a.機械工程學院;b.高效清潔機械制造教育部重點實驗室,濟南 250061)
隨著大數(shù)據(jù)時代的到來,制造業(yè)企業(yè)積累了大量的零件加工數(shù)據(jù),從海量的數(shù)據(jù)中挖掘人機料法環(huán)測與質(zhì)量之間的規(guī)則關(guān)系,利用挖掘出的規(guī)則知識,可以為產(chǎn)品的工藝制定、原料選擇、生產(chǎn)安排等環(huán)節(jié)提供決策支持,為質(zhì)量診斷提供依據(jù),對于改善零件質(zhì)量有重要意義。
近年來,眾多學者基于數(shù)據(jù)挖掘的技術(shù),研究了如何從企業(yè)積累的零件加工數(shù)據(jù)中獲取零件質(zhì)量規(guī)則。文獻[1]提出了采用粗糙理論分析制造過程,根據(jù)相似關(guān)系對不完備信息進行處理,獲取可靠的質(zhì)量規(guī)則的方法;文獻[2]為了發(fā)現(xiàn)制造業(yè)變量之間的隱藏關(guān)系,提出了一種基于模糊集和Apriori的規(guī)則挖掘算法;文獻[3]提出融合主成分分析與關(guān)聯(lián)規(guī)則算法;文獻[4]挖掘了零件、零件狀態(tài)與產(chǎn)品故障之間聯(lián)系;文獻[5]構(gòu)建了基于PDCA循環(huán)思想的規(guī)則挖掘系統(tǒng);文獻[6]利用決策樹挖掘影響液晶顯示器質(zhì)量的生產(chǎn)因素。實際得到的質(zhì)量數(shù)據(jù)集是嚴重的不均衡數(shù)據(jù),即質(zhì)量不合格的樣本量特別少,直接進行規(guī)則挖掘會導致得到的規(guī)則中不合格品相關(guān)的規(guī)則很少或者沒有,不合格品相關(guān)的規(guī)則同樣對改善零件質(zhì)量有重要作用,但是,目前研究中,還缺少針對質(zhì)量數(shù)據(jù)的這種特點開展的研究。
當前解決不均衡數(shù)據(jù)問題主要從兩方向考慮:算法方向和數(shù)據(jù)方向。數(shù)據(jù)方向是利用某種機制改變不均衡數(shù)據(jù)集的分布,通常包括過采樣、欠采樣與混合采樣,且由于其可以適用不同的挖掘算法,應用更加廣泛,被眾多學者研究。在欠采樣方面,文獻[7]提出利用SVM生成超平面,保留關(guān)鍵樣本的欠采樣方法;文獻[8]提出了關(guān)鍵值抽樣法,保留包含關(guān)鍵值比較多的樣本的欠采樣方法。但是,以上欠采樣方法往往存在誤刪關(guān)鍵樣本、破壞樣本總體分布的問題。在過采樣方面,SMOTE過采樣方法[9]通過在少數(shù)類數(shù)據(jù)和其近鄰間插值來產(chǎn)生少數(shù)類數(shù)據(jù);Borderline-SMOTE[10]過采樣方法是在少數(shù)類樣本空間搜索靠近邊緣的樣本;文獻[11]提出了保留每個子集中靠近邊界的少數(shù)實例的A-SUWO欠采樣方法;文獻[12]根據(jù)少數(shù)類樣本的位置,劃分為不同的區(qū)域,對各區(qū)域進行不同的過采樣處理。但是,以上過采樣方法存在破壞樣本的總體分布、產(chǎn)生噪聲的問題。欠采樣和過采樣的這些問題會導致均衡化后的數(shù)據(jù)質(zhì)量不佳,進而導致規(guī)則挖掘結(jié)果不準確。
為了獲得更均衡、準確的零件加工質(zhì)量規(guī)則,本文在上述研究的基礎(chǔ)上,提出了一種基于改進混合采樣均衡化的質(zhì)量規(guī)則獲取模型,利用提出的基于關(guān)鍵規(guī)則欠采樣與改進SMOTE過采樣的混合采樣均衡化方法,對質(zhì)量數(shù)據(jù)均衡化處理,再使用FP-tree關(guān)聯(lián)規(guī)則算法挖掘質(zhì)量規(guī)則。
針對目前研究中欠采樣方法往往存在誤刪關(guān)鍵樣本、破壞樣本總體分布的問題,構(gòu)建了關(guān)鍵規(guī)則欠采樣方法:利用關(guān)鍵規(guī)則保證不誤刪關(guān)鍵樣本;通過對樣本進行聚類,在各個簇內(nèi)單獨采樣,保證采樣前后樣本總體分布的一致性。算法具體流程如圖1所示,具體步驟如下:
(1)使用關(guān)聯(lián)規(guī)則算法前要將數(shù)值型的值變成離散型的值,也就是離散化。
(2)利用關(guān)聯(lián)規(guī)則算法,生成規(guī)則集,常見的方法主要包括Apriori、FP-tree等,F(xiàn)P-tree算法速度較快,這里選擇FP-tree算法生成規(guī)則集。
(3)按先置信度,后支持度,對規(guī)則集進行降序排序處理,得到有序規(guī)則集Rall。
(4)對多數(shù)類樣本執(zhí)行k-means聚類,得到k個簇。
(5)根據(jù)式(1)確定第i個簇應該保留的樣本數(shù)量,初始i=1。
(1)
式中,Ni表示第i個簇應該保留的多數(shù)類樣本數(shù),M表示采樣前多數(shù)類樣本總數(shù)目,Mi表示采樣前第i個簇中樣本總數(shù)目,N表示采樣后需要保留的多數(shù)類樣本數(shù)。
圖1 關(guān)鍵規(guī)則欠采樣算法流程圖
(6)選取樣本集Si(j-1)中滿足規(guī)則集Rall中第j條規(guī)則的樣本,構(gòu)成Sij。其中Sij表示第i個簇中滿足前j條規(guī)則的樣本集,初始j=1。若Sij中樣本數(shù)|Sij|不大于Ni則執(zhí)行第(7)步,不然執(zhí)行第(8)步。
(7)從Si(j-1)-Sij中隨機選擇Ni-|Sij|個樣本添加到Sij中構(gòu)成第i個簇應該保留的樣本集Si,轉(zhuǎn)到第(10)步。
(8)如果遍歷了規(guī)則集Rall所有的規(guī)則,即j大于規(guī)則集Rall中的規(guī)則數(shù)|Rall|,則轉(zhuǎn)到第(9)步,否則j=j+1,并返回第(6)步。
(9)從Sij中選擇Ni個樣本構(gòu)成第i個簇應該保留的樣本集Si,轉(zhuǎn)到第(10)步。
(10)如果遍歷了所有的簇即i≥k,則合并所有的Si(i=1,2,…,k),得到欠采樣后的多數(shù)類數(shù)據(jù)集S,結(jié)束;否則令i=i+1,并轉(zhuǎn)到第(5)步。
針對現(xiàn)有方法存在破壞樣本的總體分布、產(chǎn)生噪聲的問題,構(gòu)建了改進SMOTE過采樣方法:通過對樣本聚類,在各個簇中單獨采樣保證與樣本總體分布的一致性;生成新樣本后,用k-近鄰檢測異常值并刪除,確保不產(chǎn)生噪聲點。算法具體流程如圖2所示,具體步驟如下:
(1)在少數(shù)類樣本間執(zhí)行k-means聚類,得到k個簇。
(2)確定第i個簇應該生成的新樣本數(shù)ni及第i個簇內(nèi)第j個樣本應該生成的新樣本數(shù)nij,初始i=1。
根據(jù)式(2)確定ni:
(2)
式中,m指采樣前少數(shù)類樣本總數(shù)目,mi指初始第i個簇中樣本個數(shù),n指采樣后需要生成的少數(shù)類樣本數(shù)。
根據(jù)式(3)確定nij:
(3)
從第i個簇mi個樣本里隨機選擇(nimodmi)個樣本,被選到的樣本生成ceil(ni/mi)+1個新樣本,未被選到的樣本生成ceil(ni/mi)個新樣本。其中ceil是向下取整運算,mod是取余運算。
(3)利用SMOTE方法為第i個簇的每個樣本生成新樣本,新樣本構(gòu)成數(shù)據(jù)集si。
對于某個樣本,SMOTE算法首先利用K-近鄰算法,找到其K個最近鄰;然后隨機選擇一個最近鄰,在父代樣本和最近鄰間利用插值的方法生成樣本,執(zhí)行nij次[13]。
線性插值的方法產(chǎn)生新的樣本的方法如式(4)所示:
gi=xi+rand(0,1)×(ri-xi)
(4)
其中,gi表示新樣本,xi表示父代樣本,ri表示近鄰樣本,rand(0,1)表示0~1間的隨機數(shù)。
SMOTE算法的線性插值的方法只適合數(shù)值型的屬性,對于類別型的屬性,本文使用如下方法:根據(jù)式(4)確定的隨機數(shù),如果隨機數(shù)大于0.5,新樣本的類別型屬性與近鄰樣本相同,否則與父代樣本相同。
圖2 改進SMOTE過采樣算法流程圖
(4)利用K近鄰算法在全數(shù)據(jù)集內(nèi),找到數(shù)據(jù)集si中各樣本的K個鄰居,如果K個鄰居中有超過半數(shù)不是少數(shù)類樣本,則認為該樣本是噪聲點,刪除。
(5)計算數(shù)據(jù)集si中的樣本數(shù)|si|,如果|si|小于ni,則需重新生成ni- |si|個樣本,此時需將式(3)中的ni替換為ni- |si|,重新計算每個父代樣本需要生成的新樣本數(shù),用 SMOTE方法產(chǎn)生新樣本,添加進si中,并返回步驟(4);否則執(zhí)行第(6)步。
(6)判斷i是否不小于聚類的簇數(shù)k,如果否,則i=i+1,返回第(2)步;否則,合并所有的si(i=1,2,3,…,k)及原少數(shù)類樣本,構(gòu)成采樣后的少數(shù)類樣本集s,結(jié)束。
混合采樣法是一種結(jié)合欠采樣和過采樣的方法。有學者研究[14]表示混合采樣后的效果是優(yōu)于只采用欠采樣或只采用過采樣的。因此本文融合關(guān)鍵規(guī)則欠采樣與改進SMOTE過采樣,提出改進混合采樣均衡化算法,算法具體流程如圖3所示,具體步驟如下:
圖3 改進混合采樣均衡化算法流程圖
(1)確定多數(shù)類和少數(shù)類需要生成或保留的樣本數(shù)。假定采樣前多數(shù)類和少數(shù)類樣本數(shù)分別為M與m,取多數(shù)類保留的樣本數(shù)為N,少數(shù)類需要生成的樣本數(shù)為n,取采樣前后樣本總數(shù)的比例是r1,采樣后合格品和不合品的比例為r2,以上變量需滿足式(5)的約束:
(5)
求解式(5)可得到:
(6)
(2)執(zhí)行采樣操作。
對多數(shù)類樣本執(zhí)行關(guān)鍵規(guī)則欠采樣,得到樣本集S,對少數(shù)類樣本執(zhí)行改進SMOTE過采樣,得到樣本集S。
(3)合并樣本集S和s,得到均衡化的樣本集B。
利用前文提出的改進混合采樣均衡化方法,得到均衡化的質(zhì)量數(shù)據(jù),再進行規(guī)則挖掘,可以獲得更均衡、準確的零件加工質(zhì)量規(guī)則,為此構(gòu)建了基于改進混合采樣均衡化的質(zhì)量規(guī)則獲取模型。流程如圖4所示,具體步驟如下:
圖4 基于改進混合采樣均衡化質(zhì)量規(guī)則獲取模型
(1)從數(shù)據(jù)源中獲取源數(shù)據(jù)。
(2)缺失值填補。數(shù)值型的缺失值用不缺失樣本的均值填補,離散型的缺失值用不缺失樣本的眾數(shù)填補[15]。
(3)混合采樣。利用基于關(guān)鍵規(guī)則欠采樣與改進SMOTE過采樣的混合采樣對數(shù)據(jù)進行均衡化處理。
(4)離散化。執(zhí)行FP-tree算法前需要將數(shù)值型屬性離散化,即將一定范圍內(nèi)的數(shù)值歸為同一類,將數(shù)值型的屬性轉(zhuǎn)化為離散型變量[16]。
(5)運行FP-tree算法,進行質(zhì)量規(guī)則挖掘,得到質(zhì)量規(guī)則集。
(6)冗余規(guī)則剪枝。質(zhì)量規(guī)則集中若存在規(guī)則r1:A→C和規(guī)則r2:B→C,其中A ? B,且r1的置信度高于r2,則認為r2是相對于r1冗余的,從規(guī)則集中刪除r2。
(7)將剪枝后的質(zhì)量規(guī)則集寫入到質(zhì)量規(guī)則庫中,供后續(xù)的使用。
為驗證基于改進混合采樣均衡化的質(zhì)量規(guī)則獲取方法在獲取零件加工質(zhì)量規(guī)則時的有效性,使用企業(yè)實際零件加工數(shù)據(jù)進行測試,并與基于FP-tree的方法(不進行均衡化處理)、基于隨機混合采樣的方法(進行隨機欠采樣與隨機過采樣)進行對比分析。
利用某活塞生產(chǎn)企業(yè)活塞加工數(shù)據(jù)及檢驗數(shù)據(jù)作為實例數(shù)據(jù)源,部分數(shù)據(jù)如表1所示。每組樣本包含工步、加工人員、材料、設(shè)備、環(huán)境及質(zhì)量檢驗信息。質(zhì)檢結(jié)果合格的樣本與不合格的樣本比例約為97:3。
表1 樣本數(shù)據(jù)
設(shè)置改進混合采樣算法中k=20,K=5,r1=10,r2=3;設(shè)置隨機混合采樣算法r1=10,r2=3;設(shè)置FP-tree算法的minsup=0.1,minconf=0.85。選擇85%的數(shù)據(jù)構(gòu)成訓練集,其余數(shù)據(jù)構(gòu)成測試集。在CPU為Intel Xeon E5-2630 2.20GHz、內(nèi)存為32GB的計算機上,用Python3.6進行編碼實現(xiàn)。從規(guī)則數(shù)量、規(guī)則正確性兩方面對三種方法進行對比分析,并對基于改進混合采樣的方法的結(jié)果進行舉例說明。
三種方法得到如表2所示的規(guī)則總數(shù)、合格類規(guī)則數(shù)量、不合格類規(guī)則數(shù)量。由表2可以看出基于改進混合采樣方法挖掘出的合格類規(guī)則大于或等于另兩種方法;掘出的不合格類規(guī)則多于另兩種方法。同時通過對比三種方法挖掘出的規(guī)則發(fā)現(xiàn),基于改進混合采樣挖掘出的合格類規(guī)則包含了另兩種方法挖掘的合格類規(guī)則,挖掘出的不合格類規(guī)則包含了基于FP-tree挖掘出的不合格類規(guī)則,并與基于隨機混合采樣挖掘出的不合格類規(guī)則有7條重合??梢?,基于改進混合采樣的方法在不損失合格類規(guī)則的情況下,還可以挖掘出更多的不合格類規(guī)則。
表2 規(guī)則數(shù)量對比
為了評價獲得規(guī)則的正確性,使用文獻[17]提出的基于評分的預測法對測試集樣本進行預測。評價指標使用整體分類正確率accuracy和少數(shù)類分類正確率TPR。
表3 正確率對比
由上表可見基于改進混合采樣的方法在accuracy和TPR上均比另兩種方法高。
基于改進混合采樣方法挖掘出的規(guī)則可以用于指導工藝設(shè)計、生產(chǎn)安排、質(zhì)量改善等,如表4所示的各規(guī)則含義。
表4 基于改進混合采樣方法部分挖掘結(jié)果展示
(1)第一條規(guī)則表示的是當材料采用45鋼、刀具使用硬質(zhì)合金刀、選擇的切削速度在90~110 m/min之間、選擇的進給量在0~0.3 mm之間、選擇的切削深度在0~0.25 mm之間時,加工出的粗糙度在0.8~1.6 μm之間。規(guī)則的可信度為90%。該條規(guī)則可以用于指導工藝設(shè)計。
(2)第二條規(guī)則表示的是機床編號為ccc6132-004的C6132車床,容易加工出不合格品。規(guī)則的可信度為85%。根據(jù)這條規(guī)則可以指導生產(chǎn)人員去排查該臺設(shè)備是否出現(xiàn)故障,及時進行設(shè)備維修等,保障產(chǎn)品質(zhì)量。
(1)對不均衡的零件加工質(zhì)量數(shù)據(jù)集進行均衡化處理后,再進行規(guī)則挖掘可以得到更均衡零件加工質(zhì)量規(guī)則。
(2)利用本文提出的基于關(guān)鍵規(guī)則欠采樣與改進SMOTE過采樣的混合采樣均衡化方法對不均衡數(shù)據(jù)集進行預處理,可以得到更準確的挖掘結(jié)果。
本文在質(zhì)量規(guī)則獲取的研究中使用了FP-tree算法,雖然此方法運算速度較快,但是內(nèi)存開銷卻很大,占用內(nèi)存小,耗時少的關(guān)聯(lián)規(guī)則算法有待進一步研究。