鄒保平,戚偉強
(1.國網(wǎng)信通億力科技有限責(zé)任公司 福建 福州350001;2.國網(wǎng)浙江省電力有限公司信息通信分公司浙江 杭州310000)
基于改進Co-Forest的主機故障預(yù)警方法
鄒保平1,戚偉強2
(1.國網(wǎng)信通億力科技有限責(zé)任公司 福建 福州350001;2.國網(wǎng)浙江省電力有限公司信息通信分公司浙江 杭州310000)
針對數(shù)據(jù)中心中主機故障數(shù)據(jù)的標(biāo)記稀缺的問題,提出一種改進的Co-Forest方法,結(jié)合少量標(biāo)記和大量未標(biāo)記的IT運維數(shù)據(jù),實現(xiàn)硬件的故障預(yù)警。方法使用評估函數(shù)對Co-Forest算法的每輪訓(xùn)練需要加入的未標(biāo)記數(shù)據(jù)進行過濾,避免半監(jiān)督學(xué)習(xí)的性能惡化問題。對比實驗結(jié)果表明,相比只使用了標(biāo)記數(shù)據(jù)的分類模型和傳統(tǒng)Co-Forest,方法能顯著提高分類器的準(zhǔn)確度。
半監(jiān)督學(xué)習(xí);Co-Forest;評估函數(shù);故障預(yù)警;分類模型
隨著各行業(yè)信息化建設(shè)的發(fā)展,數(shù)據(jù)中心規(guī)模逐漸龐大,其內(nèi)部主機的軟硬件故障成為影響業(yè)務(wù)系統(tǒng)可靠性和可用性的關(guān)鍵因素。由關(guān)鍵節(jié)點的硬件損壞、信息系統(tǒng)漏洞、數(shù)據(jù)庫中斷、并發(fā)請求過大等導(dǎo)致的故障可能會使整個集群發(fā)生癱瘓。對數(shù)據(jù)中心的硬件設(shè)備、操作系統(tǒng)、數(shù)據(jù)庫和中間件等IT資源的故障運維由傳統(tǒng)分散的人工式巡查發(fā)展為集中統(tǒng)一的監(jiān)測。傳統(tǒng)的故障監(jiān)測方式比較簡單,即通過運維管理平臺對各軟硬件資源的性能指標(biāo) (如CPU利用率、內(nèi)存使用率、數(shù)據(jù)庫運行時長、IO數(shù)等)進行判斷,當(dāng)某個指標(biāo)超過閾值時就將該資源判定為異常,并發(fā)出告警。但是,該方法有3個缺點:1)閾值需要運維專家根據(jù)經(jīng)驗設(shè)置;2)未挖掘各資源各指標(biāo)間的關(guān)聯(lián)關(guān)系;3)經(jīng)常在故障出現(xiàn)后才能捕捉指標(biāo)異常。采用機器學(xué)習(xí)對海量的運維數(shù)據(jù)進行分析,能夠智能地、及時地實現(xiàn)故障預(yù)測,克服以上問題,保證業(yè)務(wù)正常運行[1]。
傳統(tǒng)的監(jiān)督學(xué)習(xí)方法是在有限的標(biāo)記樣本集上進行訓(xùn)練來得到分類模型,這需要專家判斷大量樣本的類型并人工標(biāo)記。在數(shù)據(jù)中心的IT運維中,主機故障數(shù)據(jù)的標(biāo)記過程極為耗時耗力,標(biāo)記數(shù)據(jù)的稀缺性為提高故障分類的準(zhǔn)確性造成了阻礙。半監(jiān)督學(xué)習(xí)[2]是將標(biāo)記樣本與未標(biāo)記樣本合并起來進行訓(xùn)練,以期望在少量標(biāo)記的基礎(chǔ)上,改善模型的泛化能力。較為常用的半監(jiān)督學(xué)習(xí)方法包括協(xié)同訓(xùn)練(Co-Training)[3]、 轉(zhuǎn)導(dǎo)支持向量機(Transductive Support Vector Machine,TSVM)[4]、基于圖論的方法[5]等。協(xié)同訓(xùn)練方法比較簡單且運行效率高,文中使用它來解決主機故障分類問題。
然而,故障分類具有一定的特殊性:1)IT運維數(shù)據(jù)量大,這是因為數(shù)據(jù)中心的資源規(guī)模龐大,且性能數(shù)據(jù)的采集頻度高;2)特征維度高,各軟硬件資源需要采集的指標(biāo)種類繁多,且資源的指標(biāo)之間的關(guān)系復(fù)雜;3)類別比例不平衡,故障數(shù)據(jù)相比正常數(shù)據(jù)少得多。在有限樣本上訓(xùn)練得到的故障分類器通常就具有較強的擬合度和較高的準(zhǔn)確度(80%以上)。傳統(tǒng)的協(xié)同訓(xùn)練算法,如Co-Training[6]、Tri-Training[7]、Co-Forest[8]等在擴充訓(xùn)練集時使用可信度評估無標(biāo)記樣本,而未考慮樣本的“質(zhì)量”,使其難以顯著地改善這種強擬合的分類器。本文認為改進這種分類器的關(guān)鍵不在于新加入樣本的數(shù)量,而在于其是否能改進分類器的決策邊界。此外,分類錯誤的噪聲數(shù)據(jù)反而會導(dǎo)致性能惡化。故本文基于Co-Forest算法,使用評估函數(shù)對無標(biāo)記樣本進行過濾,篩選出少量靠近決策邊界(高信息量)的數(shù)據(jù),同時使用半監(jiān)督學(xué)習(xí)所依賴的假設(shè)懲罰值以避免加入噪聲點和離群點。
Co-Forest算法的本質(zhì)是將協(xié)同訓(xùn)練與集成學(xué)習(xí)結(jié)合。其中,集成學(xué)習(xí)是對多個子分類器進行訓(xùn)練,并且通過對每個分類器引入隨機性,使它們具有不同的決策邊界,最終的分類結(jié)果是通過各子分類器的投票決定。相比單分類器,組合分類器能夠改進準(zhǔn)確度,但其前提條件在于:1)每個子分類器都是弱分類器;2)各個子分類器之間的差異性足夠大。產(chǎn)生差異性方法包括:對訓(xùn)練樣本集的隨機化 (如Bagging[9]和AdaBoost[10],每個分類器只基于部分樣本進行訓(xùn)練)、對特征集合(如Random Subspace[11],每個分類器只基于特征子集進行訓(xùn)練)的隨機化、以及上述兩種方式的結(jié)合 (如Random Forest[12]、Bagging &Random Subspace[13])。
而協(xié)同訓(xùn)練則是基于標(biāo)記數(shù)據(jù)建立分類器,使用模型對無標(biāo)記數(shù)據(jù)進行標(biāo)記,并將高可信度的偽標(biāo)記數(shù)據(jù)加入用于擴充訓(xùn)練集。其難點在于在每輪迭代時對可信度的評估、最早的Co-Training只使用兩個分類器,這需要使用復(fù)雜的十折交叉法計算可信度。Tri-Training使用三個分類器投票來方便地評價樣本可信度。Co-Forest則擴展了Tri-Training,使用Random Forest作為基分類器。該算法使得即使在任意兩個子分類器的訓(xùn)練集相似的情況下,也能通過特征隨機化使它們之間具有差異性,并且使子分類器在每輪迭代中都保持差異性。對于某個子分類器,使用其余多個子分類器的投票數(shù)來衡量可信度,提高了新樣本偽標(biāo)記的準(zhǔn)確率。
2.1 評估函數(shù)
Co-Forest在每輪迭代中未對無標(biāo)記樣本進行過濾,這樣會加入大量無效數(shù)據(jù)。它們既無法改善分類能力,反而增加了算法運行時間。根據(jù)文獻[14-15]的結(jié)論,對分類器改進效果明顯的是那些靠近決策邊界的樣本,即對于當(dāng)前分類器分歧較大的樣本。它們具有較大的信息量,能夠盡可能地縮小假設(shè)空間。評估函數(shù)的一個重要作用是將這些高“質(zhì)量”的樣本篩選出來,使得Co-Forest能夠快速地收斂。
假定無標(biāo)記樣本集為U,包含n個樣本為x1,x2,…,xn;標(biāo)記樣本集為L,包含m個樣本為z1,z2,…,zm;標(biāo)記類別集合為Q,包含q個類別為y1,y2,…,yq。
某個無標(biāo)記數(shù)據(jù)x的信息量為:

