孫長好,王 健,楊 飛,姜海超
(內(nèi)蒙古霍煤鴻駿鋁電有限責(zé)任公司,內(nèi)蒙古 霍林郭勒 029200)
現(xiàn)代大型鋁電解槽一種多相-多場交互作用下的復(fù)雜電化學(xué)反應(yīng)器[1],具有非線性、大時變、大時滯和多輸入多輸出的特點[2],且不能建立精確的數(shù)學(xué)模型[3]。電解槽的各種工藝參數(shù)的調(diào)整往往憑借專業(yè)管理者的主觀經(jīng)驗,依賴人工進行槽況判斷、趨勢分析和運行操作決策,其經(jīng)驗水平往往決定了策略的正確性。傳統(tǒng)的人工控制決策方式已經(jīng)難以適應(yīng)現(xiàn)代鋁電解生產(chǎn)要求[4],知識自動化是鋁電解槽實現(xiàn)尋優(yōu)決策的必由之路,應(yīng)用機器學(xué)習(xí)技術(shù),建設(shè)工業(yè)大數(shù)據(jù)分析平臺,充分挖掘數(shù)據(jù)潛在價值,將鋁電解數(shù)據(jù)庫中包含的專家知識和經(jīng)驗進行知識表示和自動推理,模擬管理者的決策過程,本文將ID3決策樹應(yīng)用于鋁電解槽出鋁量預(yù)測,對于輔助工藝管理人員做出科學(xué)的決策,提高生產(chǎn)智能管理水平具有現(xiàn)實意義。
Ross Quinlan在CLS學(xué)習(xí)算法的基礎(chǔ)上,提出ID3決策樹概念。作為一種機器學(xué)習(xí)方法,ID3算法著眼于從一組無次序、無規(guī)則的事例中推理出決策樹表示形式的分類規(guī)則。采用自頂向下遞歸的貪婪算法構(gòu)造。從根結(jié)點開始,以樣本集的最大信息增益屬性作為啟發(fā)搜索條件,將數(shù)據(jù)樣本劃分成不同的樣本子集,每個樣本集構(gòu)成新生分裂節(jié)點,對該分裂結(jié)點繼續(xù)向下遍歷屬性,不斷遞歸調(diào)用,僅當下列條件之一成立時返回:
(1) 節(jié)點上的樣本集屬于同一類;
(2)沒有用來進一步劃分樣本的屬性。
生成決策樹的每個葉子即對應(yīng)一個決策分類, 因此,從根到葉節(jié)點的一條路徑就對應(yīng)著一條合取規(guī)則,整棵決策樹就對應(yīng)著一組析取表達式規(guī)則。生成決策樹實現(xiàn)流程如圖1所示。

圖1 ID3決策樹算法流程圖
Ross Quinlan提出以信息熵的最速下降作為選擇測試屬性的方法,該屬性能反映出分類樣本中的信息量最小,具有最小的隨機性,這使得對一個對象分類所需的期望測試數(shù)目達到最小,并確保找到一棵簡單的決策樹。
設(shè)S是s個訓(xùn)練樣本的集合,包含m個不同的屬性,從而定義了m個不同的類Ci(i=1,...,m),si是S中屬于類Ci的樣本個數(shù)。以熵的概念來定義樣本集的信息量:
其中,pi是樣本屬于類Ci的概率,并用si/s估算。
設(shè)屬性A具有v個不同值{a1,a2,...,av},可以把S劃分成v個子集{s1,s2,...,s},如果A被選為測試屬性,則這些子集對應(yīng)于包含集合S的節(jié)點上生長出來的分枝。設(shè)sij表示在子集sj中類ci的樣本數(shù),那么,根據(jù)屬性A分類的子集的熵為:

使用屬性A對樣本集S進行分類所獲得的信息增益計算方法是:
Gain(A)=1(s1+...+sj)-E(A)
用樣本集的總信息熵減去屬性A的每個分支的信息熵與權(quán)重的乘積,通常,信息增益越大,意味著用屬性A進行劃分所獲得的決策確定性越大。
眾多學(xué)者對ID3決策樹做了深入改進研究,文獻[5]將粗糙集理論用于決策樹算法的屬性選擇標準,文獻[6]、[7]針對靜態(tài)分類規(guī)則的缺陷,展開動態(tài)數(shù)據(jù)樣本集決策樹研究,文獻[8]提出了一種加權(quán)的決策樹算法,通過引入屬性權(quán)值參數(shù)?,強化重要屬性。
Gain(A)=1(s1+...+sj)-?E(A)
文獻[8]中作者對權(quán)值的設(shè)定并沒有具體的依據(jù),只是根據(jù)假設(shè)來人為的設(shè)定權(quán)值。結(jié)合電解鋁的生產(chǎn)工藝,提出一種改進的ID3算法,應(yīng)用回歸分析計算各條件屬性影響出鋁量的權(quán)重W1,W2,...,Ws(s表示條件屬性的個數(shù)),然后通過Wi來求解各?i。
使用Python語言實現(xiàn)算法如下:
# 計算信息熵
def calcEntropy(sampleSet):
numSample = len(sampleSet)
PropCounts = {}
# 樣本遍歷
for sample in sampleSet:
currentProp = sample[-1]
if currentProp not in PropCounts.keys():
PropCounts[currentProp]= 0
PropCounts[currentProp]+=1
entropy = 0.0
for key in PropCounts: # 計算信息熵
probability = float(PropCounts[key]) / numSample
entropy = entropy - probability * log(probability, 2)
return entropy
表1的鋁電解原始數(shù)據(jù)無法直接應(yīng)用于ID3算法,需要首先進行數(shù)據(jù)的規(guī)范化處理,主要包括數(shù)據(jù)校正和離散化過程。

