王美林,劉金剛
(廣東工業(yè)大學(xué)信息工程學(xué)院,廣州510006)
近年來(lái),隨著中國(guó)制造業(yè)的轉(zhuǎn)型升級(jí)[1],國(guó)內(nèi)眾多制造型企業(yè)開始沿著制造業(yè)信息化、智能方向發(fā)展,將現(xiàn)代信息技術(shù)與傳統(tǒng)制造業(yè)向融合,提高生產(chǎn)效率,從而降低生產(chǎn)成本。在工業(yè)生產(chǎn)過(guò)程中,確保設(shè)備維持正常的運(yùn)轉(zhuǎn)狀態(tài)是至關(guān)重要的。因此,如何準(zhǔn)確判定設(shè)備是否處于正常運(yùn)轉(zhuǎn)狀態(tài)成為了眾多企業(yè)管理者關(guān)心的問題。
現(xiàn)有的PVC壓延設(shè)備體型龐大、結(jié)構(gòu)復(fù)雜、作業(yè)流程長(zhǎng),單純依靠設(shè)備操作人員實(shí)時(shí)診斷[2]設(shè)備生產(chǎn)狀態(tài)是非常困難的。隨著物聯(lián)網(wǎng)技術(shù)[3]的發(fā)展,PVC壓延設(shè)備的信息化改造已初步完成,通過(guò)各種類型的傳感器[4]實(shí)時(shí)采集PVC壓延設(shè)備生產(chǎn)時(shí)的設(shè)備信息并傳輸?shù)椒?wù)器中。因此,可以通過(guò)大數(shù)據(jù)技術(shù)對(duì)設(shè)備歷史信息進(jìn)行分析[5],建立PVC壓延設(shè)備運(yùn)行狀態(tài)診斷模型,完成對(duì)設(shè)備實(shí)時(shí)監(jiān)控。
PVC壓延設(shè)備運(yùn)行狀態(tài)診斷模型屬于分類模型,常用的構(gòu)建算法有邏輯回歸[6](Logistic Regression)、決策樹(Decision Trees)和支持向量機(jī)[7](Support Vec?tor Machine,SVM)。由于邏輯回歸算法容易欠擬合,精度不高,而SVM算法針對(duì)擁有大量訓(xùn)練樣本的數(shù)據(jù)集時(shí)運(yùn)算效率不高。相比較而言,決策樹算法決策規(guī)則直觀且運(yùn)算效率高,雖然會(huì)有過(guò)擬合現(xiàn)象,但可以通過(guò)集成學(xué)習(xí)的方式克服。因此,本文通過(guò)使用CART算法對(duì)歷史數(shù)據(jù)進(jìn)行分析建立初步設(shè)備運(yùn)轉(zhuǎn)狀態(tài)診斷模型。引入提升(Boosting)方法,創(chuàng)建多個(gè)CART樹并進(jìn)行加性組合,通過(guò)構(gòu)建集體決策模型完成PVC設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)診斷,最后通過(guò)的實(shí)例測(cè)試證明該方法具有較強(qiáng)的實(shí)用性。
常見的決策樹算法包括ID3、C4.5、CART等,其中C4.5算法是對(duì)ID3算法的優(yōu)化[8],解決了ID3算法在分支過(guò)程中總偏向于取值較多的屬性,通過(guò)計(jì)算信息增益比率(gain ratio)來(lái)選擇分割點(diǎn),該算法可以用來(lái)做多分類決策樹。CART算法采用二元分割法,即每次把數(shù)據(jù)分割成兩份,分別進(jìn)入左子樹、右子樹最終形成分類二叉樹。CART算法通過(guò)計(jì)算基尼系數(shù)增益來(lái)確定分割點(diǎn),在針對(duì)大規(guī)模樣本時(shí),CART算法相較于C4.5算法,不用進(jìn)行大量的排序運(yùn)算和對(duì)數(shù)運(yùn)算,運(yùn)算效率會(huì)更高。因此,本文使用的決策樹算法為CART算法。
CART樹具體構(gòu)建方法如下:
(1)對(duì)于一個(gè)樣本數(shù)據(jù)集S,分類屬性有m個(gè)類,記第i個(gè)類別的概率為pi,pi的計(jì)算方法為屬于該類別的樣本數(shù)除以數(shù)據(jù)集總樣本數(shù)。則樣本S的概率分布基尼指數(shù)定義為:
(2)數(shù)據(jù)集S中非分類屬性K的基尼系數(shù)GiniK(S)計(jì)算公式為:
S1、S2表示集合S被特征屬性K的最佳分割點(diǎn)分割后的兩部分,|S1|表示S1中樣本的個(gè)數(shù)。這里的重點(diǎn)在于如何找到最佳分割點(diǎn)對(duì)集合S進(jìn)行劃分。有如下3種情況:①當(dāng)特征屬性K只有兩種取值類型,則不需要討論分割點(diǎn),直接利用上述公式計(jì)算即可。②當(dāng)特征屬性K有多種取值類型,則需要對(duì)多個(gè)取值類型進(jìn)行二分類劃分,得到多種二分類劃分方式。利用公式(2)分別計(jì)算每個(gè)的二分類劃分方式的基尼系數(shù),選取基尼系數(shù)最小的二分類劃分方式作為最佳分割點(diǎn)。③當(dāng)個(gè)特征屬性K為數(shù)值屬性時(shí),需要先對(duì)數(shù)據(jù)先進(jìn)行排序,按照排列順序依次用相鄰兩個(gè)數(shù)的均值作為分隔點(diǎn)將樣本劃分為兩個(gè)部分,計(jì)算分割后對(duì)應(yīng)的基尼系數(shù),同樣取基尼系數(shù)值最小的作為最佳分割點(diǎn)。
(3)對(duì)于一個(gè)屬性K,它的基尼系數(shù)增益計(jì)算方法是用樣本的概率分布基尼指數(shù)減去屬性K的基尼系數(shù),表達(dá)式為:
依次選取基尼系數(shù)增益最大的屬性作為分類節(jié)點(diǎn)對(duì)數(shù)據(jù)集劃分為兩個(gè)子數(shù)據(jù)集,再在子數(shù)據(jù)集中對(duì)剩余的屬性遞歸調(diào)用第二個(gè)步驟,當(dāng)子數(shù)據(jù)集中的樣本全部屬于同一類時(shí)停止遞歸調(diào)用。
(4)使用CART算法建立分類二叉樹用于設(shè)備運(yùn)轉(zhuǎn)狀態(tài)的診斷,不可避免的便是“過(guò)擬合”現(xiàn)象,因此還需要進(jìn)行剪枝處理。剪枝的基本策略有“預(yù)剪枝”和“后剪枝”[9],其區(qū)別在于“預(yù)剪枝”是在決策過(guò)程中當(dāng)進(jìn)行結(jié)點(diǎn)劃分時(shí)進(jìn)行的,當(dāng)新結(jié)點(diǎn)的劃分并不能提高決策樹的性能提升,則停止劃分,并把當(dāng)前結(jié)點(diǎn)標(biāo)記為葉子結(jié)點(diǎn)?!昂蠹糁Α眲t是先生產(chǎn)一棵完整的決策樹,再?gòu)南峦峡疾烀總€(gè)非葉子結(jié)點(diǎn),將該結(jié)點(diǎn)的子樹標(biāo)記為葉子結(jié)點(diǎn),若能提升決策樹的泛化性能,則去掉子樹,將該子樹替換成葉子結(jié)點(diǎn)。相比之下“后剪枝”的欠擬合風(fēng)險(xiǎn)小,泛化性能優(yōu)于“預(yù)剪枝”。常用的“后剪枝”方法有EBP(基于錯(cuò)誤的剪枝法)、REP(錯(cuò)誤率降低剪枝法)、PEP(悲觀錯(cuò)誤剪枝法),CCP(代價(jià)復(fù)雜度剪枝法)。單棵CART樹在后剪枝之后可以緩解過(guò)擬合現(xiàn)象,提高分類精度,但分類精度仍然不高。因此本文引入了提升(Boosting)方法,在此也就不再討論“后剪枝”的具體做法。
對(duì)某個(gè)數(shù)據(jù)集的進(jìn)行分類器的訓(xùn)練的過(guò)程中,構(gòu)造多個(gè)精度較低的弱分類器比構(gòu)造一個(gè)高分類精度的強(qiáng)分類器要容易的多。因此,通過(guò)使用CART算法構(gòu)建完一棵CART樹之后,改變訓(xùn)練樣本的權(quán)重,即增加被分類錯(cuò)誤的樣本比重,降低被分類正確的樣本比重,構(gòu)成新的訓(xùn)練集,再次訓(xùn)練新的CART樹,就此便可得到一系列的弱分類二叉樹{T1,T2,T3,…,Ti,…},將一系列分類二叉樹進(jìn)行加性組合便可以得出一個(gè)強(qiáng)分類二叉樹。具體流程如圖1所示,其中Wij表示第i次構(gòu)建弱分類器時(shí),訓(xùn)練集的第j個(gè)樣本權(quán)重。ei表示第i個(gè)弱分類器的誤差率。ɑi為分類器加性組合時(shí)的系數(shù)。
圖1 提升(Boosting)方法
誤差率ei的計(jì)算公式為:
其中,Ti(j)表示數(shù)據(jù)集S的第j個(gè)樣本經(jīng)弱分類器Ti后得到的值,yj表示該樣本的真實(shí)值,I為指示函數(shù),當(dāng)Ti(j)=yj成立時(shí)I(Ti(j)=yj)=0,反之,當(dāng)Ti(j)=yj不成立時(shí)I(Ti(j)=yj)=1。
系數(shù)ɑi的計(jì)算方式為:
權(quán)重計(jì)算公式為:
當(dāng)i=0時(shí),即數(shù)據(jù)集S每個(gè)樣本j的初始化權(quán)值為為樣本集S的樣本個(gè)數(shù)。Zi為規(guī)范因子,計(jì)算公式為:
將(5)式代入(6)式與(7)式進(jìn)行化簡(jiǎn)可得:
基于CART樹的強(qiáng)分類器構(gòu)建方法如下:
(1)對(duì)訓(xùn)練數(shù)據(jù)集S使用CART算法構(gòu)建第一棵CART樹T1,在構(gòu)建過(guò)程中與原來(lái)方法不同之處在于:在使用公式(2)計(jì)算基尼系數(shù)時(shí)需要先使用公式(1)計(jì)算基尼指數(shù)Gini(S1)、Gini(S2),公式(1)中的第i個(gè)類別的概率pi計(jì)算方法不再是用屬于該類別的樣本數(shù)除以數(shù)據(jù)集總樣本數(shù),而是求屬于該類別的各個(gè)樣本對(duì)應(yīng)的權(quán)重值之和。
(2)利用公式(4)計(jì)算第一棵CART樹的誤差率e1,利用公式(5)計(jì)算T1的系數(shù)ɑ1,利用公式(8)、(9)計(jì)算出第一次迭代后的權(quán)值W2j,替換樣本S的權(quán)值。
(3)對(duì)替換權(quán)值后的樣本S繼續(xù)使用CART算法構(gòu)建之后CART樹,重復(fù)(1)、(2)兩個(gè)步驟便可得到一系列的弱分類二叉樹{T1,T2,T3,…,Ti,…}。
(4)將這一系列的弱分類器{T1,T2,T3,…,Ti,…}加性組合便可以得到一個(gè)強(qiáng)分類器:Fi=ɑ1T1+ɑ2T2+ɑ3T3+…ɑiTi,當(dāng)強(qiáng)分類器對(duì)訓(xùn)練集樣本的誤分類次數(shù)達(dá)到閾值或訓(xùn)練集樣本被完全正確分類時(shí),停止構(gòu)建新的弱分類器。
(5)最終得到的強(qiáng)分類器函數(shù)表達(dá)式為:
(6)sign為符號(hào)函數(shù),表達(dá)式為:
本文所使用的PVC壓延數(shù)據(jù)來(lái)自廣州佛山某新材料股份有限公司現(xiàn)有的PVC壓延線設(shè)備監(jiān)測(cè)控制系統(tǒng),該系統(tǒng)通過(guò)各類底層傳感器采集生產(chǎn)信息,使用串口聯(lián)網(wǎng)服務(wù)器等設(shè)備將各類傳感器數(shù)據(jù),上傳服務(wù)器。PVC壓延生產(chǎn)線示意圖如圖2所示。
圖2 PVC壓延生產(chǎn)線
現(xiàn)有PVC壓延線的歷史數(shù)據(jù)均按照采集的時(shí)間先后保存在日志文件中,需要通過(guò)編程對(duì)日志文件進(jìn)行解析。解析后得到的原始數(shù)據(jù)集中存在重復(fù)、缺失、錯(cuò)誤現(xiàn)象,采取如下措施:①如果相鄰的幾組數(shù)據(jù)完全一致則合并為一組;②如果數(shù)據(jù)缺失,用鄰近數(shù)據(jù)均值補(bǔ)全;③如果存在錯(cuò)誤數(shù)據(jù),錯(cuò)誤數(shù)據(jù)是指數(shù)據(jù)格式或數(shù)據(jù)值遠(yuǎn)遠(yuǎn)超出取值范圍的數(shù)據(jù),對(duì)該類數(shù)據(jù)將直接剔除。為了使訓(xùn)練集數(shù)據(jù)更具有代表性,從2019-2020年的PVC生產(chǎn)線歷史數(shù)據(jù)中按不同的月份和日期和時(shí)間段抽取5500組PVC壓延設(shè)備正常生產(chǎn)時(shí)的設(shè)備歷史數(shù)據(jù),從兩年期間設(shè)備每次發(fā)生故障時(shí)采集到的數(shù)據(jù)中等概率抽取4500組設(shè)備故障數(shù)據(jù)組成數(shù)據(jù)集。將設(shè)備正常生產(chǎn)時(shí)數(shù)據(jù)和設(shè)備故障時(shí)采集到的數(shù)據(jù)進(jìn)行隨機(jī)混合,以其中的7000組數(shù)據(jù)作為訓(xùn)練集,剩下的3000組數(shù)據(jù)作為測(cè)試集,進(jìn)行模型的訓(xùn)練與測(cè)試。表1為數(shù)據(jù)集的部分?jǐn)?shù)據(jù)情況,運(yùn)行狀態(tài)為1代表的是設(shè)備正常運(yùn)行時(shí)所采集到的數(shù)據(jù),運(yùn)行狀態(tài)為-1代表的是設(shè)備故障時(shí)所采集到的數(shù)據(jù)。
表1 數(shù)據(jù)集中部分?jǐn)?shù)據(jù)展示
在表1中可以看到,數(shù)據(jù)集由設(shè)備的{電流,溫度,速度}以及PVC壓延產(chǎn)品的厚度四個(gè)屬性組成,均為數(shù)值屬性,因此在構(gòu)建CART樹時(shí)符合公式(2)下方的第(iii)種情況,即對(duì)每個(gè)屬性確定最佳分割點(diǎn)時(shí),需要先對(duì)該屬性下的數(shù)據(jù)進(jìn)行排序,按照排列順序依次用相鄰兩個(gè)數(shù)的均值作為分隔點(diǎn)將樣本劃分為兩個(gè)部分,第一次構(gòu)建CART樹時(shí),各個(gè)樣本的權(quán)重均為1/10000。按照基于CART樹的強(qiáng)分類器構(gòu)建方法構(gòu)建強(qiáng)分類器Fi。由于強(qiáng)分類器Fi=ɑ1T1+ɑ2T2+ɑ3T3+…ɑiTi可寫成Fi=Fi-1+ɑiTi,為了防止過(guò)擬合,在強(qiáng)分類器構(gòu)建的過(guò)程中加入正則化項(xiàng)v(0 在強(qiáng)分類器Fi構(gòu)建過(guò)程中,為了防止擬合現(xiàn)象,需要不停地用測(cè)試集對(duì)更新的強(qiáng)學(xué)習(xí)器進(jìn)行準(zhǔn)確度(Accuracy)[10],精確率的表達(dá)式為: 其中,TN表示樣本實(shí)際值為-1,判決值為-1的樣本數(shù)目。FP表示樣本實(shí)際值為-1,判決值為1的樣本數(shù)目。FN表示樣本實(shí)際值為1,判決值為-1的樣本數(shù)目。TP表示樣本實(shí)際值為1,判決值為1的樣本數(shù)目。TN+FN+FP+TP=測(cè)試集樣本總個(gè)數(shù)。 影響強(qiáng)分類器Fi分類精度的因素有兩個(gè):弱分類器數(shù)目和正則化項(xiàng)。圖3表示的是在v=1的條件下,強(qiáng)分類器Fi分類精度隨弱分類器數(shù)目變化而變化的情況,圖中最小的錯(cuò)誤率為0.1216,對(duì)應(yīng)的弱分類器數(shù)目為第176。弱分類器迭代176次,v=1的詳細(xì)測(cè)試記錄如表2所示。 表2 v=1、迭代176次測(cè)試記錄 圖3 強(qiáng)分類器錯(cuò)誤率與弱分類器數(shù)目關(guān)系 從圖3可以看出,當(dāng)弱分類器在v=1的條件下,迭代176次之后出現(xiàn)了過(guò)擬合現(xiàn)象,導(dǎo)致強(qiáng)分類器分類精度降低。 由于正則化項(xiàng)v的取值也會(huì)影響強(qiáng)分類器Fi分類精度,但在實(shí)際測(cè)試中,除非v的取值太小,導(dǎo)致迭代1000次還達(dá)不到最大值,否則,正則化項(xiàng)v的取值變化對(duì)最終分類精度的影響是比較小的,對(duì)v采用步進(jìn)為0.1的搜索方法測(cè)試v每次變化時(shí),強(qiáng)分類器Fi分類精度的變化,具體變化情況如圖4所示。 圖4 精確度與學(xué)習(xí)率的關(guān)系曲線 從圖4中可以看出,強(qiáng)分類器分類精確度受正則化項(xiàng)v變化的影響不大,取值范圍均在82.5至88.5之間,從v=0.1這個(gè)點(diǎn)也可以看出,由于正則化項(xiàng)v取值過(guò)小,在迭代1000次弱分類器時(shí)仍然處于欠擬合狀態(tài)。當(dāng)v=0.8時(shí),強(qiáng)分類器分類精確度取值最大,為88.37%,對(duì)應(yīng)迭代次數(shù)為221次,此時(shí)具體測(cè)試情況如表3所示。此時(shí),強(qiáng)分類器的AUC曲線如圖5所示,取值為0.90。 表3 v=0.8、迭代221次的測(cè)試記錄 圖5 強(qiáng)分類器ROC曲線圖 工業(yè)大數(shù)據(jù)在未來(lái)的制造業(yè)發(fā)展過(guò)程中將發(fā)揮越來(lái)越重要的作用,成為提升生產(chǎn)效率、完成產(chǎn)業(yè)升級(jí)的重要手段。本文通過(guò)使用基于CART算法的提升(Boosting)方法對(duì)PVC壓延設(shè)備生產(chǎn)歷史數(shù)據(jù)進(jìn)行分析,構(gòu)建設(shè)備生產(chǎn)狀態(tài)診斷模型,用于設(shè)備生產(chǎn)狀態(tài)的實(shí)時(shí)診斷。實(shí)驗(yàn)測(cè)試表明,該診斷模型的分類精度可達(dá)88.37%,AUC值為0.90,判決速度為0.15 ms/條,具有較高的準(zhǔn)確率和實(shí)用性,也對(duì)其他類似的制造型工業(yè)生產(chǎn)設(shè)備運(yùn)行狀態(tài)的判決提供了一種可靠的解決方案。2.4 模型測(cè)試
3 結(jié)語(yǔ)