其中Con(x,y)表示組合分類器C(包含N個子分類器)對x的標(biāo)記分類為y的可信度:

假定C中的某個子分類器Ck的分類結(jié)果為Ck(x),其權(quán)值為wk,則

另一方面,分類器對高信息度樣本的分類能力也較差,對其進行標(biāo)記往往很容易出錯,產(chǎn)生的噪聲點會在每一輪訓(xùn)練過程中將錯誤累積,從而惡化分類器的性能。文中考慮半監(jiān)督學(xué)習(xí)的兩個基本假設(shè)[2]:
1)平滑假設(shè)。在多維空間中,處于密集區(qū)域的任意兩個距離相近樣本點應(yīng)大概率具有相同的標(biāo)記類別;處于稀疏區(qū)域的兩個樣本應(yīng)具有不同的標(biāo)記類別。
2)聚類假設(shè)。處于相同聚類簇內(nèi)的任意兩個樣本應(yīng)大概率具有相同的標(biāo)記類別。
文中對噪聲樣本的解決方案是,基于上述假設(shè)引入樣本的不一致罰值 (Inconsistent Penalty,IP)[16]來盡量過濾可能由當(dāng)前分類器誤判而產(chǎn)生的噪聲點。為了避免不同屬性取值區(qū)間的不同而使樣本鄰近度的計算產(chǎn)生偏差,需要先將各個特征值歸一化。然后,將所有樣本映射為多維空間中的點,并使用距離函數(shù)度量任意兩點間的鄰近度。對于一個無標(biāo)記樣本x,與任意一個樣本點z的不一致罰值用它們對各個類別的可信度差值來度量,且罰值與兩點間距離成反比,定義為

