?

基于機器學習的分布式的故障診斷系統研究

2024-04-06 10:04陳園瓊孟玉佳李智豪
電腦知識與技術 2024年3期
關鍵詞:機器學習故障診斷

陳園瓊 孟玉佳 李智豪

關鍵詞:機器學習;故障診斷;分布式系統

中圖分類號:TP181 文獻標識碼:A

文章編號:1009-3044(2024)03-0022-03

0 引言

大數據時代,分布式系統成為信息存儲和處理的主流系統,Cassandra、MongoDB、HBase等系統應運而生,通過水平擴展和分區存儲等技術,滿足了大規模數據管理和訪問的需求。相對于傳統系統而言,分布式系統更為龐大和復雜,故障發生的平均概率比較高。因此,如何對分布式系統進行高效、準確的運維,成為保障信息系統高效、可靠運行的關鍵問題。

傳統的故障診斷是通過人工經驗來進行檢測的, 需要耗費巨大的人力和時間[1],無法應對系統復雜性的問題。隨著機器學習技術的飛速發展,研究者們開始探索將機器學習引入故障診斷領域[2]。一些研究在單一節點[3]上取得了顯著成果,但在真實的分布式環境中,涉及的問題更為復雜。盡管有關分布式故障診斷的研究[4]正在逐漸增多,但仍然存在對大規模系統的有效建模、實時性要求和模型可解釋性等方面的挑戰。該系統的目標是設計和實現一種基于機器學習的分布式的故障診斷系統,并提供了對原始數據特征的預處理、特征提取和對故障的分類,以提高系統故障診斷的準確性和實時性。

1 實驗環境

1.1 數據來源

本研究所有的數據來自中國軟件杯設計大賽中的訓練、驗證和測試數據集(http://www.cnsoftbei.com/software/bstm/A/824.html) 。該訓練數據集和驗證數據集包含了分布式數據庫[5]的故障特征數據和標簽數據,其中特征數據是系統發生故障時的KPI 指標數據,KPI 指標包括由feature0、feature1 ...feature106 共107個指標,標簽數據為故障類別數據,共6個類別,用0、1、2、3、4、5分別表示6個故障,其中0類別為正常類別,具體的故障部分數據集信息見表1,而測試集是只有特征而沒有標簽的數據集,用于預測故障的屬于哪個類別。

2 實驗過程

2.1 數據處理

特征數據的預處理主要采取了機器學習中的數據清洗、歸一化、欠采樣和標準化處理等方法。

1) 針對特定列的缺失值進行了數據清洗,并計算每列的眾數,然后使用該列的眾數填充指定的列的缺失值,對整個數據集使用均值填充剩余的缺失值,并調整標簽序列如表2所示,確保模型在訓練過程中能夠充分利用可用的數據信息。

2) 通過歸一化處理確保數據在相同的尺度范圍內,避免某些特征對模型訓練的影響過大。

3) 由于數據類別較為不平衡,這種數據分布可能在故障診斷的時候造成一定的影響,因此,根據欠擬合原理,用RandomUnderSampler對數據進行欠采樣,以解決數據類別不平衡的問題,使得每個類別的樣本數量較為均衡。

4) 采用數據標準化的計算方法,通過應用一個lambda函數,對數值特征進行標準化處理。將每個特征值減去其均值并除以標準差,公式如下:X* = x - μ/σ ,以使特征值的尺度更加一致,并將整個訓練集以及驗證集的數據都放入了一個文件里面,用這個文件來當作訓練集來訓練。

2.2 基于XGBoost 算法的故障診斷系統

該系統基于中國軟件杯平臺給出的故障數據集,提出了一種基于XGBoost的故障診斷系統,提供了對故障的分類。首先對原始的數據特征進行預處理和特征提取,設計一個基礎的XGBoost模型,設置模型的參數,對模型進行訓練,在訓練過程中逐步對參數進行優化和泛化處理,最后生成故障診斷模型。該系統提出的基于XGBoost算法的故障診斷模型建模流程,如圖1所示。

故障診斷模型建立之后,結合系統平臺對模型進行測試,該系統平臺實現了訓練模型、驗證模型、下載模型、模型添加和故障服務等多方面功能,通過平臺給出的測試集作為模型的新的數據集,實現故障的分類,得出分類結果,并進行可視化展示。

3 結果與分析

3.1 預測結果

選取已經預處理的驗證集對XGBoost模型進行驗證,驗證結果得出故障各個類別的F1_score值分別為0.93、0.84、0.85、0.94、0.97、0.95,該系統的集成學習模型 XGBoost 的預測準確性高達 91%,預測結果的分類數據報告如表3所示。

其中,Precision(精確度)表示模型在每個類別中的預測準確性,Recall(召回率)則衡量模型識別每個類別的能力。F1-score綜合了Precision 和Recall,提供了對模型整體性能的評估。支持度(Support) 代表每個類別在數據集中的實際樣本數量??傮w準確度(Accuracy) 表示模型正確分類的樣本比例。Macro avg 對每個類別的指標進行算術平均,而Weighted avg則根據每個類別樣本量的權重進行平均,提供了對整體性能更全面的評估。

3.2 對比分析

為了驗證XGBoost模型的可行性和有效性,采取邏輯回歸算法和隨機森林算法[7]進行對比實驗。通過趨勢分析圖(如圖2)可以看出,XGBoost模型在數據集上的表現呈現出一種上升趨勢,而邏輯回歸和隨機森林模型的表現則相對較為波動。

經過多次實驗,從表4中的結果可以得到,該系統的集成學習模型XGBoost 模型的預測準確性高達91%,隨機森林(RandomForest) 模型和邏輯回歸(Logis?ticsRegression) 模型的預測準確率分別為88%和80%,邏輯回歸模型在故障類別2中準確率只有55%,而在XGBoost模型中準確率達到了84%,其余故障類別也同樣得到了提升??傮w來看,XGBoost相較于邏輯回歸和隨機森林,呈現出更為一致且卓越的性能,特別在面對極端或難以分類的故障情形下表現更為出色。

4 結論

本研究采用XGBoost算法構建了故障診斷系統,該算法通過整合多個弱學習器,形成了一個強大的學習模型。通過對真實數據集的實驗和分析,驗證了該系統的卓越性和可行性。實驗結果表明,基于XGBoost 模型的故障診斷系統具有較高的準確,能夠快速識別出異常數據和故障,并實現準確的分類。接下來的研究將聚焦在人工智能對故障的診斷[8],以及特征工程、模型訓練和參數優化等方面,通過更精細的特征選擇、交叉驗證、超參數調整等手段,可以使故障診斷模型更加準確和穩健,以適應更多實際場景的應用。

【通聯編輯:謝媛媛】

猜你喜歡
機器學習故障診斷
凍干機常見故障診斷與維修
基于詞典與機器學習的中文微博情感分析
基于網絡搜索數據的平遙旅游客流量預測分析
基于量子萬有引力搜索的SVM自駕故障診斷
前綴字母為特征在維吾爾語文本情感分類中的研究
基于支持向量機的金融數據分析研究
機器學習理論在高中自主學習中的應用
因果圖定性分析法及其在故障診斷中的應用
基于LCD和排列熵的滾動軸承故障診斷
基于WPD-HHT的滾動軸承故障診斷
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合