孔憲光,章 雄,馬洪波,常建濤,牛 萌
(西安電子科技大學工業(yè)大數(shù)據(jù)技術研究中心,陜西西安 710071)
面向復雜工業(yè)大數(shù)據(jù)的實時特征提取方法
孔憲光,章 雄,馬洪波,常建濤,牛 萌
(西安電子科技大學工業(yè)大數(shù)據(jù)技術研究中心,陜西西安 710071)
工業(yè)大數(shù)據(jù)具有大體量、多源性、連續(xù)采樣和價值密度低等特點,造成其數(shù)據(jù)復雜度高、實時性強和異常數(shù)據(jù)多.而傳統(tǒng)的特征提取方法已無法滿足復雜工業(yè)大數(shù)據(jù)的實時性要求,同時工業(yè)大數(shù)據(jù)的處理方法不同于基于互聯(lián)網(wǎng)的數(shù)據(jù)流處理方法,其對精度要求較高.針對該問題,提出一種魯棒的增量在線特征提取方法,即魯棒增量主成分分析,采用滑動窗口動態(tài)更新數(shù)據(jù),過濾窗口內的異常數(shù)據(jù)點;然后對窗口內數(shù)據(jù)進行增量主成分分析,從而滿足工業(yè)大數(shù)據(jù)處理的精度及實時性要求.實驗結果表明,該方法可有效對數(shù)據(jù)流進行實時的特征提取,并達到一定的精度要求.
工業(yè)大數(shù)據(jù);實時性與魯棒性;滑動窗口;主成分分析;離群點檢測;特征提取
近年來,德國工業(yè)4.0及中國制造2025的提出,使得工業(yè)大數(shù)據(jù)的應用走向了發(fā)展的舞臺[1].工業(yè)大數(shù)據(jù)分析是智能制造的基礎,也是支撐未來制造智能化的方向.工業(yè)大數(shù)據(jù)是一個新的概念,泛指工業(yè)領域的大數(shù)據(jù),包括企業(yè)內部制造系統(tǒng)數(shù)據(jù)和企業(yè)外部的大數(shù)據(jù),具有大體量、多源性、連續(xù)采樣、價值密度低、復雜度高和動態(tài)性強等特點.工業(yè)大數(shù)據(jù)的這些特點使其不同于互聯(lián)網(wǎng)等數(shù)據(jù)流,分析難度與對分析精度的要求相對較高.多源性及復雜性導致了工業(yè)大數(shù)據(jù)的高維性,為準確進行工業(yè)大數(shù)據(jù)分析與預測,需要對工業(yè)大數(shù)據(jù)降維.特征提取是一種常用的特征降維方法,其原理是利用原始的特征空間構建一個新的低維空間,消除冗余特征及不相關特征,有效降低數(shù)據(jù)的維度.由于工業(yè)大數(shù)據(jù)對處理分析的實時性要求很高,傳統(tǒng)的特征提取方法如主成分分析(Principal Component Analysis,PCA)[2]、線性判別分析(Linear Discriminant Analysis,LDA)和偏最小二乘法(Partial Least Squares,PLS)[3]等均不能滿足工業(yè)大數(shù)據(jù)的實時性及要求.
數(shù)據(jù)流實時性問題的通常解決方法是以傳統(tǒng)特征提取為基礎,對其進行快速更新:在主成分分析方面,文獻[4]提出了一種分塊增量核主成分分析算法用來降低核主成分分析在特征分解上的計算代價,該算法基于累積率增加特征空間,可不保留歷史數(shù)據(jù)而更新特征空間,并針對每一個數(shù)據(jù)塊只計算1次特征值來求解特征空間.文獻[5]提出了一種可以增量的更新數(shù)據(jù)特征的主成分分析法(Candid Covariance-free Incremental PCA,CCIPCA),該算法無需計算協(xié)方差矩陣,不僅提高了計算速度,而且面對高維數(shù)據(jù)時可快速收斂;在線性判別分析方面,文獻[6]提出了一種構造方法,用于更新判別特征空間,包含新類的數(shù)據(jù)以一種隨機塊的方式加入到初始判別特征空間中.文獻[7]基于最小二乘線性判別式分析,提出了一種新的增量線性判別式分析算法(Least Square-Incremental Linear Discriminant Analysis,LS-ILDA),當新數(shù)據(jù)到達時,算法增量更新線性判別式分析算法(Linear Discriminant Analysis,LDA)的最小二乘解,具有低時耗性和高準確性.文獻[8]提出了一種完備奇異值分解的增量線性判別分析方法,并用于面部識別中.文獻[9]提出一種快速增量線性判別式分析算法,可很好地處理新樣本的更新問題,具備較低的空間和時間復雜度;在偏最小二乘法方面,文獻[10]提出了一種增量偏最小二乘法用于處理大規(guī)模數(shù)據(jù)流.
上述增量特征提取方法很好地解決了數(shù)據(jù)流的實時性問題,卻存在一定的精度問題.針對工業(yè)大數(shù)據(jù)應用對數(shù)據(jù)分析結果的高精度要求,筆者在主成分分析的基礎上結合異常點檢測,提出了一種魯棒增量主成分分析(Robust Incremental Principal Component Analysis,RIPCA)方法,該方法在對數(shù)據(jù)流進行增量特征提取之前,對數(shù)據(jù)進行異常點的檢測及過濾.文中創(chuàng)新點在于提出了一種實時的魯棒增量主成分分析方法,它不僅可實時對數(shù)據(jù)進行降維,而且可提高降維的精度.
特征提取是模式識別及機器學習中很重要的一個部分.目前,線性特征提取方法已被廣泛用于文本分類和面部識別中[11].在工業(yè)大數(shù)據(jù)領域,線性特征提取主要應用于故障檢測、故障診斷及質量控制中.其中,PCA與LDA是兩種最廣泛的線性子空間學習方法,而線性判別分析主要關注點在小樣本問題[12],即當處理的數(shù)據(jù)集比較大時,類內散度矩陣會出現(xiàn)奇異值.因此,文中主要探討主成分分析.
1.1主成分分析
其中,W為最佳投影矩陣.主成分分析的目標便為在解空間Hp×k={W∈Rp×k,WTW=I}中最大化目標函數(shù)J(W).已經(jīng)證明W的列向量為協(xié)方差矩陣C的k個主特征向量.PCA算法將原始數(shù)據(jù)投影到一個k維(k×p)子空間中.新的低維特征向量可以表示為WTx.
PCA算法雖然可有效降低數(shù)據(jù)的維度,但仍存在以下幾個缺點:
(1)PCA對數(shù)據(jù)點中的異常值十分敏感,存在嚴重的魯棒性問題.
(2)PCA中的特征值分解過程計算復雜度高,時間消耗大,不利于進行在線分析.
(3)PCA是一種批處理算法,數(shù)據(jù)維度過高時,計算復雜度會過高,不能滿足很多實際問題的需求.
1.2可增量更新數(shù)據(jù)特征主成分分析算法
針對PCA算法不能實時處理數(shù)據(jù)的問題,文獻[5]以PCA為基礎,提出了CCIPCA算法.該算法避免了PCA中的協(xié)方差矩陣的特征值分解的同時,對新到達的數(shù)據(jù)進行增量計算,不需要重新掃描所有的數(shù)據(jù),因而減少了計算的復雜度,可用于在線數(shù)據(jù)流降維的處理.
假設數(shù)據(jù)流按樣本向量u(1),u(2),…,收集,向量可能無限大.每個u(n),n=1,2,…,是一個d維向量,其中,d可能為5 000,甚至更大.不失一般性,假設u(n)的均值為0.A={u(n)uT(n)},是一個d×d維的協(xié)方差矩陣,采用增量更新的方式計算協(xié)方差矩陣,即
令v(0)=v(1),即數(shù)據(jù)分布的第1個方向.對于增量估計,式(2)可寫成一種遞歸的形式為
其中,v=λx,為樣本協(xié)方差矩陣,特征向量和特征值可分別計算和來得到.上述方法得到的是第1階向量,第2階向量可通過第1階向量的投影得到,即
其中,u1(n)=u(n).在完備空間中,u2(n)被用作下一個迭代的輸入.
CCIPCA算法避免了協(xié)方差矩陣的特征值分解,極大減少了計算復雜度;同時,該算法具備快速收斂的特征,因而可對數(shù)據(jù)流進行實時降維.但同主成分分析一樣,該算法對數(shù)據(jù)流中的異常點十分敏感,導致降維精度受異常點影響較大,而實際工業(yè)大數(shù)據(jù)存在許多的異常點,因而該算法不適用于處理實際工業(yè)大數(shù)據(jù)問題.同時,考慮工業(yè)大數(shù)據(jù)的實時性要求,需要準確處理動態(tài)更新的實時數(shù)據(jù)流.因此,文中提出一種基于滑動窗口的魯棒增量主成分分析方法.
為提高增量主成分分析算法的魯棒性,必須去除數(shù)據(jù)流中離群點對算法造成的影響.利用滑動窗口獲取近期數(shù)據(jù),并對其進行離群點檢測,去除離群點.同時,可去除過期數(shù)據(jù)對算法造成的影響.
2.1利用反k近鄰法判別數(shù)據(jù)流離群點
數(shù)據(jù)流異常點檢測是數(shù)據(jù)流挖掘領域中的一個非常重要的工作.基于反k近鄰的數(shù)據(jù)流離群點算法利用滑動窗口更新當前數(shù)據(jù),實時檢測數(shù)據(jù)流的離群點[13].
假設數(shù)據(jù)流表示為〈u1,t1〉,〈u2,t2〉,…,其中,〈u,t〉是數(shù)據(jù)項的表示,u為數(shù)據(jù)流上的樣本數(shù)據(jù)點,t為該樣本點進入或流出滑動窗口的時間.假設滑動窗口的大小為w,在任意時間點tn,滑動窗口模型的查詢范圍為{umax(0,tn-w=1),…,un}.時間點max(0,tn-w+1)之前的數(shù)據(jù)為過期數(shù)據(jù),可忽略不計.文獻[14]關于離群點定性定義如下.
定義1 離群點是一個與其他點差別很大的觀測值,以至于懷疑它是由不同的機制產(chǎn)生的.
定義2 k-distance(p)為對任意自然數(shù)k,定義p的k距離為p和某個對象o之間的距離d(p,o),且o滿足:
至少存在k個對象o′∈D/{p},使d(p,o′)≤d(p,o);
至少存在k-1個對象o′∈D/{p},使d(p,o′)<d(p,o).
定義3 p的k距離鄰域Nk(p)為給定p的k-distance(p),p的k距離鄰域包含所有與p距離不超過k-distance(p)的對象.
定義4 p的反k近鄰NRNk(p)為把p當作k近鄰的對象的集合.表示集合的大小,即反k近鄰個數(shù),且
定義5 基于反k近鄰的離群點為當前窗口反k近鄰最小的m個對象作為本次查詢基于反k近鄰的離群點.
基于上述定義對CCIPCA算法進行修正,提出新的魯棒增量分析算法.
2.2魯棒增量主成分分析算法介紹
原始CCIPCA算法在所有的數(shù)據(jù)集上對協(xié)方差矩陣進行增量更新,然而設備狀態(tài)評估更多考慮的是其歷史數(shù)據(jù),對當前數(shù)據(jù)考慮不夠,不足以很好地表征當前設備狀態(tài).因此,文中以周期更新的滑動窗口對CCIPCA算法進行修改,更多地考慮近期獲取的數(shù)據(jù),并對獲取的數(shù)據(jù)進行離群點處理.
假設滑動窗口的大小為w,基本窗口大小為b,當前滑動窗口內的時間序列數(shù)據(jù)為u1,u2,…,uw,對應的協(xié)方差矩陣為,當新的基本窗口內b個數(shù)據(jù)到達時,滑動內數(shù)據(jù)更新為xb+1,…,xw,xw+1,…,xw+b,對應的協(xié)方差矩陣可表示為
由式(5)可以看出,滑動窗口內更新后的數(shù)據(jù)的協(xié)方差矩陣等于上一個窗口內數(shù)據(jù)的協(xié)方差矩陣加上一個增量,可避免重復掃描數(shù)據(jù)帶來的時間損耗,滿足在線實時分析的需求.
基于上述滑動窗口增量更新,結合反k近鄰離群點檢測,提出魯棒的增量主成分分析算法描述如下:
(1)初始化滑動窗口寬度w,用戶指定窗口內離群點數(shù)m,整數(shù)k,主特征向量數(shù)p.
(2)掃描一遍當前窗口內數(shù)據(jù),更新當前窗口受影響的k近鄰表與反k近鄰表,刪除最小的m個對象.
(4)利用式(4)計算下一階特征向量,直到特征向量數(shù)為p.
2.3時間與空間復雜度分析
當前窗口大小計為b,當前窗口內一個k近鄰對就著一個反k近鄰,協(xié)方差更新與數(shù)據(jù)量大小線性相關.因此,算法的空間開銷為O(N(2d+2k)).
文獻[11]證明反k近鄰的時間復雜度為O(b),RIPCA算法的復雜度與數(shù)據(jù)量和特征數(shù)量線性相關,因此,該算法的時間復雜度為O(b).
文中對RIPCA算法與CCIPCA算法在處理速度與處理精度上分別進行仿真實驗與比較,測試數(shù)據(jù)集為某半導體制造數(shù)據(jù),該數(shù)據(jù)集包含了1 567行記錄,每條記錄共590個特征,對數(shù)據(jù)集中的缺失值,用均值進行填充后,利用時間戳,將其仿真成一段實時的數(shù)據(jù)流,并將其應用于算法比較中.表1取其前10個記錄,前10個特征.
表1 部分實驗數(shù)據(jù)
文中算法利用python實現(xiàn),窗口大小設為500,k=15.對兩個算法分別重復10次取平均值,作為最后的運行結果,首先,對比各算法處理實時數(shù)據(jù)流的速度.分別將數(shù)據(jù)集降維成5~20個主成分,每個實驗重復10次,取其平均值作為各算法的處理時間,實驗流程如圖1所示,實驗結果如圖2所示.
由圖2可以得出,將數(shù)據(jù)降成維度15以內時,CCIPCA算法的處理速度要高于RIPCA算法的.將數(shù)據(jù)降成維度15后,魯棒增量主成分分析的處理速度變快.兩者的處理速度在10 ms左右,基本滿足數(shù)據(jù)流的處理要求.
圖1 算法運行時間對比實驗流程示意圖
圖2 算法運行時間對比示意圖
在數(shù)據(jù)集中添加10%的異常點以驗證算法的魯棒性,對數(shù)據(jù)分別進行降維處理,算法流程如圖3所示.
圖3 魯棒性對比分析流程示意圖
取k=5,窗口寬度(即窗口中樣本點個數(shù))對異常點的檢測率的影響如圖4所示.可以看出,隨著窗口寬度的增加,算法中異常檢測部分對異常點的檢測效果不斷提升,因此,可有效剔除異常點對主成分分析造成的影響.
表2 累積方差對比
可見,對數(shù)據(jù)進行異常處理后,在提取相同的主成分前提下,魯棒增量主成分分析RIPCA算法可獲得更高的累積方差貢獻率,更能反映原變量的信息,因而,提取的主成分更能代表原數(shù)據(jù)集特征.
圖4 k=5時,異常檢測結果示意圖
簡要介紹了一種常用線性特征提取方法即主成分分析,指出了該方法的計算復雜度與魯棒性問題. CCIPCA算法可解決數(shù)據(jù)流的實時性問題,但存在一定的噪聲敏感性,不適用于實際數(shù)據(jù)流的處理.因此,文中以CCIPCA算法為基礎,采用周期更新的滑動窗口,對當前窗口數(shù)據(jù)實現(xiàn)增量更新方式,并對當前窗口數(shù)據(jù)進行離群點檢測去除離群點,減少離群點對增量主成分分析的影響.實驗結果表明,該算法在滿足數(shù)據(jù)流實時性的同時,可有效對數(shù)據(jù)進行降維處理,并保證一定的精度.
[1]彭訓文.工業(yè)4.0:從自動生產(chǎn)到智能制造[J].大飛機,2014(7):40-42. PENG Xunwen.Industrie 4.0:From Automatic Production to Intelligent Manufacturing[J].Jetliner,2014(7):40-42.
[2]王曉慧.線性判別分析與主成分分析及其相關研究評述[J].中山大學研究生學刊(自然科學、醫(yī)學版),2007,28(4): 50-61. WANG Xiaohui.A Summary of LDA,PCA and Relative Work[J].Journal of the Graduates Sun Yat-Sen University (Natural Sciences,Medicine),2007,28(4):50-61.
[3]ROSIPAL R,KR?MER N.Overview and Recent Advances in Partial Least Squares[C]//Lecture Notes in Computer Science:3940.Birlin:Springer,2006:34-51.
[4]JOSEPH A A,TOKUMTO T,AZAWA S.Online Feature Extraction Based on Accelerated Kernel Principal Component Analysis for Data Stream[J].Evolving Systems,2015:1-13.
[5]WENG J Y,ZHANG Y L,HWANG W S.Candid Covariance-free Incremental Principal Component Analysis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(8):1034-1040.
[6]PANG S N,OZAWA S,KASABOV N.Incremental Linear Discriminant Analysis for Classification of Data Streams[J]. IEEE Transactions on Systems,Man,and Cybernetics-Part B:Cybernetics,2005,30(5):905-914.
[7]LIU L P,JIANG Y,ZHOU Z H.Least Square Incremental Linear Discriminant Analysis[C]//IEEE International Conference on Data Mining.Piscataway:IEEE,2009:298-306.
[8]LU G F,ZOU J,WANG Y.Incremental Learning of Complete Linear Discriminant Analysis for Face Recognition[J]. Knowledge-Based Systems,2012,31:19-27.
[9]CHU D,LIAO L Z,et al.Incremental Linear Discriminant Analysis:A Fast Algorithm and Comparisons[J].IEEE Transactions on Neural Networks and Learning Systems,2015,26(11):2716-2735.
[10]ZENG X Q,LI Z G.Incremental Partial Least Squares Analysis of Big Streaming Data[J].Pattern Recognition,2014,47(11):3726-3735.
[11]溫浩,盧朝陽,高鑫學.融合小波變換和張量PCA的人臉識別算法[J].西安電子科技大學學報,2009,36(4): 602-607. WEN Hao,LU Zhaoyang,GAO Xinxue.Face Recognition Algorithm Based on Wavelet Preprocessing and Tensor PCA [J].Journal of Xidian University,2009,36(4):602-607.
[12]SHARMA A K,PALIWAL K.Linear Discriminant Analysis for the Small Sample Size Problem:an Overview[J]. International Journal of Machine Learning and Cybernetics,2013,6(3):443-454.
[13]張忠平,梁永欣.基于反k近鄰的流數(shù)據(jù)離群點挖掘算法[J].計算機工程,2009,35(12):11-13. ZHANG Zhongping,LIANG Yongxin.Stream Data Outlier Mining Algorithm Based on Reverse k Nearest Neighbors [J].Computer Engineering,2009,35(12):11-13.
[14]HAWKINS D.Identification of Outliers[M].London:Chapman and Hal,1980:1-45.
(編輯:齊淑娟)
Real time feature extraction method for complex industrial big data
KONG Xianguang,ZHANG Xiong,MA Hongbo,CHANG Jiantao,NIU Meng
(Industrial Big Data Technology Research Center,Xidian Univ.,Xi’an 710071,China)
Industrial big data have the traits of big volume,multi-sources,continuous sampling and low value density,which results in high complexity,real-time and high abnormality.Traditional feature extraction methods cannot meet the real-time requirements of complex industrial big data.In addition,the processing method for industrial big data is different from the internet data stream processing method,which has a higher accuracy requirement.Therefore,this paper proposes a robust incremental on-line feature extraction method as the Robust Incremental Principal Component Analysis.It uses the sliding window to update new coming data dynamically and filter the abnormal data in windows,then the incremental principal component analysis is implemented on data in windows in order to meet the accuracy and real-time requirements of industrial big data processing.Experimental results show that the proposed method can effectively extract the data stream in real time with high accuracy.
industrial big data;real-time and robustness;sliding window;principal component analysis; outlier detection;feature extraction
TP391
A
1001-2400(2016)05-0070-05
10.3969/j.issn.1001-2400.2016.05.013
2015-08-13 網(wǎng)絡出版時間:2015-12-10
中央高?;究蒲袠I(yè)務費大數(shù)據(jù)群資助項目(BDY231423);國家自然科學基金資助項目(51505357);陜西省國際科技合作與交流計劃資助項目(2016-KW-048)
孔憲光(1974-),男,副教授,博士,E-mail:kongxg@vip.sina.com.
網(wǎng)絡出版地址:http://www.cnki.net/kcms/detail/61.1076.TN.20151210.1529.026.html