陳園瓊 孟玉佳 李智豪
關(guān)鍵詞:機(jī)器學(xué)習(xí);故障診斷;分布式系統(tǒng)
中圖分類號:TP181 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)03-0022-03
0 引言
大數(shù)據(jù)時代,分布式系統(tǒng)成為信息存儲和處理的主流系統(tǒng),Cassandra、MongoDB、HBase等系統(tǒng)應(yīng)運(yùn)而生,通過水平擴(kuò)展和分區(qū)存儲等技術(shù),滿足了大規(guī)模數(shù)據(jù)管理和訪問的需求。相對于傳統(tǒng)系統(tǒng)而言,分布式系統(tǒng)更為龐大和復(fù)雜,故障發(fā)生的平均概率比較高。因此,如何對分布式系統(tǒng)進(jìn)行高效、準(zhǔn)確的運(yùn)維,成為保障信息系統(tǒng)高效、可靠運(yùn)行的關(guān)鍵問題。
傳統(tǒng)的故障診斷是通過人工經(jīng)驗(yàn)來進(jìn)行檢測的, 需要耗費(fèi)巨大的人力和時間[1],無法應(yīng)對系統(tǒng)復(fù)雜性的問題。隨著機(jī)器學(xué)習(xí)技術(shù)的飛速發(fā)展,研究者們開始探索將機(jī)器學(xué)習(xí)引入故障診斷領(lǐng)域[2]。一些研究在單一節(jié)點(diǎn)[3]上取得了顯著成果,但在真實(shí)的分布式環(huán)境中,涉及的問題更為復(fù)雜。盡管有關(guān)分布式故障診斷的研究[4]正在逐漸增多,但仍然存在對大規(guī)模系統(tǒng)的有效建模、實(shí)時性要求和模型可解釋性等方面的挑戰(zhàn)。該系統(tǒng)的目標(biāo)是設(shè)計和實(shí)現(xiàn)一種基于機(jī)器學(xué)習(xí)的分布式的故障診斷系統(tǒng),并提供了對原始數(shù)據(jù)特征的預(yù)處理、特征提取和對故障的分類,以提高系統(tǒng)故障診斷的準(zhǔn)確性和實(shí)時性。
1 實(shí)驗(yàn)環(huán)境
1.1 數(shù)據(jù)來源
本研究所有的數(shù)據(jù)來自中國軟件杯設(shè)計大賽中的訓(xùn)練、驗(yàn)證和測試數(shù)據(jù)集(http://www.cnsoftbei.com/software/bstm/A/824.html) 。該訓(xùn)練數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集包含了分布式數(shù)據(jù)庫[5]的故障特征數(shù)據(jù)和標(biāo)簽數(shù)據(jù),其中特征數(shù)據(jù)是系統(tǒng)發(fā)生故障時的KPI 指標(biāo)數(shù)據(jù),KPI 指標(biāo)包括由feature0、feature1 ...feature106 共107個指標(biāo),標(biāo)簽數(shù)據(jù)為故障類別數(shù)據(jù),共6個類別,用0、1、2、3、4、5分別表示6個故障,其中0類別為正常類別,具體的故障部分?jǐn)?shù)據(jù)集信息見表1,而測試集是只有特征而沒有標(biāo)簽的數(shù)據(jù)集,用于預(yù)測故障的屬于哪個類別。
2 實(shí)驗(yàn)過程
2.1 數(shù)據(jù)處理
特征數(shù)據(jù)的預(yù)處理主要采取了機(jī)器學(xué)習(xí)中的數(shù)據(jù)清洗、歸一化、欠采樣和標(biāo)準(zhǔn)化處理等方法。
1) 針對特定列的缺失值進(jìn)行了數(shù)據(jù)清洗,并計算每列的眾數(shù),然后使用該列的眾數(shù)填充指定的列的缺失值,對整個數(shù)據(jù)集使用均值填充剩余的缺失值,并調(diào)整標(biāo)簽序列如表2所示,確保模型在訓(xùn)練過程中能夠充分利用可用的數(shù)據(jù)信息。
2) 通過歸一化處理確保數(shù)據(jù)在相同的尺度范圍內(nèi),避免某些特征對模型訓(xùn)練的影響過大。
3) 由于數(shù)據(jù)類別較為不平衡,這種數(shù)據(jù)分布可能在故障診斷的時候造成一定的影響,因此,根據(jù)欠擬合原理,用RandomUnderSampler對數(shù)據(jù)進(jìn)行欠采樣,以解決數(shù)據(jù)類別不平衡的問題,使得每個類別的樣本數(shù)量較為均衡。
4) 采用數(shù)據(jù)標(biāo)準(zhǔn)化的計算方法,通過應(yīng)用一個lambda函數(shù),對數(shù)值特征進(jìn)行標(biāo)準(zhǔn)化處理。將每個特征值減去其均值并除以標(biāo)準(zhǔn)差,公式如下:X* = x - μ/σ ,以使特征值的尺度更加一致,并將整個訓(xùn)練集以及驗(yàn)證集的數(shù)據(jù)都放入了一個文件里面,用這個文件來當(dāng)作訓(xùn)練集來訓(xùn)練。
2.2 基于XGBoost 算法的故障診斷系統(tǒng)
該系統(tǒng)基于中國軟件杯平臺給出的故障數(shù)據(jù)集,提出了一種基于XGBoost的故障診斷系統(tǒng),提供了對故障的分類。首先對原始的數(shù)據(jù)特征進(jìn)行預(yù)處理和特征提取,設(shè)計一個基礎(chǔ)的XGBoost模型,設(shè)置模型的參數(shù),對模型進(jìn)行訓(xùn)練,在訓(xùn)練過程中逐步對參數(shù)進(jìn)行優(yōu)化和泛化處理,最后生成故障診斷模型。該系統(tǒng)提出的基于XGBoost算法的故障診斷模型建模流程,如圖1所示。
故障診斷模型建立之后,結(jié)合系統(tǒng)平臺對模型進(jìn)行測試,該系統(tǒng)平臺實(shí)現(xiàn)了訓(xùn)練模型、驗(yàn)證模型、下載模型、模型添加和故障服務(wù)等多方面功能,通過平臺給出的測試集作為模型的新的數(shù)據(jù)集,實(shí)現(xiàn)故障的分類,得出分類結(jié)果,并進(jìn)行可視化展示。
3 結(jié)果與分析
3.1 預(yù)測結(jié)果
選取已經(jīng)預(yù)處理的驗(yàn)證集對XGBoost模型進(jìn)行驗(yàn)證,驗(yàn)證結(jié)果得出故障各個類別的F1_score值分別為0.93、0.84、0.85、0.94、0.97、0.95,該系統(tǒng)的集成學(xué)習(xí)模型 XGBoost 的預(yù)測準(zhǔn)確性高達(dá) 91%,預(yù)測結(jié)果的分類數(shù)據(jù)報告如表3所示。
其中,Precision(精確度)表示模型在每個類別中的預(yù)測準(zhǔn)確性,Recall(召回率)則衡量模型識別每個類別的能力。F1-score綜合了Precision 和Recall,提供了對模型整體性能的評估。支持度(Support) 代表每個類別在數(shù)據(jù)集中的實(shí)際樣本數(shù)量??傮w準(zhǔn)確度(Accuracy) 表示模型正確分類的樣本比例。Macro avg 對每個類別的指標(biāo)進(jìn)行算術(shù)平均,而Weighted avg則根據(jù)每個類別樣本量的權(quán)重進(jìn)行平均,提供了對整體性能更全面的評估。
3.2 對比分析
為了驗(yàn)證XGBoost模型的可行性和有效性,采取邏輯回歸算法和隨機(jī)森林算法[7]進(jìn)行對比實(shí)驗(yàn)。通過趨勢分析圖(如圖2)可以看出,XGBoost模型在數(shù)據(jù)集上的表現(xiàn)呈現(xiàn)出一種上升趨勢,而邏輯回歸和隨機(jī)森林模型的表現(xiàn)則相對較為波動。
經(jīng)過多次實(shí)驗(yàn),從表4中的結(jié)果可以得到,該系統(tǒng)的集成學(xué)習(xí)模型XGBoost 模型的預(yù)測準(zhǔn)確性高達(dá)91%,隨機(jī)森林(RandomForest) 模型和邏輯回歸(Logis?ticsRegression) 模型的預(yù)測準(zhǔn)確率分別為88%和80%,邏輯回歸模型在故障類別2中準(zhǔn)確率只有55%,而在XGBoost模型中準(zhǔn)確率達(dá)到了84%,其余故障類別也同樣得到了提升??傮w來看,XGBoost相較于邏輯回歸和隨機(jī)森林,呈現(xiàn)出更為一致且卓越的性能,特別在面對極端或難以分類的故障情形下表現(xiàn)更為出色。
4 結(jié)論
本研究采用XGBoost算法構(gòu)建了故障診斷系統(tǒng),該算法通過整合多個弱學(xué)習(xí)器,形成了一個強(qiáng)大的學(xué)習(xí)模型。通過對真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)和分析,驗(yàn)證了該系統(tǒng)的卓越性和可行性。實(shí)驗(yàn)結(jié)果表明,基于XGBoost 模型的故障診斷系統(tǒng)具有較高的準(zhǔn)確,能夠快速識別出異常數(shù)據(jù)和故障,并實(shí)現(xiàn)準(zhǔn)確的分類。接下來的研究將聚焦在人工智能對故障的診斷[8],以及特征工程、模型訓(xùn)練和參數(shù)優(yōu)化等方面,通過更精細(xì)的特征選擇、交叉驗(yàn)證、超參數(shù)調(diào)整等手段,可以使故障診斷模型更加準(zhǔn)確和穩(wěn)健,以適應(yīng)更多實(shí)際場景的應(yīng)用。
【通聯(lián)編輯:謝媛媛】