令dx,z表示x和z的距離,權(quán)值wx,z表示為

x的總罰值由已標(biāo)記集合L中與其最鄰近的k個點計算而得

最后,對于無標(biāo)記樣本集中的離群點,分類器不具有很好的泛化能力。雖然它們可能具有較大的信息量,但由于與標(biāo)記樣本的整體距離較大,會使得不一致罰值很小。這些孤立點的加入會極大可能引入噪聲,需要使用距離罰值(Distance Penalty,DP)來過濾它們:

綜合(1)、(6)、(7)式,對x的評估函數(shù)定義為

2.2 改進的Co-Forest算法流程描述
令初始標(biāo)記樣本集為L,初始無標(biāo)記樣本集為U;評估閾值為F,總輪數(shù)為T;集成分類器為H,子分類器個數(shù)為N,其中第i個子分類器為hi,其在第t輪擁有的標(biāo)記樣本集為Li,t,擁有的無標(biāo)記樣本集為Ui,t,另外N-1個子分類器組成的集成分類器為Hi。算法流程描述如表1所示。

表1 改進的Co-Forest算法流程
3.1 實驗環(huán)境搭建與數(shù)據(jù)獲取
文中實驗數(shù)據(jù)來源于福建省電力數(shù)據(jù)中心,使用國家電網(wǎng)已有的數(shù)據(jù)采集平臺對集群內(nèi)主機系統(tǒng)的性能指標(biāo)進行采集和入庫。采集的軟硬件目標(biāo)資源包括硬件、操作系統(tǒng) (Windows、Linux)、數(shù)據(jù)庫(Oracle、DB2、Sql Server)、中間件(Tomcat、Weblogic)和信息系統(tǒng)五大類。樣本的特征集是從指標(biāo)集中篩選出與故障相關(guān)的部分,共計51個特征,各類資源的特征明細如表2所示。標(biāo)記類別包括正常與故障,其中故障數(shù)據(jù)細分為5類,分別對應(yīng)各類資源的故障。不同種類資源的特征以及故障之間存在著相互聯(lián)系 (如操作系統(tǒng)的存儲空間超負荷導(dǎo)致信息系統(tǒng)崩潰),因此將所有特征集合為一個分類問題。

表2 各類資源的特征
實驗樣本集是通過對10臺web服務(wù)器在一個月內(nèi)的定期監(jiān)測數(shù)據(jù)抽取獲得。在客戶端隨機使用正常訪問、安全攻擊和壓力測試等方式訪問服務(wù)器,并去除各屬性值都較為接近的重復(fù)正常樣本,以適當(dāng)提高各類故障的樣本所占比例??偣蔡崛?6427條,不同標(biāo)記的樣本比例如表3所示。分類器需要識別監(jiān)測數(shù)據(jù)是否正常,如果是故障數(shù)據(jù)還需要辨別是由哪類資源引起的故障。

