李壯年, 儲滿生, 柳政根, 李寶峰
(1. 東北大學(xué) 冶金學(xué)院, 遼寧 沈陽 110819; 2. 山西太鋼不銹鋼股份有限公司 煉鐵廠, 山西 太原 030003)
機器學(xué)習(xí)是對能通過經(jīng)驗自動改進的計算機算法的研究[1].通俗地講,機器學(xué)習(xí)就是讓計算機從數(shù)據(jù)中進行自動學(xué)習(xí),得到某種知識(或規(guī)律).作為一門學(xué)科,機器學(xué)習(xí)通常指一類問題以及解決這類問題的方法,即如何從觀測數(shù)據(jù)中尋找規(guī)律,并利用學(xué)習(xí)到的模型對未知或無法觀測的數(shù)據(jù)進行預(yù)測[2].
近年來,機器學(xué)習(xí)領(lǐng)域不斷推出新的算法,比如XGBoost、LightGBM、人工神經(jīng)網(wǎng)絡(luò)等,在訓(xùn)練速度和擬合性能方面均有明顯提升.機器學(xué)習(xí)在高爐煉鐵方面的研究也有了一定的進展,但是主要應(yīng)用于單目標(biāo)參數(shù)預(yù)測,采用多模型集成學(xué)習(xí)預(yù)測的研究較少.
高爐煉鐵是一個復(fù)雜的系統(tǒng),過程參數(shù)優(yōu)化實際上是多目標(biāo)函數(shù)、多元非線性問題,高爐參數(shù)預(yù)測和優(yōu)化是極具挑戰(zhàn)性的課題.目前大多高爐參數(shù)優(yōu)化模型主要采用單目標(biāo)優(yōu)化算法或者傳統(tǒng)的多目標(biāo)優(yōu)化算法,得到的研究結(jié)果只是多目標(biāo)優(yōu)化問題Pareto最優(yōu)解集上的一個點,并且大多模型都是將目標(biāo)函數(shù)與變量表述為線性模型,建立的優(yōu)化模型精確度不高.建立精確的多目標(biāo)優(yōu)化模型求解高爐生產(chǎn)過程中的多目標(biāo)問題具有重要的學(xué)術(shù)意義和應(yīng)用價值.
焦比表示高爐每噸生鐵需要消耗的焦炭噸數(shù),可以反映高爐冶煉水平,是高爐最重要的經(jīng)濟技術(shù)指標(biāo)之一.在生產(chǎn)過程中,高爐操作者需結(jié)合高爐順行情況及時調(diào)整焦比.當(dāng)爐況順行時可以適當(dāng)降低焦比以降低燃料成本;當(dāng)爐況波動時需及時補加焦炭以穩(wěn)定氣流,避免因調(diào)整不及時或調(diào)劑量不夠?qū)е聽t況惡化,反而造成冶煉成本的升高.
K值表征高爐的透氣性,是高爐最重要的控制參數(shù)之一.K值太高表明爐內(nèi)透氣性變差,煤氣流的通道不足或分布不合理,影響爐內(nèi)反應(yīng)的正常進行;而K值太低通常是爐內(nèi)局部區(qū)域氣流過剩,會引起氣流波動,導(dǎo)致爐況惡化.因此,高爐操作者的一項重要工作是將K值控制在合理范圍內(nèi).
高爐控制參數(shù)主要有送風(fēng)參數(shù)、布料參數(shù)和原燃料參數(shù).送風(fēng)參數(shù)包括:風(fēng)量、風(fēng)溫、富氧流量、加濕量、大氣濕度、風(fēng)口面積、風(fēng)速、鼓風(fēng)動能、理論燃燒溫度、爐腹煤氣量等;布料參數(shù)主要是爐頂布料角度、布料圈數(shù)、料線以及布料仿真模型計算所得參數(shù)[3];原燃料參數(shù)是指各種原料、燃料、熔劑的用量、化學(xué)分析、物理指標(biāo)(粒級、強度)以及冶金性能等.
考慮到高爐不同時期的操作爐型、原燃料條件、設(shè)備運行狀況等冶煉條件差異會很大,采用不同時期數(shù)據(jù)進行爐況參數(shù)預(yù)測時,預(yù)測結(jié)果可能差異很大,而且高爐預(yù)測參數(shù)受近期冶煉條件的影響大于遠(yuǎn)期冶煉條件.為了解決這一矛盾,本文采取的方法是:先用全部有效數(shù)據(jù)進行預(yù)測得到1#預(yù)測結(jié)果,再用后一半有效數(shù)據(jù)預(yù)測得到2#預(yù)測結(jié)果,然后對預(yù)測結(jié)果進行綜合分析.
在高爐參數(shù)數(shù)據(jù)庫中,存放著大量歷史操作數(shù)據(jù),但是由于人為記錄或生產(chǎn)故障等原因,導(dǎo)致數(shù)據(jù)庫中存在不完整、不一致、不精確或重復(fù)的數(shù)據(jù).如果直接將這些異常數(shù)據(jù)用于建模,將產(chǎn)生不可靠的甚至錯誤的模型.所以,對數(shù)據(jù)進行預(yù)處理是十分必要的,數(shù)據(jù)預(yù)處理的主要步驟如下:
1) 數(shù)據(jù)規(guī)約.高爐數(shù)據(jù)庫中存在一些與預(yù)測參數(shù)無關(guān)、重復(fù)性、同類性質(zhì)的參數(shù),需要進行剔除,以減少無效計算.高爐數(shù)據(jù)庫中無關(guān)類參數(shù)包括:累計消耗值、理論消耗值與實際消耗值的差值等.重復(fù)性參數(shù)包括:校正前與校正后的燃料比、焦比、理論燃燒溫度、產(chǎn)量等.與目標(biāo)參數(shù)同類性質(zhì)的參數(shù):比如預(yù)測焦比時大塊焦比;預(yù)測K值時全壓差、下部壓差等.此外,由于正常爐況和異常爐況(包括外圍生產(chǎn)環(huán)境變化導(dǎo)致慢風(fēng)或爐況波動)的參數(shù)差異很大,而且異常爐況時很多特征參數(shù)存在失真效應(yīng),不能真實反映爐況,有必要對高爐數(shù)據(jù)庫中的參數(shù)進行初步篩選.本文所用數(shù)據(jù)為日平均值,篩選條件為:①風(fēng)量>4 500 m3/min;②焦比<480 kg/tHM;③燃料比<560 kg/tHM;④停噴煤風(fēng)口個數(shù)≤5個;⑤實際燃料比與理論燃料比的偏差<20 kg/tHM;⑥無外圍設(shè)備導(dǎo)致減風(fēng).由于剔除了異常爐況時的參數(shù),因此本文的主要研究對象是正常爐況下的高爐參數(shù)預(yù)測與優(yōu)化.
2) 缺失值處理.在處理數(shù)據(jù)時,如果數(shù)據(jù)項中缺失值的比例很高,那么該組數(shù)據(jù)對模型可能不會有用.刪除數(shù)據(jù)項的閾值應(yīng)該取決于實際問題,本文將刪除缺失值超過30%的列.如果某組數(shù)據(jù)中有少量缺失值,采用中位數(shù)替代缺失值.
3) 異常值處理.箱型圖提供了識別異常值的方法:通常異常值定義為小于L-φ×H或大于U+φ×H的值.其中:L為下四分位數(shù),U為上四分位數(shù),H為四分位數(shù)間距,φ為上下界系數(shù),本文選取φ=2.5對預(yù)測參數(shù)的異常值進行剔除.
4) 共線特征數(shù)據(jù)處理.數(shù)據(jù)庫中的許多特征是多余的,相互強相關(guān)的特征被稱為共線,消除這些特征對中的一個變量通??梢詭椭鷻C器學(xué)習(xí)模型推廣并更易于解釋.本文使用相關(guān)系數(shù)來識別和刪除共線特征,如果參數(shù)之間的相關(guān)系數(shù)大于閾值(通常取值0.5~0.7),將刪除一對特征中的一個.
5) 數(shù)據(jù)拆分.在機器學(xué)習(xí)時,需要將數(shù)據(jù)分成一個訓(xùn)練集和一個測試集.訓(xùn)練集用于模型計算,目地是讓模型學(xué)習(xí)特征與目標(biāo)之間相互映射.測試集用于驗證、評估模型,并依據(jù)測試集的結(jié)果訓(xùn)練機器學(xué)習(xí)模型.本文用80%的隨機數(shù)據(jù)進行訓(xùn)練,剩余20%用于測試.數(shù)據(jù)拆分后生成4個數(shù)據(jù)集:訓(xùn)練參數(shù)集X_train,訓(xùn)練目標(biāo)集y_train,測試參數(shù)集X_test和測試目標(biāo)集y_test.
6) 數(shù)據(jù)規(guī)范化.為了消除指標(biāo)之間的量綱和取值范圍差異的影響,需要進行標(biāo)準(zhǔn)化處理,本文采用零-均值規(guī)范化,它的優(yōu)點是不用預(yù)先知道屬性的最大值和最小值,而且可以顯著地減小噪聲點對規(guī)范化的影響.
7) 篩選重要特征參數(shù).通過特征選擇來選取最重要的特征,可以減少數(shù)據(jù)量和數(shù)據(jù)重復(fù)性,加快機器學(xué)習(xí)訓(xùn)練速度,最重要的是可以減少過擬合.LightGBM模型中feature_importances_函數(shù)可以快速地提取重要的特征參數(shù)[4].
本文將用python語言實現(xiàn)機器學(xué)習(xí)算法,依次采用支持向量機(support vector machine,SVM)[5-7]、隨機森林(random forest,RF)[6]、梯度提升樹(gradient boosting regression tree,GBRT)[8]、XGBoost[9]、LightGBM[4]、人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)[10]對目標(biāo)參數(shù)進行機器學(xué)習(xí)訓(xùn)練和預(yù)測.在這些算法中,SVM和ANN算法在冶金行業(yè)中得到了較為廣泛的研究,GBRT是一種基于決策樹的集成學(xué)習(xí)算法,XGBoost和LightGBM都是在GBRT的基礎(chǔ)上進行了改進,但在冶金行業(yè)的研究應(yīng)用較少.
具體實現(xiàn)方法是依次采用Scikit-Learn學(xué)習(xí)庫的回歸函數(shù)SVR,RandomForestRegressor,GradientBoostingRegressor,XGBoost學(xué)習(xí)庫的回歸函數(shù)XGBRegressor,LightGBM學(xué)習(xí)庫的回歸函數(shù)LGBMRegressor,Keras庫中的多層感知神經(jīng)網(wǎng)絡(luò)模型,然后調(diào)用fit(X_train,y_train)進行訓(xùn)練.
本文預(yù)測參數(shù)的量綱和數(shù)量級不同,為了實現(xiàn)對預(yù)測結(jié)果的統(tǒng)一度量,采用決定系數(shù)R2進行評估.
特征工程是使用專業(yè)的背景知識和技巧處理數(shù)據(jù),使得特征能在機器學(xué)習(xí)算法上產(chǎn)生更好作用的過程.由于高爐冶煉過程的復(fù)雜性,需要將初始的檢測數(shù)據(jù)轉(zhuǎn)化為能真實反映高爐生產(chǎn)狀況的參數(shù),這就要利用高爐的冶煉原理或過程仿真進行數(shù)據(jù)加工,構(gòu)造出新的參數(shù).
由于大型高爐具有較大的時滯性,因此必須對數(shù)據(jù)進行時效處理,以確保預(yù)測模型的合理性.本文的處理方法是:影響爐缸狀態(tài)的參數(shù)(比如:風(fēng)口面積、小塊焦比、爐渣堿度、鐵水測溫等),采用最近7日推移平均值,其他控制參數(shù)均采用當(dāng)日入爐數(shù)據(jù);由于控制參數(shù)入爐后未必立即影響預(yù)測參數(shù),因此需對預(yù)測參數(shù)進行加權(quán)處理,當(dāng)日、1天后、2天后的權(quán)重分別為0.4,0.4,0.2.
高爐運行狀態(tài)很大程度上受高爐裝料制度影響,高爐布料仿真模型是分析裝料制度與爐況參數(shù)的一種重要工具,也是一項最重要的特征工程.本文將利用高爐布料仿真模型構(gòu)造的高爐區(qū)域焦炭負(fù)荷指數(shù)、爐料落點等特征參數(shù)提升機器學(xué)習(xí)的擬合性能[3].特征工程前、后機器學(xué)習(xí)的決定系數(shù)如表1和表2所示.
表1 特征工程前機器學(xué)習(xí)的決定系數(shù)Table 1 Determination coefficients of machine learning before feature engineering
表2 特征工程后機器學(xué)習(xí)的決定系數(shù)Table 2 Determination coefficients of machine learning after feature engineering
通過對比可知,特征工程后機器學(xué)習(xí)的預(yù)測精度明顯提升,決定系數(shù)由0.814 1提升至0.883 3.
利用Scikit-Learn可以快速實現(xiàn)各種機器學(xué)習(xí)算法,直接使用實際上是使用了算法的默認(rèn)超參.為了提升預(yù)測效果,有必要對機器學(xué)習(xí)算法進行超參調(diào)優(yōu).Scikit-Learn的Grid search方法可以實現(xiàn)機器學(xué)習(xí)算法超參的自動調(diào)優(yōu),Grid search通過指定不同的超參列表進行窮舉搜索,計算每一個超參組合對于模型性能的影響,并且采用5折交叉驗證避免算法過擬合,來獲取最優(yōu)的超參組合.通過Grid search超參尋優(yōu),各機器學(xué)習(xí)算法的主要超參如表3,表4所示.
表3 各機器學(xué)習(xí)算法的主要超參(通用項)Table 3 Hyper parameters of each machine learning algorithm(generic item)
表4 各機器學(xué)習(xí)算法的主要超參數(shù)(非通用項)Table 4 Hyper parameters of each machine learning algorithm(non-generic item)
針對本文的目標(biāo)預(yù)測參數(shù),超參調(diào)優(yōu)后機器學(xué)習(xí)的決定系數(shù)如表6所示.
由表5可知,ANN深度學(xué)習(xí)算法的擬合能力最強,基于決策樹的算法中LightGBM表現(xiàn)最好,其他算法的決策系數(shù)可以達(dá)到0.85以上,均具有較強的擬合能力,適用于高爐參數(shù)預(yù)測.超參調(diào)優(yōu)可以提高算法的預(yù)測精度,SVM算法尤為明顯.雖然個別算法的R2有所降低,但通過5折交叉驗證后的超參降低了算法的過擬合程度.
表5 超參調(diào)優(yōu)后機器學(xué)習(xí)的決定系數(shù)Table 5 Determination coefficients of machine learning after hyper parameters tuning
機器學(xué)習(xí)算法對不同數(shù)據(jù)集的預(yù)測效果不確定性很大,集成學(xué)習(xí)可以對不同算法進行揚長避短.考慮到高爐參數(shù)控制是多目標(biāo)規(guī)劃,而且高爐參數(shù)具有多變性,預(yù)測方法必須具有很強的魯棒性,即不管預(yù)測數(shù)據(jù)變化多大,都能實現(xiàn)較好的預(yù)測精度.為了達(dá)到這一目標(biāo),本文集成學(xué)習(xí)算法的思路是:根據(jù)各算法R2大小,賦予算法不同的權(quán)重,R2越大賦予算法的權(quán)重越大,然后加權(quán)平均得出最終的預(yù)測值.
具體計算方法如下:將各算法R2由大到小排序, 對應(yīng)權(quán)重系數(shù)依次為w1~w6,設(shè)定w6=0,為了實現(xiàn)R2越大賦予算法的權(quán)重越大,目標(biāo)權(quán)重系數(shù)滿足如下條件:
(1)
當(dāng)權(quán)重系數(shù)滿足式(1)條件時,不同λ值對應(yīng)的權(quán)重系數(shù)計算如式(2)所示,計算結(jié)果如表6所示.
表6 不同λ值的權(quán)重系數(shù)Table 6 Weight coefficients for different λ
wi=λ6-i/(λ+λ2+λ3+λ4+λ5)
(2)
依次計算不同λ條件下集成學(xué)習(xí)的決定系數(shù),結(jié)果如表7所示.
表7 不同λ時機器學(xué)習(xí)的決定系數(shù)Table 7 Determination coefficients of machine learning for different λ
結(jié)果表明,λ取值較小時,R2較大的算法賦予的權(quán)重不足,預(yù)測精度較低;λ取值較大時,R2較大的算法賦予的權(quán)重過大,易導(dǎo)致預(yù)測結(jié)果過擬合程度加強,預(yù)測效果反而變差;λ=2.0~2.4時,預(yù)測效果最好,R2為0.916 1,本文選取λ=2.2.
采用上述特征工程、超參調(diào)優(yōu)和集成算法調(diào)優(yōu)后,R2由0.814 1提高至0.916 1,模型的預(yù)測精度得到了提高.采用優(yōu)化后的集成學(xué)習(xí)方法所得各參數(shù)的預(yù)測值與實際值的偏差很小,預(yù)測效果良好,有利于高爐操作者對爐況參數(shù)的精準(zhǔn)控制,而且模型具有很好的魯棒性.此外,采用上述模型對熱負(fù)荷、燃料比、爐喉鋼磚溫度、壓差等高爐參數(shù)進行了預(yù)測,預(yù)測值和真實值的R2均能超過0.8,可以實現(xiàn)多目標(biāo)爐況參數(shù)精準(zhǔn)預(yù)測,有效指導(dǎo)高爐操作.
遺傳算法是一種全局優(yōu)化算法,研究的思路來源于生物學(xué)理論,是一種基于生物進化論和分子遺傳學(xué)的搜索優(yōu)化算法,具有計算方法簡單、優(yōu)化效果好、處理組合優(yōu)化問題能力強等優(yōu)點.本文采用精英非支配排序多目標(biāo)遺傳算法NSGA-Ⅱ來解決高爐生產(chǎn)過程多目標(biāo)優(yōu)化問題[11-12].NSGA-Ⅱ多目標(biāo)優(yōu)化算法流程如圖1所示.
采用NSGA-Ⅱ 算法對焦比和K值進行多目標(biāo)優(yōu)化,選取的優(yōu)化參數(shù)包括:燒結(jié)堿度、燒結(jié)FeO、燒結(jié)SiO2、燒結(jié)MS、燒結(jié)強度、焦炭M40、焦炭M10、焦炭平均粒級、焦炭灰分、焦炭CSR、焦炭CRI、球團比例、中塊焦比、理燃、爐渣二元堿度.
優(yōu)化參數(shù)的約束條件設(shè)定:設(shè)定尋優(yōu)數(shù)據(jù)集X,參數(shù)Xi的下限為歷史數(shù)據(jù)的1.5%分位數(shù),上限為歷史數(shù)據(jù)的98.5%分位數(shù),在此區(qū)間內(nèi)進行迭代尋優(yōu).
種群規(guī)模設(shè)定為50,尋優(yōu)代數(shù)為100,交叉概率Pc為0.8,變異概率Pm為0.15時,對控制參數(shù)進行尋優(yōu),NSGA-Ⅱ算法生成的Pareto前沿如圖2所示.
由圖2可知,NSGA-Ⅱ算法所得Pareto最優(yōu)解中焦比的范圍∈[339.2,345.4],K值范圍∈[2.56,2.63].
與傳統(tǒng)尋優(yōu)方法相比,遺傳算法具有計算方法簡單、優(yōu)化效果好、處理組合優(yōu)化問題能力強等優(yōu)點.本文采用NSGA-Ⅱ 算法進行求解,可以得到高爐生產(chǎn)多目標(biāo)優(yōu)化問題的Pareto最優(yōu)解集.高爐操作者可以根據(jù)該多目標(biāo)優(yōu)化結(jié)果針對不同的需求選擇相應(yīng)的控制參數(shù),實現(xiàn)高爐參數(shù)的優(yōu)化控制.
1) 對于不同的預(yù)測目標(biāo)參數(shù),由于自身或相應(yīng)的特征參數(shù)的數(shù)據(jù)分布差異較大,不同機器學(xué)習(xí)算法表現(xiàn)各異,沒有哪一個算法總是最準(zhǔn)確的;集成學(xué)習(xí)可以對各種算法揚長避短,預(yù)測結(jié)果誤差小,還可以減少過擬合.
2) 采用特征工程、超參調(diào)優(yōu)和集成算法調(diào)優(yōu)后,目標(biāo)參數(shù)的預(yù)測值與真實值的決定系數(shù)R2由0.814 1提高至0.916 1,不僅提高了模型的預(yù)測精準(zhǔn)度,而且提升了模型的魯棒性.
3) 在高爐參數(shù)預(yù)測時采用了高爐布料仿真模型得出的特征參數(shù),使得預(yù)測結(jié)果誤差減小,為高爐操作者對高爐參數(shù)的精準(zhǔn)控制提供依據(jù),以改善高爐運行狀況,進一步提高高爐生產(chǎn)技術(shù)指標(biāo).
4) 采用非支配排序多目標(biāo)遺傳算法進行求解,最終得到高爐生產(chǎn)多目標(biāo)優(yōu)化問題的Pareto最優(yōu)解集.