程 大 勇
(安徽工業(yè)職業(yè)技術(shù)學(xué)院, 安徽 銅陵 244000)
隨著工業(yè)產(chǎn)業(yè)信息化的發(fā)展以及工業(yè)4.0時(shí)代的到來(lái),面對(duì)海量的工業(yè)大數(shù)據(jù),系統(tǒng)分析技術(shù)的重要性日漸凸顯。工業(yè)設(shè)備的數(shù)量及復(fù)雜程度倍增,使得工業(yè)設(shè)備監(jiān)控大數(shù)據(jù)出現(xiàn)了PB級(jí)的增量趨勢(shì)[1-2],數(shù)據(jù)結(jié)構(gòu)也表現(xiàn)出多源異構(gòu)性、冗余性、不完整等復(fù)雜性[3-4]。由于傳感器采集到的工業(yè)機(jī)械設(shè)備大數(shù)據(jù)來(lái)源、結(jié)構(gòu)、形式均不同,其中包含大量的高維序列數(shù)據(jù)[5],而且受到系統(tǒng)噪聲與環(huán)境噪聲的干擾,因此從海量多源異構(gòu)工業(yè)大數(shù)據(jù)中提取到有用信息的難度較大。
為了提高工業(yè)大數(shù)據(jù)的采集質(zhì)量,需要采用數(shù)據(jù)清洗的方法對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理。目前常用的工業(yè)大數(shù)據(jù)清洗方法主要分為數(shù)據(jù)統(tǒng)計(jì)清洗和平滑降噪清洗。數(shù)據(jù)統(tǒng)計(jì)清洗方法,是指基于數(shù)據(jù)時(shí)間序列模型建立自回歸方程,剔除干擾數(shù)據(jù)和錯(cuò)誤數(shù)據(jù),從而識(shí)別出有價(jià)值的故障數(shù)據(jù)[6]。平滑降噪清洗方法,是指通過(guò)調(diào)整滑動(dòng)窗口對(duì)原始數(shù)據(jù)的序列值進(jìn)行加權(quán)運(yùn)算[7],剔除冗余數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)以避免干擾,最后保留核心數(shù)據(jù)的原始特征。但面對(duì)工業(yè)故障大數(shù)據(jù)集規(guī)模急劇擴(kuò)張、數(shù)據(jù)維度呈線(xiàn)性迅速增長(zhǎng)的趨勢(shì)[8-9],這兩類(lèi)數(shù)據(jù)清洗方法的效率有所下降,需要進(jìn)一步優(yōu)化。
針對(duì)海量工業(yè)大數(shù)據(jù)的多源異構(gòu)性特征,在此提出一種基于優(yōu)化深度置信網(wǎng)絡(luò)的大數(shù)據(jù)清洗算法。在Hadoop框架下,基于曼哈頓距離(Manhattan Oistance)法計(jì)算多元異構(gòu)數(shù)據(jù)的相似度,同時(shí)利用經(jīng)過(guò)優(yōu)化的深度信念網(wǎng)絡(luò)模式對(duì)數(shù)據(jù)集進(jìn)行約簡(jiǎn),剔除干擾并提取核心數(shù)據(jù)特征,從而實(shí)現(xiàn)對(duì)海量多源異構(gòu)工業(yè)大數(shù)據(jù)的清洗。
Hadoop是面向海量大數(shù)據(jù)開(kāi)發(fā)的一種分布式基礎(chǔ)架構(gòu),更適用于多源異構(gòu)工業(yè)大數(shù)據(jù)的預(yù)處理。Hadoop架構(gòu)的核心是分布式系統(tǒng)(hadoop distributed file system,HDFS)和MapReduce模型,HDFS可滿(mǎn)足海量數(shù)據(jù)的存儲(chǔ)要求,MapReduce可滿(mǎn)足海量大數(shù)據(jù)的并行計(jì)算要求。Hadoop框架的文件系統(tǒng)采用仿磁盤(pán)設(shè)計(jì),可減少節(jié)點(diǎn)開(kāi)銷(xiāo),有助于提升工業(yè)大數(shù)據(jù)的存儲(chǔ)效率。HDFS主要負(fù)責(zé)管理Hadoop框架中各數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)和調(diào)用,數(shù)據(jù)庫(kù)的存儲(chǔ)方式滿(mǎn)足對(duì)大文件存儲(chǔ)的需要,存儲(chǔ)與使用空間也得到了優(yōu)化。作為Hadoop框架中系統(tǒng)文件的管理者,HDFS還負(fù)責(zé)向全部數(shù)據(jù)節(jié)點(diǎn)發(fā)送信息,以保證框架范圍內(nèi)數(shù)據(jù)處理信息的共享。
MapReduce并行計(jì)算架構(gòu)的主要組成部分包括負(fù)責(zé)業(yè)務(wù)接收的客戶(hù)端、負(fù)責(zé)數(shù)據(jù)匹配的作業(yè)服務(wù)企業(yè)和負(fù)責(zé)分配的任務(wù)服務(wù)器,其具體工作流程如圖1所示。
圖1 MapReduce模塊工作流程
MapReduce模塊采用并行計(jì)算的方式,每個(gè)節(jié)點(diǎn)都能夠獨(dú)立地進(jìn)行數(shù)據(jù)清洗等數(shù)據(jù)預(yù)處理活動(dòng),采用多跳通信的方式共享信息,并匯報(bào)當(dāng)前節(jié)點(diǎn)的任務(wù)完成情況。面對(duì)海量的多源異構(gòu)工業(yè)大數(shù)據(jù),Hadoop框架中的Sqoop模塊能夠協(xié)助MapReduce模塊實(shí)現(xiàn)大數(shù)據(jù)的臨時(shí)存儲(chǔ),避免核心數(shù)據(jù)丟失。
Hadoop框架的分布式結(jié)構(gòu)和并行計(jì)算方式,使海量的多源異構(gòu)工業(yè)大數(shù)據(jù)的清洗工作具備了軟硬件基礎(chǔ)。大數(shù)據(jù)清洗的內(nèi)容通常包括數(shù)據(jù)預(yù)處理,距離計(jì)算與特征選擇,數(shù)據(jù)清洗與分類(lèi),以及清洗結(jié)果檢驗(yàn)。將傳感器采集到的原始數(shù)據(jù)以數(shù)據(jù)表、圖形、視頻和文字等不同形式存儲(chǔ)于數(shù)據(jù)庫(kù)中,進(jìn)一步按照數(shù)據(jù)的基礎(chǔ)格式和特征聚類(lèi),并基于曼哈頓距離法判斷原始數(shù)據(jù)與中心點(diǎn)之間的距離。在信號(hào)采集和機(jī)械故障數(shù)據(jù)提取的過(guò)程中,采用曼哈頓距離來(lái)描述高維空間內(nèi)數(shù)據(jù)之間的相似程度。假定工業(yè)大數(shù)據(jù)的空間維度為D,xmk為m條工業(yè)大數(shù)據(jù)樣本中的第k個(gè)特征值,xnk為n條工業(yè)大數(shù)據(jù)樣本中的第k個(gè)特征值,兩者之間的相似度用曼哈頓距離dxmk,xnk來(lái)表示:
(1)
計(jì)算原始工業(yè)大數(shù)據(jù)的相似度,有助于識(shí)別多源異構(gòu)數(shù)據(jù)之間較為明顯的差異,進(jìn)而準(zhǔn)確地定義數(shù)據(jù)清洗規(guī)則及特征選擇方式。利用Hadoop大數(shù)據(jù)框架和曼哈頓距離計(jì)算法,可初步去除原始工業(yè)大數(shù)據(jù)的冗余特征,提升后續(xù)數(shù)據(jù)約簡(jiǎn)、清洗的效果。
將機(jī)器學(xué)習(xí)算法引入工業(yè)大數(shù)據(jù)清洗中,利用深度信念網(wǎng)絡(luò)模型剔除冗余干擾數(shù)據(jù),并提取數(shù)據(jù)的混合特征,提升故障信號(hào)識(shí)別的準(zhǔn)確率。
深度學(xué)習(xí)源于人工神經(jīng)網(wǎng)絡(luò),是機(jī)器學(xué)習(xí)的一種高級(jí)形態(tài)。以深度學(xué)習(xí)為基礎(chǔ)而構(gòu)建的深度信念網(wǎng)絡(luò)模型,擺脫了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型中間隱含層數(shù)量的限制,可根據(jù)數(shù)據(jù)集的規(guī)模自適應(yīng)性調(diào)整模型的數(shù)據(jù)分類(lèi)與處理能力。設(shè)深度信念網(wǎng)絡(luò)模型M包含P層節(jié)點(diǎn)(M1,M2,…,MP),輸入信息I經(jīng)過(guò)中間層處理后使輸出值集合O與理論值的偏差最低。深度信念網(wǎng)絡(luò)模型在結(jié)構(gòu)上結(jié)合了無(wú)監(jiān)督訓(xùn)練與有監(jiān)督學(xué)習(xí)的雙重優(yōu)點(diǎn),它由一層具有監(jiān)督功能的反向傳播網(wǎng)絡(luò)及若干層無(wú)監(jiān)督的RBM(玻爾茲曼機(jī))構(gòu)成(見(jiàn)圖2)。
圖2 深度信念網(wǎng)絡(luò)模型結(jié)構(gòu)
RBM作為深度置信網(wǎng)絡(luò)中的核心組件,能夠解決多源異構(gòu)工業(yè)大數(shù)據(jù)的冗余數(shù)據(jù)去除和特征提取問(wèn)題。每一層RBM結(jié)構(gòu)中又包含可視層和隱含層數(shù)據(jù),其中預(yù)處理大數(shù)據(jù)經(jīng)訓(xùn)練后的輸入取值具有多樣性特征。如果可視層包含了a個(gè)節(jié)點(diǎn)數(shù)據(jù)(v1,v2,…,va),隱含層包含了b個(gè)節(jié)點(diǎn)數(shù)據(jù)(h1,h2,…,hb),則這兩個(gè)層級(jí)之間的節(jié)點(diǎn)權(quán)重矩陣W表示如下:
(2)
由于訓(xùn)練多源異構(gòu)大數(shù)據(jù)的難度很大,且待處理數(shù)據(jù)的概率分布位置不一致,因此只能通過(guò)實(shí)際輸出結(jié)果與理論輸出結(jié)果之間的差異來(lái)分析輸入數(shù)據(jù)與訓(xùn)練數(shù)據(jù)的變化趨勢(shì)。與曼哈頓距離評(píng)價(jià)相似度的方法相類(lèi)似,利用RBM的能量函數(shù)能夠進(jìn)一步描述出不同來(lái)源、不同結(jié)構(gòu)數(shù)據(jù)之間的差異。對(duì)能量函數(shù)E(vi,hj)的描述如下:
(3)
其中,ηi、ζj是分別與節(jié)點(diǎn)數(shù)據(jù)vi、hj對(duì)應(yīng)的初始偏置值?;谀芰亢瘮?shù)計(jì)算可視層節(jié)點(diǎn)和隱含層節(jié)點(diǎn)的聯(lián)合分布概率P(vi,hj):
(4)
其中,分母項(xiàng)是能量函數(shù)的歸一化系數(shù)。通過(guò)聯(lián)合概率函數(shù)值的分布觀(guān)察各節(jié)點(diǎn)變量的當(dāng)前活躍程度,并優(yōu)化深度置信網(wǎng)絡(luò)模式。通常情況下,是將原始的工業(yè)大數(shù)據(jù)樣本輸入RBM層,而中間隱含層各節(jié)點(diǎn)處于相互獨(dú)立的狀態(tài)。當(dāng)hj=1時(shí),聯(lián)合概率的分布滿(mǎn)足如下條件:
(5)
式中ξ為二值型Sigmoid函數(shù),在數(shù)據(jù)訓(xùn)練和輸出時(shí)可用于調(diào)整深度置信網(wǎng)絡(luò)的分割值區(qū)間。當(dāng)Sigmoid函數(shù)的自變量取值范圍為(0,1)時(shí),聯(lián)合概率分布函數(shù)會(huì)呈現(xiàn)單調(diào)連續(xù)變化的形態(tài)。RBM隱含層的節(jié)點(diǎn)被激活后將hj值反向輸入深度置信網(wǎng)絡(luò),完成對(duì)可視層節(jié)點(diǎn)狀態(tài)的重構(gòu),以獲取原始數(shù)據(jù)樣本的近似值。數(shù)據(jù)的訓(xùn)練需經(jīng)過(guò)多次反復(fù)迭代,使擬合后的實(shí)際樣本輸出值與理論值趨近。
深度置信網(wǎng)絡(luò)模型可以根據(jù)輸入的工業(yè)大數(shù)據(jù)集規(guī)模大小而變化,中間隱含層的復(fù)雜程度也可以調(diào)整;但對(duì)于多個(gè)不同的任務(wù)數(shù)據(jù)集而言,在多源異構(gòu)環(huán)境下數(shù)據(jù)源中會(huì)出現(xiàn)大量冗余或不相關(guān)的數(shù)據(jù)。利用深度置信網(wǎng)絡(luò)模型清洗原始工業(yè)數(shù)據(jù),除了需濾除系統(tǒng)噪聲和錯(cuò)誤數(shù)據(jù)的干擾之外,還應(yīng)對(duì)數(shù)據(jù)集進(jìn)行屬性約簡(jiǎn)處理,以去除過(guò)多的冗余干擾數(shù)據(jù)。多源異構(gòu)數(shù)據(jù)的特點(diǎn)是,從多個(gè)角度描述設(shè)備的故障狀態(tài),并提供多個(gè)數(shù)據(jù)源。這些數(shù)據(jù)源之間存在不同程度的關(guān)聯(lián),屬性約簡(jiǎn)的作用就是對(duì)同源數(shù)據(jù)之間的關(guān)聯(lián)度進(jìn)行判斷。
假定經(jīng)過(guò)預(yù)處理的原始工業(yè)數(shù)據(jù)以數(shù)據(jù)表的形式存在,數(shù)據(jù)表t的數(shù)量為q,它們共同構(gòu)成數(shù)據(jù)表集合T={t1,t2,…,tq},且任意一個(gè)獨(dú)立的數(shù)據(jù)表ti都包含g個(gè)屬性C={c1,c2,…,cg}。計(jì)算各數(shù)據(jù)表字符串之間的編輯距離,然后再利用曼哈頓距離法評(píng)價(jià)和判斷字符串之間的相似度,采用插入、刪除或替換等多種操作方式測(cè)試字符串和數(shù)據(jù)表之間的曼哈頓距離。曼哈頓距離越大,則表明數(shù)據(jù)之間的相似度越小。定義字符串si和sj之間的曼哈頓距離為dsi,sj,數(shù)據(jù)表ti和tj之間的相關(guān)系數(shù)為ρti,tj。設(shè)數(shù)據(jù)表之間的經(jīng)驗(yàn)參數(shù)閾值為φ:當(dāng)ρti,tj>φ時(shí),ti、tj之間不存在數(shù)據(jù)上的關(guān)聯(lián),而當(dāng)ρti,tj<φ時(shí),ti、tj之間有一定的關(guān)聯(lián)。最后,篩選和確定字符串之間的曼哈頓距離dsi,sj,刪除重復(fù)的字符串和數(shù)據(jù)表,實(shí)現(xiàn)數(shù)據(jù)約簡(jiǎn)分類(lèi)。
每一組源數(shù)據(jù)都是由若干個(gè)樣本信息組成,如果有兩組源數(shù)據(jù)的全部屬性特征一致,則表明存在數(shù)據(jù)冗余的情況。數(shù)據(jù)屬性的相關(guān)度可作為判斷屬性重要性的依據(jù),數(shù)據(jù)源組的密度決定數(shù)據(jù)重復(fù)出現(xiàn)的次數(shù)。工業(yè)大數(shù)據(jù)清洗的數(shù)據(jù)源組密度如圖3所示。在數(shù)據(jù)屬性空間內(nèi),位于低密度空間的對(duì)象通常為異常值。參照高密度空間的數(shù)據(jù)分布特征,對(duì)低密度區(qū)域空間數(shù)據(jù)進(jìn)行屬性約簡(jiǎn)處理,剔除掉多余的重復(fù)記錄。
圖3 工業(yè)大數(shù)據(jù)清洗的數(shù)據(jù)源組密度示意圖
當(dāng)一個(gè)數(shù)據(jù)源組出現(xiàn)在密度較低的半徑區(qū)域(如O6半徑區(qū)域)內(nèi)時(shí),若清洗中出現(xiàn)了數(shù)據(jù)特征相同的情況,則此數(shù)據(jù)通常被認(rèn)定為冗余數(shù)據(jù)。以深度置信網(wǎng)絡(luò)模型為基礎(chǔ),利用數(shù)據(jù)之間的曼哈頓距離和能量函數(shù)值即可有效去除冗余、錯(cuò)誤或不完整的數(shù)據(jù)。同時(shí),Hadoop大數(shù)據(jù)框架具有強(qiáng)大的并行計(jì)算能力,在其基礎(chǔ)上又進(jìn)一步提高了數(shù)據(jù)清洗和分類(lèi)的效率。
在Linux仿真環(huán)境下搭建Hadoop平臺(tái),并安裝虛擬機(jī)。為了提高大數(shù)據(jù)框架的運(yùn)算效率,利用HIVE數(shù)據(jù)倉(cāng)來(lái)存儲(chǔ)數(shù)據(jù),并通過(guò)Sqoop實(shí)現(xiàn)數(shù)據(jù)加載。Hadoop集群由一個(gè)主節(jié)點(diǎn)(ZA1)和3個(gè)從節(jié)點(diǎn)(ZS1、ZS2、ZS3)組成。其中,主節(jié)點(diǎn)的CPU選用Intel Corei9 7980XE,主頻達(dá)到3.6 GHz,運(yùn)行內(nèi)存16 GiB,儲(chǔ)存內(nèi)存2 TiB;各個(gè)從節(jié)點(diǎn)的CPU選用Intel Corei7 9700,最高主頻達(dá)到2.93GHz。Hadoop集群的軟件系統(tǒng)設(shè)置如表1所示。
Hadoop集群各節(jié)點(diǎn)的IP地址如下:
主節(jié)點(diǎn)ZA1,IP地址為192.168.2.130;
從節(jié)點(diǎn):ZS1,IP地址為192.168.2.115;ZS2,IP地址為192.168.2.123;ZS3,IP地址為192.168.2.124。
表1 Hadoop集群的軟件環(huán)境設(shè)置
為保證各個(gè)節(jié)點(diǎn)之間的正常通信和任務(wù)分工,需要按照地址順序添加節(jié)點(diǎn),管理員可通過(guò)后臺(tái)設(shè)置修改節(jié)點(diǎn)的IP地址和權(quán)限。在Hadoop集群的各節(jié)點(diǎn)計(jì)算機(jī)上安裝SSH程序包,并配置主機(jī)的公鑰、私鑰權(quán)限。待系統(tǒng)啟動(dòng)后,首先格式化硬盤(pán),啟動(dòng)HDFS、MapReduce以測(cè)試系統(tǒng)的功能。然后,將待處理的工業(yè)數(shù)據(jù)源加載到HDFS中,并在Sqoop模塊中設(shè)置對(duì)應(yīng)的參數(shù)。
去除冗余數(shù)據(jù)的效果,是衡量大數(shù)據(jù)清洗算法性能的主要標(biāo)準(zhǔn)之一。在此,以查準(zhǔn)率(RP)和查全率(RR)作為主要性能指標(biāo),驗(yàn)證本次清洗算法的有效率。查準(zhǔn)率用于衡量數(shù)據(jù)集中準(zhǔn)確識(shí)別重復(fù)記錄的比例,查全率衡量用于識(shí)別重復(fù)記錄中真實(shí)值所占比例。
(6)
(7)
式中:ζ1為準(zhǔn)確識(shí)別相似數(shù)據(jù)記錄的數(shù)據(jù)數(shù)量;ζ2為真實(shí)條件下不應(yīng)視為重復(fù)記錄卻被認(rèn)定為重復(fù)記錄的數(shù)據(jù)數(shù)量;ζ3為真實(shí)條件下屬于冗余重復(fù)記錄卻未被檢測(cè)出的數(shù)據(jù)數(shù)量。
從不同工業(yè)大數(shù)據(jù)來(lái)源中隨機(jī)采集10 000條不同結(jié)構(gòu)類(lèi)型的故障數(shù)據(jù)構(gòu)成數(shù)據(jù)集,其中包含564條錯(cuò)誤數(shù)據(jù)、314條缺失不完整數(shù)據(jù)和788條冗余重復(fù)數(shù)據(jù)。將全部樣本數(shù)據(jù)隨機(jī)分成10組,利用本清洗算法計(jì)算各組數(shù)據(jù)的查準(zhǔn)率和查全率,同時(shí)引入文獻(xiàn)[6][7]的數(shù)據(jù)清洗算法參與對(duì)比,統(tǒng)計(jì)結(jié)果見(jiàn)表2、表3。
表2 查準(zhǔn)率結(jié)果對(duì)比 %
表3 查全率結(jié)果對(duì)比 %
由數(shù)值統(tǒng)計(jì)結(jié)果可知,本算法的絕對(duì)值和穩(wěn)定性遠(yuǎn)優(yōu)于另外兩種清洗算法,查準(zhǔn)率和查全率均值分別達(dá)到99.47%和99.16%,其VARP值分別達(dá)到0.16%和0.38%。隨機(jī)抽取第5組數(shù)據(jù)作為實(shí)驗(yàn)抽樣調(diào)查樣本,檢測(cè)工業(yè)數(shù)據(jù)清洗中字符串的匹配準(zhǔn)確率,其統(tǒng)計(jì)結(jié)果如圖4所示。
隨機(jī)抽取的這一組數(shù)據(jù)中,字符串匹配準(zhǔn)確率的變化趨勢(shì)均與表2、表3中的一致。由此可見(jiàn),本算法的字符匹配準(zhǔn)確率相對(duì)更高。
以上述實(shí)驗(yàn)中隨機(jī)采集到的10 000條不同結(jié)構(gòu)類(lèi)型的故障集為實(shí)驗(yàn)對(duì)象,并將故障集隨機(jī)分成10組,對(duì)比10組工業(yè)大數(shù)據(jù)的清洗效率。對(duì)每組數(shù)據(jù)的處理時(shí)間進(jìn)行累加,對(duì)比總體耗時(shí),統(tǒng)計(jì)結(jié)果如圖5所示。
圖4 各算法的字符串匹配準(zhǔn)確率
圖5 數(shù)據(jù)處理的總體耗時(shí)對(duì)比
在10組數(shù)據(jù)的處理過(guò)程中,本算法的耗時(shí)更為平穩(wěn)并呈線(xiàn)性變化,完成任務(wù)后的總體耗時(shí)更低;而文獻(xiàn)[6][7]算法的結(jié)果有較大差異,也出現(xiàn)了不同程度的波動(dòng),在數(shù)據(jù)處理初段和中段效率較低,導(dǎo)致總體耗時(shí)高于本算法。
隨著工業(yè)產(chǎn)業(yè)信息化的發(fā)展,工業(yè)大數(shù)據(jù)總量巨增,其結(jié)構(gòu)也日趨復(fù)雜,這給基于工業(yè)大數(shù)據(jù)的故障檢測(cè)和設(shè)備在線(xiàn)監(jiān)控帶來(lái)更大挑戰(zhàn)。原始工業(yè)大數(shù)據(jù)中包含大量的冗余、錯(cuò)誤或不完整數(shù)據(jù),經(jīng)過(guò)清洗可以去除其中絕大部分臟數(shù)據(jù),對(duì)數(shù)據(jù)清洗算法進(jìn)行優(yōu)化有助于提高工業(yè)大數(shù)據(jù)分析和使用效率。本次研究中利用深度學(xué)習(xí)算法中的深度置信網(wǎng)絡(luò)模型,提高了原始數(shù)據(jù)清洗效率,減少了數(shù)據(jù)誤處理現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,本次研究提出的工業(yè)大數(shù)據(jù)清洗算法在清洗效率上具有一定的優(yōu)勢(shì),比傳統(tǒng)清洗算法的查準(zhǔn)、查全效果更佳。