表3 各類標(biāo)記的樣本比例
將其中50%作為訓(xùn)練樣本,50%作為測試樣本。每組實驗結(jié)果使用不同的標(biāo)記比例,并通過10次算法訓(xùn)練得到,每次訓(xùn)練對各類樣本分別進行隨機采樣,防止類別比例失衡。使用分類錯誤率來評價模型的性能。實驗對Random Forest、Co-Forest(CF)與改進的Co-Forest(Improved Co-Forest,ICF)進行比較。文中算法的參數(shù)設(shè)置為:α=3.6,β=3.6,F(xiàn)=0.8,k=8。算法集成分類器個數(shù)均為40,子分類器的算法為C45決策樹。
3.2 算法對比結(jié)果分析
圖1、2、3分別給出3種算法在標(biāo)記比例為5%、10%、20%時的分類錯誤率。

圖1 標(biāo)記比例為5%

圖2 標(biāo)記比例為10%

圖3 標(biāo)記比例為20%
結(jié)果表明,在不同標(biāo)記比例的情況下,CF與ICF均能通過挖掘無標(biāo)記樣本的價值,在每輪訓(xùn)練中加入無標(biāo)記數(shù)據(jù)及其偽標(biāo)記,以擴大訓(xùn)練樣本集合,從而降低Random Forest的錯誤率。當(dāng)標(biāo)記比例為5%時,ICF的結(jié)果錯誤率(10.9%)優(yōu)于標(biāo)記比例為10%時的Random Forest(13.1%),表明當(dāng)達到相同分類性能的情況下,ICF能夠節(jié)省一倍的人工標(biāo)記量。此外,ICF的結(jié)果在訓(xùn)練輪數(shù)很小時 (一般小于4),就能快速收斂,且迭代后的分類能力明顯優(yōu)于CF。表4統(tǒng)計了二者相較初始分類器Random Forest的錯誤率改進幅度、二者的算法運行時長以及最終標(biāo)記樣本量(訓(xùn)練結(jié)束后,各子分類器的標(biāo)記樣本平均數(shù)量)。

