周樹平
(蘭州煤礦設計研究院有限公司,甘肅 蘭州 730000)
在對機器學習模型進行優(yōu)化之前需要先對其參數(shù)進行確定。目前,國內外學者針對不同類型的機器學習算法都有相應的研究成果,但是這些研究大多是通過建立一個通用的模型來實現(xiàn)預測功能,并未考慮到具體的應用場景。因此本文提出了一種新的機器學習模型(Next-classifier),該模型可以根據(jù)歷史數(shù)據(jù)和當前數(shù)據(jù)自動地調整模型參數(shù),從而使得模型具有較強的泛化能力。 傳統(tǒng)機器學習算法中存在大量不適合于特定領域使用的特征,如SVM 等;此外,由于每個測試集都會包含多個訓練樣本以及少量測試樣本,導致訓練樣本數(shù)目過多而無法滿足實際應用需求。為了解決上述問題,采用了一種改進的粒子群算法作為分類器,以便能夠有效降低訓練樣本的規(guī)模,提高模型性能。
煤礦機械設備狀態(tài)監(jiān)測系統(tǒng)的設計主要分成硬件部分和軟件部分。其中,硬件部分包括傳感器、數(shù)據(jù)采集設備和通信設備;軟件部分包括數(shù)據(jù)處理與分析軟件和監(jiān)測系統(tǒng)界面。
傳感器:用于采集機械設備的各種參數(shù),如振動、溫度、壓力、電流等。常用的傳感器有振動傳感器、溫度傳感器、壓力傳感器、電流傳感器等。
數(shù)據(jù)采集設備:如圖1,用于將傳感器采集到的數(shù)據(jù)進行采集和處理,將其轉化為數(shù)字信號,并進行存儲和傳輸。常用的數(shù)據(jù)采集設備有數(shù)據(jù)采集卡、數(shù)據(jù)采集模塊等。
圖1 礦井提升設備狀態(tài)監(jiān)測系統(tǒng)功能設計流程
通信設備:用于將采集到的數(shù)據(jù)傳輸?shù)奖O(jiān)測系統(tǒng)中進行處理和分析。常用的通信設備有以太網、無線通信模塊等。
數(shù)據(jù)處理與分析軟件:用于對采集到的數(shù)據(jù)進行處理和分析,提取有用的信息,并進行故障診斷和預測。常用的數(shù)據(jù)處理與分析軟件有MATLAB、Lab-VIEW 等。
監(jiān)測系統(tǒng)界面:用于顯示監(jiān)測到的機械設備狀態(tài)信息,提供實時監(jiān)測和報警功能。常用的監(jiān)測系統(tǒng)界面有人機界面、Web 界面等。
以上是煤礦機械設備狀態(tài)監(jiān)測系統(tǒng)設計的主要部分,通過這些部分的協(xié)同工作,可以實現(xiàn)對機械設備狀態(tài)的實時監(jiān)測和預測,提高煤礦生產的安全性和效率。系統(tǒng)總體結構設計主要分為硬件部分設計、軟件系統(tǒng)設計、數(shù)據(jù)庫管理子系統(tǒng)設計、信息查詢模塊以及數(shù)據(jù)分析及顯示設計等部分,各部分功能如下文所介紹。
如圖2 所示,煤礦機械設備狀態(tài)監(jiān)測系統(tǒng)的硬件平臺搭建主要包括傳感器的選擇和安裝、數(shù)據(jù)采集設備的選擇和配置、通信設備的選擇和配置。
圖2 硬件平臺
(1)傳感器選擇和安裝:根據(jù)監(jiān)測需求,選擇適合的傳感器,如振動傳感器、溫度傳感器、壓力傳感器、電流傳感器等。傳感器的選擇要考慮其測量范圍、精度、穩(wěn)定性等因素。安裝傳感器時要注意選擇合適的位置和固定方式,確保傳感器能夠準確地采集到機械設備的狀態(tài)參數(shù)。
(2)數(shù)據(jù)采集設備選擇和配置:根據(jù)傳感器的類型和數(shù)量,選擇合適的數(shù)據(jù)采集設備,如數(shù)據(jù)采集卡、數(shù)據(jù)采集模塊等。數(shù)據(jù)采集設備的選擇要考慮其采樣率、分辨率、接口類型等因素。配置數(shù)據(jù)采集設備時要根據(jù)傳感器的接口類型進行連接和設置,確保數(shù)據(jù)能夠準確地采集和傳輸。
(3)通信設備選擇和配置:根據(jù)監(jiān)測系統(tǒng)的要求,選擇合適的通信設備,如以太網、無線通信模塊等。通信設備的選擇要考慮其傳輸速率、傳輸距離、穩(wěn)定性等因素。配置通信設備時要根據(jù)監(jiān)測系統(tǒng)的通信協(xié)議進行設置,確保數(shù)據(jù)能夠穩(wěn)定地傳輸?shù)奖O(jiān)測系統(tǒng)中。
在搭建硬件平臺時,還需要考慮供電和防護措施。傳感器、數(shù)據(jù)采集設備和通信設備都需要穩(wěn)定的供電,可以選擇適合的電源和電纜進行供電。此外,還需要考慮防護措施,如防水、防塵、防爆等,以確保硬件設備在惡劣的煤礦環(huán)境中能夠正常工作。
在本系統(tǒng)中,主要使用C#語言進行編程,具體而言,主要涉及的內容:通訊協(xié)議的設計、數(shù)據(jù)庫的構建、界面的創(chuàng)建以及數(shù)據(jù)的讀寫操作。
對采集到的數(shù)據(jù)進行分析處理后,可以得到設備在不同工況下的健康狀況。通過對數(shù)據(jù)進行分析、計算和預測等步驟,可為維修人員提供有價值的信息,并且根據(jù)這些結果來制定合理的維修計劃。利用該模型還能夠實現(xiàn)對設備運行過程的監(jiān)控與管理,從而提高了設備運行效率。以某煤礦機電設備為研究對象,采用XGBoost 算法構建了煤礦機電設備狀態(tài)檢測預警系統(tǒng),其具體步驟如下所述。
(1)建立訓練集:將XGBoost 算法應用于煤礦機械故障分類問題時,需要確定合適的初始參數(shù)值。通常情況下,XGBoost 算法會以一定概率隨機選擇一個初始參數(shù)值作為初始化參數(shù),然后按照這個參數(shù)進行訓練,直到獲得最優(yōu)的分類效果。因此,本次實驗中選用的初始參數(shù)是XGrids_training_collection.XGBoost.samples.length=100。
(2)劃分訓練集并計算各類樣本數(shù)量、每種故障類型對應的特征數(shù)和平均準確率等信息,以便得到最終的分類結果。在此基礎上,對模型進行驗證與調整。為了避免出現(xiàn)過擬合現(xiàn)象,應當根據(jù)實際運行環(huán)境以及數(shù)據(jù)分布特點合理設置模型參數(shù),使得預測結果更加貼近真實情況,從而提高模型泛化性能。
XGBoost 是一種基于梯度提升決策樹的機器學習算法,具有高效、準確的特點。它通過迭代的方式不斷優(yōu)化模型,能夠處理大規(guī)模數(shù)據(jù)集和高維特征。相比傳統(tǒng)的決策樹算法,XGBoost 算法具有更好的泛化能力,且不需要手動指定特征的重要性級。
XGBoost 算法的流程包括數(shù)據(jù)準備、模型訓練和模型預測3 個步驟[1,2]。首先,需要對監(jiān)測數(shù)據(jù)進行預處理,包括數(shù)據(jù)清洗、特征提取等。然后,使用訓練數(shù)據(jù)集進行模型訓練,通過優(yōu)化損失函數(shù)來提高模型的準確性。最后,使用訓練好的模型對新的數(shù)據(jù)進行預測。
XGBoost 的迭代模型有兩種,一種是線性模型,另一種是基于樹的模型,因為基于樹的模型性能遠好于線性模型,這里僅討論基于樹的模型。使用基于Python 語言的“XGBoost”算法包來構建XGBoost 分類模型,集成學習模型相對于SVM 來說需要調節(jié)的超參較多,對模型性能影響較大的參數(shù)見表1。
表1 XGBoost 分類模型參數(shù)
在訓練模型初期需要根據(jù)具體問題來選擇目標函數(shù),對于回歸和二分類問題目標函數(shù)一般使用線性回歸或者邏輯斯蒂回歸,對于多分類問題可以選擇使用softmax 函數(shù)。在輸出預測結果的時候還可以根據(jù)需要輸出預測類標的概率。“min child weight”代表最小葉子節(jié)點權重和,當新分裂的節(jié)點的樣本權重和小于這個值時就會停止分裂,這個參數(shù)可以用來抑制過擬合,但這個值也不能過低,不然會導致模型欠擬合;“max depth”參數(shù)被用于限制樹的最大深度,進而控制樹模型的復雜程度;增大“reg alpha”的值可以使模型更加收斂;“reg lambda”這個參數(shù)用于控制XGBoost 模型的正則化部分。
使用該方法進行優(yōu)化后可得XGBoost 模型的各參數(shù)為:objective=-"reg:logistic",n estimators=2000,max depth=3,min_child_weight=1,learning rate=0.1,subsample-0.9,colsample bytree=0.8,gamma=0,reg alpha=0,reg lambda=1.XGBoost 分類器在測試集上的測試結果見表2,優(yōu)化后模型ROC 曲線如圖3 所示。可以注意到XGBoost 模型的目標函數(shù)是logistics 回歸,在得出概率值后通過設置閾值將概率值轉換為類別預測,這是因為在實驗中發(fā)現(xiàn)這個回歸型的目標函數(shù)相較于分類型目標函數(shù)能獲得更好的效果。
表2 XGBoost 分類器性能
圖3 XGBoost 受試者工作特征曲線
基于XGBoost 的煤礦機械設備狀態(tài)監(jiān)測模型參數(shù)優(yōu)化是指對XGBoost 模型中的參數(shù)進行調整和優(yōu)化,以提高模型的性能和準確度[3]。在煤礦機械設備狀態(tài)監(jiān)測模型中,XGBoost 是一種常用的機器學習算法,它通過集成多個決策樹模型來進行預測和分類。XGBoost 模型中有許多參數(shù)可以調整,包括樹的數(shù)量、樹的深度、學習率、正則化參數(shù)等。參數(shù)優(yōu)化的目標是找到最佳的參數(shù)組合,使得模型在訓練集和測試集上的性能達到最優(yōu)。常用的參數(shù)優(yōu)化方法包括網格搜索、隨機搜索、貝葉斯優(yōu)化等。在進行參數(shù)優(yōu)化時,需要先確定優(yōu)化的目標,如最小化損失函數(shù)、最大化準確率等。然后根據(jù)目標選擇合適的評估指標,如均方誤差、準確率、召回率等。接下來,可以使用不同的參數(shù)組合進行模型訓練,并根據(jù)評估指標的結果選擇最佳的參數(shù)組合??梢允褂媒徊骝炞C的方法來評估模型的性能,將數(shù)據(jù)集劃分為訓練集和驗證集,多次訓練模型并計算評估指標的平均值。最后,根據(jù)參數(shù)優(yōu)化的結果,可以得到最佳的參數(shù)組合,并使用該參數(shù)組合來訓練最終的煤礦機械設備狀態(tài)監(jiān)測模型。通過參數(shù)優(yōu)化,可以提高模型的性能和準確度,從而更好地監(jiān)測和預測煤礦機械設備的狀態(tài)。隨機森林算法中的決策樹必須足夠深才能達到較好的預測效果。同時,在建模的過程中,還需要考慮如何平衡好決策樹的復雜度和準確性之間的關系。優(yōu)化基于XGBoost 的煤礦機械設備狀態(tài)監(jiān)測模型的參數(shù)可以通過以下步驟進行:
(1)數(shù)據(jù)預處理:首先,對原始數(shù)據(jù)進行清洗和預處理,包括缺失值處理、異常值處理、數(shù)據(jù)平滑等。這樣可以提高模型的穩(wěn)定性和準確性。
(2)特征選擇:通過特征選擇方法,選擇對目標變量有較強預測能力的特征。常用的特征選擇方法包括相關系數(shù)分析、方差分析、互信息等。
(3)參數(shù)調優(yōu):使用交叉驗證的方法,通過網格搜索或隨機搜索等方式,對XGBoost 模型的參數(shù)進行調優(yōu)。常見的參數(shù)包括學習率(learning rate)、樹的深度(max_depth)、子樣本比例(subsample)等。
(4)模型評估:使用合適的評估指標(如準確率、召回率、F1 值等)對優(yōu)化后的模型進行評估。可以使用交叉驗證的方法來評估模型的穩(wěn)定性和泛化能力。
(1)對歷史數(shù)據(jù)集進行預處理。在訓練過程中需要將原始數(shù)據(jù)集中的所有數(shù)據(jù)進行歸一化處理,并根據(jù)實際情況調整各維度下的特征參數(shù);同時還要對數(shù)據(jù)進行清洗和去掉異常值等操作,從而使得模型能夠更加有效地反映設備運行時長以及故障率變化趨勢,為后期的數(shù)據(jù)分析提供可靠的參考依據(jù)。
(2)建立設備運行時間序列預測模型。通過構建一個三層網絡結構來實現(xiàn)該目標,第一層是輸入層,主要用到了Sigmoid 函數(shù)、線性回歸以及隨機森林等常用的機器學習算法;第二層則包括多個卷積核,分別用來提取不同類型的特征信息,例如激活函數(shù)、損失函數(shù)以及偏置項等;第三層是輸出層,可以利用梯度下降法或者粒子群優(yōu)化算法求出最優(yōu)的參數(shù)值。
我們通過實驗來驗證和評估基于XGBoost 的監(jiān)測模型在煤礦機械設備狀態(tài)監(jiān)測中的準確度、穩(wěn)定性和可靠性。具體來說,實驗的目標包括:
(1)驗證模型的準確度:通過使用實際監(jiān)測數(shù)據(jù)對模型進行測試,評估模型在預測煤礦機械設備狀態(tài)時的準確度和誤差。
(2)評估模型的穩(wěn)定性:通過對模型進行多次實驗和重復測試,評估模型在不同數(shù)據(jù)集和條件下的穩(wěn)定性和一致性。
(3)比較模型的效果:通過與其他監(jiān)測模型進行對比實驗,評估基于XGBoost 的監(jiān)測模型在煤礦機械設備狀態(tài)監(jiān)測中的效果和優(yōu)勢。
(4)優(yōu)化模型的參數(shù)和配置:通過實驗和分析,調整和優(yōu)化模型的參數(shù)和配置,以提高模型的性能和效果。
通過進行實驗和評估,可以驗證和評估基于XGBoost 的監(jiān)測模型在煤礦機械設備狀態(tài)監(jiān)測中的可行性和有效性,并為實際應用提供參考和指導。
(1)數(shù)據(jù)集。本次實驗所使用的是某公司生產的MG13000 型采煤機[4],共收集了20 萬條數(shù)據(jù)。這些數(shù)據(jù)包含了采煤機的各種狀態(tài)信息,如工作狀態(tài)、故障情況等等。為了保證實驗的可靠性,我們還進行了多次驗證以確保數(shù)據(jù)的質量。
(2)訓練樣本。將所有數(shù)據(jù)集中每個類別的20 組數(shù)據(jù)作為訓練樣本;將剩余10 組數(shù)據(jù)作為測試樣本進行驗證。
(3)評估指標。本實驗采用了兩種評價指標:平均絕對誤差(ADE)和召回率(R)。其中,ADE 是指模型預測的結果與真實情況之間的距離;召回率為模型預測的結果中有多少個正確分類。
在本次實驗過程中將所有樣本劃分為訓練集和測試集。將訓練樣本作為輸入變量,對模型進行訓練;將測試數(shù)據(jù)作為輸出結果。
(1)訓練階段。首先利用XGBoost 算法對原始數(shù)據(jù)集中的每個設備運行時間段內的各項指標進行預測,并且通過計算得到各個設備運行時間段內的各類故障率。然后根據(jù)實際情況調整模型中的參數(shù),以達到最佳效果。選取了6 組數(shù)據(jù)來進行實驗分析。其中第2 組為正常運行時的數(shù)據(jù),其余5 組均為停機檢修后的數(shù)據(jù)。因為停機檢修后設備的運行速度有所下降,所以選擇這組來做對比研究,其他5 組數(shù)據(jù)均是相同條件下的運行數(shù)據(jù)。
(2)測試階段。在完成上述工作之后,就可以開始進行測試了,本次實驗主要分為兩個部分內容:一是,驗證所提出的XGBoost 模型的有效性以及泛化能力。二是,針對不同類型的故障問題分別采取對應的解決措施。
具體來說就是要先用該模型對停機檢修前的數(shù)據(jù)進行預處理操作,使其能夠更加符合實際生產需求。
(3)實驗流程。首先將所有的數(shù)據(jù)輸入到XGBoost 中,然后再通過隨機森林算法對XGBoost 中的每個樣本都進行一次預測,并且將得到的結果與真實值進行比對,如果兩者相差不超過閾值則說明此次建模成功,否則需要重新調整XGBoost 模型參數(shù)和參數(shù)值,直至滿足要求。
(1)訓練樣本選取。在本次研究過程中,將所有的測試樣本都作為訓練集;對于測試數(shù)據(jù)而言則是隨機抽取100 組作為測試數(shù)據(jù)集。
(2)參數(shù)設置。為了使得模型能夠準確預測設備的實際運行情況,需要對模型中的各個變量和參數(shù)進行設置。其中,最大迭代次數(shù)設為500 次,學習速率設定為0.001,損失值閾值設為0.01。
實驗結果表明,經過一系列的調整和修改,最終得到了一種較為理想的模型。在測試數(shù)據(jù)上,該模型取得了良好的預測效果,且其預測精度也達到了預期的水平。此外,該模型還能夠很好地適應不同的設備類型,具有較強的泛化能力,煤礦機械設備基本情況鑒定具體見表3。
表3 煤礦機械設備基本情況鑒定
設備名稱和規(guī)格型號:表3 列出了采煤機、刮板輸送機和液壓支架3 種煤礦機械設備的設備名稱和規(guī)格型號。這些信息可作為特征輸入XGBoost 模型。
制造商:表3 提供了設備制造商的信息,即山東鑫煤礦設備有限公司。制造商可能與設備的質量和性能有關,可作為特征之一。
投入使用日期:表3 給出了設備投入使用的日期,即1997 年9 月17 日。設備投入使用的日期可能與設備的狀況和壽命有關,可作為特征之一。
安裝方法和附件:該表給出了設備的安裝方法和附件,即已安裝和已完成。安裝方法和附件的完整性可能與設備的正常運行和維護有關,可作為特征之一。
物理狀態(tài):表中給出了設備的物理狀態(tài),即采煤機和刮板輸送機的物理狀態(tài)為58,液壓支架的物理狀態(tài)為53。物理狀態(tài)可作為設備的評估指標,并可作為培訓和預測的監(jiān)測目標和標簽。
將表3 中的設備名稱、規(guī)格型號、制造廠家、投入使用日期、安裝方式、附件和實體狀態(tài)等信息作為特征,使用XGBoost 模型進行煤礦機械設備狀態(tài)的監(jiān)測和預測。通過訓練模型,可以根據(jù)設備的基本情況來預測設備的狀態(tài),從而實現(xiàn)對設備狀態(tài)的實時監(jiān)控和預警。提前發(fā)現(xiàn)設備的故障和異常,從而進行及時的維修和保養(yǎng),提高設備的可靠性和安全性。
在對煤炭開采過程中的設備進行實時監(jiān)測時需要使用到XGBoost 算法來實現(xiàn)數(shù)據(jù)采集和處理工作。通過該種方式能夠有效地提升煤礦生產作業(yè)的安全性、穩(wěn)定性以及效率。但是由于目前XGBoost 算法還存在著一定不足之處,因此要進一步完善其應用效果,使得其能充分發(fā)揮出其優(yōu)勢,從而為后續(xù)的研究提供更多幫助。