表1 3031#電解槽原始數(shù)據(jù)
鋁電解控制系統(tǒng)在進行采樣時,由于網(wǎng)絡(luò)堵塞丟幀或者人工輸入時失誤導(dǎo)致數(shù)據(jù)序列出現(xiàn)異常值,處理辦法主要有二種,一是采用過濾的方法,將含有異常數(shù)據(jù)的記錄丟棄,該種方法處理簡單,但會失去部分信息;二是使用插值算法,其思想是:鋁電解過程是一個緩慢的變化過程,可根據(jù)系統(tǒng)運行的慣性,參考空值前后的數(shù)據(jù)進行分析填補。
在鋁電解生產(chǎn)工藝中,影響出鋁量的主要因素有:日平均電壓(AvgVol)、分子比(Ratio)、電解質(zhì)水平(Bath_H)、鋁水平(Metal_H),電解質(zhì)溫度(Temp)等,這些原始數(shù)據(jù)是連續(xù)的,無法直接應(yīng)用于ID3算法,因此,有必要將其轉(zhuǎn)換成適合數(shù)據(jù)挖掘的形式,本文采用直方圖的策略進行數(shù)據(jù)離散化。
直方圖是一種直觀的數(shù)據(jù)歸約形式。將屬性數(shù)據(jù)分布劃分為不相交的子集,該子集的高度或面積代表屬性值的平均頻率,一般地,確定屬性值的劃分有以下幾種方法:
等高:在等高的直方圖中,每個子集的頻率區(qū)間是一個常數(shù),即臨近數(shù)據(jù)樣本個數(shù)相同。
等寬:在等寬的直方圖中,每個子集的寬度區(qū)間是一個常數(shù),通常,數(shù)據(jù)離散化處理后會得到一些空數(shù)據(jù)區(qū)間,生成決策樹的過程中會丟失一定的規(guī)則,因此,應(yīng)當對這些空數(shù)據(jù)區(qū)間進行前后合并,表2是經(jīng)等寬離散化處理后所生成電解槽序列化數(shù)據(jù)。

表2 3031#電解槽離散化數(shù)據(jù)
對某工區(qū)31臺電解槽近半年的數(shù)據(jù)預(yù)處理,選擇日平均電壓(AvgVol)、分子比(Ratio)、電解質(zhì)水平(Bath_H)、鋁水平(Metal_H),電解質(zhì)溫度(Temp)作為影響出鋁量(Metal_Mass)的5個條件屬性,分別進行粒度為98 mV,0.08,21 mm,22 mm,6 ℃和53 kG的等寬離散化處理,生成序列化數(shù)據(jù)表示,經(jīng)ID3算法評判后構(gòu)造出鋁量決策樹,如圖2所示,由于生成的出鋁量決策樹規(guī)模較大,圖中僅繪制出溫度序列為7和2的出鋁量決策分枝。

圖2 出鋁量決策樹
圖中分枝Temp(7) -> Metal_H(7) -> AvgVol(2) -> Bath_H(6) -> 26表示:當電解質(zhì)溫度在[991,997] ℃,鋁水平在[322,344] mm,日平均電壓在[3953,4051] mV,電解質(zhì)水平在[200,220] mm時,出鋁量決策范圍應(yīng)為[3018,3071] kG。
從該決策樹中可見,在某些情況下,5個條件屬性并非都對出鋁量產(chǎn)生決定影響,甚至其中的2個條件屬性就可以決策出鋁量,如Temp(2) -> Ratio(3) ->32表示:當電解質(zhì)溫度在[961,967] ℃,分子比在[2.41,2.49]時,出鋁量決策范圍應(yīng)為[2859,2912] kG,出現(xiàn)這種情況的原因在于數(shù)據(jù)樣本的不完備性,從而出現(xiàn)決策的近似表達,隨著電解槽數(shù)據(jù)的日積月累,數(shù)據(jù)樣本趨于完備,機器學(xué)習(xí)的廣度和深度逐步加深,決策的表達會趨于精確。
利用ID3算法對鋁電解數(shù)據(jù)庫中包含的專家知識和經(jīng)驗進行知識表示和自動推理,從而生成出鋁量決策規(guī)則,對于輔助工藝管理人員做出科學(xué)判斷提供決策支持,同理,也可應(yīng)用于電解槽管理其它方面,以提高生產(chǎn)智能管理水平。