表4 CF與ICF的改進幅度
ICF的改進幅度優(yōu)于CF的原因在于其通過評估函數(shù)給予噪聲樣本和離群樣本一定的罰值,提高新加入樣本的偽標(biāo)記可信度。表4說明,ICF通過篩選位于決策邊界的高信息量樣本,達到快速收斂的效果,算法效率優(yōu)于CF。由于在第一輪的監(jiān)督學(xué)習(xí)訓(xùn)練中,獲得的Random Forest分類器為強擬合模型,從而使得CF在每一輪迭代中會加入大量遠離決策邊界并位于聚類簇內(nèi)部的無標(biāo)記樣本。這些樣本雖然具有高可信度的偽標(biāo)記,但難以優(yōu)化模型的泛化能力,還會增加算法運行時間。此外,CF的改進幅度隨著標(biāo)記比例提高而降低,這也說明當(dāng)初始分類器的擬合度越強時(準(zhǔn)確度越高),無標(biāo)記樣本越難以使之改善。但是,ICF的效果則與標(biāo)記比例無關(guān),這表明算法具有穩(wěn)定性。
文中對數(shù)據(jù)中心主機的故障預(yù)警分類問題進行了研究,對與各類資源故障關(guān)聯(lián)的指標(biāo)進行了篩選。針對運維數(shù)據(jù)的標(biāo)記難以獲得的問題,使用半監(jiān)督學(xué)習(xí)中的協(xié)同訓(xùn)練方法,將少量標(biāo)記樣本和大量無標(biāo)記樣本結(jié)合,降低故障分類的錯誤率。具體地,本文分析了故障分類時的強擬合分類器難以改善問題,提出一種改進的Co-Forest方法。通過建立評估函數(shù),方法在Co-Forest訓(xùn)練的每一輪,篩選出能有效改善分類能力的高信息度樣本,加速算法迭代。同時,設(shè)置不一致罰值和距離罰值用于過濾可能的噪聲點和離群點,避免分類性能惡化。通過對比實驗表明評估函數(shù)在Co-Forest算法中應(yīng)用的有效性。
[1]Yuan S F,Chu F L.Support vector machines-based fault diagnosis for turbo-pump rotor[J].Mechanical Systems&Signal Processing,2006,20(4):939-952.
[2]劉建偉,劉媛,羅雄麟.半監(jiān)督學(xué)習(xí)方法[J].計算機學(xué)報,2015(8):1592-1617.
[3]Blum A,Mitchell T.Combining Labeled and Unlabeled Data with Co-Training[C]//In COLT:Proceedings of the Workshop on Computational Learning Theory.1998:92-100.
[4]Joachims T.Transductive Inference for Text Classification using Support Vector Machines[C]//Sixteenth International Conference on Machine Learning.Morgan Kaufmann Publishers Inc.,1999:200-209.
[5]Blum A,Chawla S.Learning from Labeled and Unlabeled Data using Graph Mincuts[C]//Proceedings oftheEighteenthInternationalConferenceonMachine Learning.Morgan Kaufmann Publishers Inc.,2001:19-26.
[6]Zhang Y,Wen J,Wang X,et al.Semi-supervised learning combining co-training with active learning [J].Expert Systems with Applications,2014,41(5):2372-2378.
[7]Zhou Z H,Li M.Tri-training:exploiting unlabeled data using three classifiers[J].IEEE Transactions on Knowledge&Data Engineering,2005,17(11):1529-1541.
[8]Li M,Zhou Z H.Improve Computer-Aided Diagnosis With Machine Learning Techniques Using Undiagnosed Samples[J].Systems Man&Cybernetics Part A Systems&Humans IEEE Transactions on,2007,37(6):1088-1098.
[9]Breiman L,Breiman L.Bagging predictors"Machine Learning[J].Lecturenotes in Computer Science Ai,1996,volume 20(1-2):35-61(27).
[10]Kim S Y,Upneja A.Predicting restaurant financial distress using decision tree and AdaBoosted decision tree models [J].Economic Modelling,2014,36(1):354-362.
[11]Li H,Wen G,Yu Z,et al.Random subspace evidence classifier[J].Neurocomputing,2013,110(8):62-69.
[12]Mogensen U B,Gerds T A.A random forest approach for competing risks based on pseudo-values[J].Statistics in Medicine,2013,32(18):3102-3114.
[13]Panov P,D eroski S.Combining Bagging and Random Subspaces to Create Better Ensembles[M] //Advances in Intelligent Data Analysis VII.Springer Berlin Heidelberg,2007:118-129.
[14]FreundY,SeungHS,ShamirE,etal.SelectiveSampling Using the Query by Committee Algorithm[J].MachineLearning,2001,volume28(2-3):133-168(36).
[15]Abe N,Mamitsuka H.Query Learning Strategies Using Boosting and Bagging.[C]//Proceedings of the Fifteenth International Conference on Machine Learning.Morgan Kaufmann Publishers Inc.,1998:1-9.
[16]Belkin M,Niyogi P,Sindhwani V.Manifold Regularization:A Geometric Framework for Lear-ning from Labeled and Unlabeled Examples.[J].Journal ofMachineLearningResearch,2006,7(3):2399-2434.
Fault alarming method for host hardware based on improved Co-Forest
ZOU Bao-ping1,QI Wei-qiang2
(1.State Grid Info-Telecom Great Power Science and Technology Co.,LTD,F(xiàn)uzhou 350001,China;2.Information Communication Branch of(State Grid)Zhejiang Electric Power Co.,Ltd,Zhejiang 310000,China)
Aiming at the problem of sparse labeled data of host faults in data centers,we present an improved co-forest method,combining a few labeled data and mass of unlabeled data,to achieve hardware fault alarming.The method adopts an evaluating function to filter the unlabeled data which need to be joined at each iteration of Co-Forest algorithm,and to avoid the performance degradation of semi-supervised learning.The comparative experiments show that our method can improve the accuracy of the classifier markedly comparing with the classification model which only uses labeled data and the traditional co-forest.
semi-supervised learning;Co-Forest;evaluating function;fault alarming;classification models
TN78
:A
:1674-6236(2017)05-0065-05
2016-03-17稿件編號:201603216
鄒保平(1971—),男,福建龍巖人,高級工程師。研究方向:數(shù)據(jù)中心,大數(shù)據(jù)。