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