陳雙葉,高建琛,符寒光,趙 榮
(1.北京工業(yè)大學信息學部,北京 100124; 2.北京工業(yè)大學材料學院,北京 100124)
工業(yè)過程對象受原料屬性、產(chǎn)品質(zhì)量和產(chǎn)量及環(huán)境氣候等因素的影響而具有動態(tài)特性,這些動態(tài)變化通常包括傳感器漂移和過程漂移,在機器學習領(lǐng)域?qū)⑵浣y(tǒng)稱為概念漂移[1].因此,為了應(yīng)對概念漂移,許多應(yīng)用于軟測量模型的自適應(yīng)方法被提出,比如遞歸模型(recursive model, RM)(包含遞歸主成分回歸(recursive principle component regression, RPCR)[2]和遞歸最小二乘法(recursive partial least squares, RPLS)[3]等)、滑動窗模型(sliding window, SW)[4]和即時學習模型(just-in-time learning, JITL)[5].然而,這些方法是在單模型上實施的,這使得模型在應(yīng)對概念漂移時性能不穩(wěn)定.
研究表明,集成學習算法具有較好的概念漂移處理能力.集成學習是一種通過結(jié)合多個子模型以提高整體泛化性能的算法.通常情況,建立集成模型涉及2個步驟:構(gòu)建集成子模型池和組合子模型得到預(yù)測輸出.在構(gòu)建集成子模型池方面,周志華[6]提出子模型的差異性越大、準確性越高,則集成的效果越好; 其中最具代表性的集成算法為Bagging[7].但是如果將所有子模型都組合到集成模型中,那其中性能較差子模型會影響到集成模型的預(yù)測準確性,而且其中相似的子模型對集成的運算效率也有較大影響,因此越來越多的選擇性集成方法被提出用于克服上述問題.Lin等[8]將K-means聚類、動態(tài)選擇和順序搜索方法相結(jié)合來選擇子模型;遺傳算法或其他優(yōu)化算法也常用于選擇集成的最優(yōu)子集[9-10],但優(yōu)化算法自身的計算開銷較大;文獻[11]提出利用子模型的在線預(yù)測性能排序進行動態(tài)選擇.另外,選擇性集成算法大多應(yīng)用于解決分類問題,對回歸問題的研究較少.在子模型輸出組合方面,均值輸出是一種簡單但有效的方法;為了讓集成能更好地應(yīng)對概念漂移,動態(tài)權(quán)重集成輸出也被廣泛應(yīng)用[11].總的來說,集成模型的模型子集選擇和子模型權(quán)重計算依然具有很大的挑戰(zhàn).
在線集成模型的子模型需要有快速的構(gòu)建方法且性能穩(wěn)定.誤差逆?zhèn)鞑ド窠?jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)和支持向量機(support vector machine, SVM)都是常用的軟測量方法.但是BPNN容易過擬合而且訓練時間也較長, SVM則在求最優(yōu)解上花費較多的時間,兩者都難以采用重新訓練的方式來在線更新子模型.Huang等[12]基于單隱含層前饋神經(jīng)網(wǎng)絡(luò)提出的極限學習機(extreme learning machine, ELM),在回歸、大規(guī)模數(shù)據(jù)集分類應(yīng)用中優(yōu)勢顯著.ELM算法簡單易行、學習速度快、泛化性能高,非常適合作為集成子模型.為了適應(yīng)在線學習環(huán)境,文獻[13]提出了在線極限學習機(online sequential extreme learning machine, OSELM).但是直接使用工業(yè)生產(chǎn)過程的高維數(shù)據(jù)樣本進行建模會降低OSELM的預(yù)測性能,需要對數(shù)據(jù)進行維數(shù)約簡.
綜上,本文提出基于OSELM和博弈論的選擇性集成建模方法.該方法首先使用RPLS提取樣本數(shù)據(jù)潛在特征用于后續(xù)的集成建模,然后采用OSELM作為子模型,同時考慮子模型之間的差異性和子模型本身的準確性,利用博弈論計算子模型的綜合表現(xiàn)即權(quán)重系數(shù),并依據(jù)權(quán)重系數(shù)選擇最優(yōu)的K個子模型構(gòu)建子模型池.在完成預(yù)測之后,利用在線交叉驗證算法[14]來評估子模型的準確性并以此為依據(jù)更新子模型權(quán)重系數(shù),最后利用新樣本對集成子模型和RPLS潛在特征提取模型進行在線更新.
極限學習機模型為單隱層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feedforward networks, SLFNs).假設(shè)有N個訓練樣本(xi,yi),其中xi=[xi1,xi2,…,xin]T,yi=[yi1,yi2,… ,yim]T.如果一個含有L個隱含層結(jié)點的SLFNs能夠表示N個樣本,那就意味著存在βi、wi和bi使得
(1)
成立.式中:wi和bi為隱層結(jié)點的參數(shù);βi=(βi1,βi2,…,βim)T表示第i個隱層結(jié)點與輸出結(jié)點的連接權(quán)重;G(wi,xj,bi)表示輸入xj在第i個隱含層結(jié)點的輸出函數(shù),也稱為激勵函數(shù).當使用G(wi,xj,bi)=g(wixj+bi) ,bi∈R作為隱含層結(jié)點的激勵函數(shù)時,參數(shù)wi=(wi1,wi2,…,win)T表示是第i個隱層結(jié)點與輸入結(jié)點的連接權(quán)重,bi是第i個隱層結(jié)點的偏置值.當使用徑向基函數(shù)(radial basis function, RBF)作為隱含層結(jié)點的激勵函數(shù)時,G(wi,xj,bi)=g(bi‖xj-wi‖),bi∈R+,參數(shù)wi和bi分別表示第i個RBF結(jié)點的中心和映射寬度.激勵函數(shù)G(wi,xj,bi)也可以是“Sigmoid”或“Sine”等.式(1)可以寫為
Hβ=Y
(2)
式中:
ELM不僅使訓練誤差最小,同時使輸出權(quán)值系數(shù)的范數(shù)最?。?/p>
(3)
只要隱含層結(jié)點數(shù)足夠多,SLFNs就能在輸入權(quán)值隨機賦值的情況下逼近任何連續(xù)函數(shù).給出一個訓練集(xi,yi),i=1,2,…,N,激活函數(shù)g(x)以及隱含層結(jié)點數(shù)L,則ELM算法步驟如下:
1) 隨機產(chǎn)生輸入權(quán)值向量wi和隱含層結(jié)點偏差bi,i=1,2,…,N;
2) 計算隱含層輸出矩陣H;
3) 計算輸出權(quán)值β=H?Y,其中,H?是隱含層輸出矩陣H的Moore-Penrose廣義逆,且H?=(HTH)-1HT.
然而,在實際應(yīng)用中,數(shù)據(jù)可能是以數(shù)據(jù)塊或單個數(shù)據(jù)的形式輸入,為了應(yīng)對這種情況,Liang等[13]提出了在線極限學習機的訓練模式.在線極限學習機分為2個階段.
1) 計算隱含層輸出矩陣Hk+1.
(4)
2) 計算輸出權(quán)重β(k+1).在k+1時刻的目標值為Yk+1=[yNk+1,yNk+2,…,yNK+1]T,由Liang等的推導,可以得出在線極限學習機的遞推算法為
(5)
(6)
3) 迭代步數(shù)加1.k=k+1.重復(fù)第1)步.
基于OSELM和博弈論的選擇性集成建模過程分為3個部分:離線建模、在線預(yù)測和模型在線更新.離線建模階段的主要工作為建立子模型池并利用博弈論原理選擇模型子集作為最終的預(yù)測模型.在線預(yù)測階段,首先利用PLS算法在線提取輸入數(shù)據(jù)的潛變量特征,然后計算子模型預(yù)測值的加權(quán)輸出.模型在線更新階段需要更新以下幾個方面:一是集成子模型的權(quán)重更新;二是PLS提取潛變量模型參數(shù)更新;三是OSELM子模型迭代更新.
離線建??梢苑譃?個階段,如圖1所示.
第1階段為建立子模型池,第2階段為從子模型池中選擇模型子集構(gòu)建預(yù)測模型.
2.1.1 子模型池構(gòu)建
(7)
圖1 離線建模策略Fig.1 Offline modeling strategy
然后采用Bootstrap算法基于提取的潛在特征矩陣產(chǎn)生的訓練子集,即
(8)
最后采用訓練子集構(gòu)建基于OSELM算法的候選子模型.fj(·)表示在采用第j個訓練子集構(gòu)建的OSELM候選子模型.
2.1.2 子模型選擇
在子模型選擇階段,首先需要對子模型的精度和多樣性進行度量得出候選子模型的精度權(quán)重和多樣性權(quán)重,然后利用博弈論策略綜合精度權(quán)重和多樣性權(quán)重得到最優(yōu)權(quán)向量,最后根據(jù)權(quán)向量對子模型進行篩選.
(9)
式中MSE=[MSE1,MSE2,…,MSEJ].然后基于精度的候選子模型權(quán)重的計算式為
(10)
式中med(MSE)為所有模型的MSE的中值.
接下來計算模型多樣性權(quán)重.Dij表示第i個候選子模型和第j個候選子模型之間的距離,由式(11)來計算;Dj·表示單個候選子模型j對所有候選子模型多樣性的貢獻,由式(12)來計算.最后由式(13)計算得出子模型多樣性權(quán)重.
(11)
(12)
(13)
式中:D=[D1·,D2·,…,DJ·];med(D)為所有候選子模型的多樣性度量的中值.
最后利用博弈論策略[15]綜合上述2種權(quán)重,使得選擇出的模型子集可以保證在精度和多樣性方面都有所兼顧.綜合權(quán)重由上述2種權(quán)重線性組合而成,即
(14)
式中:W為最終的權(quán)重;αk為需要確定的權(quán)重系數(shù).
根據(jù)博弈論理論,當m個權(quán)重具有一致性時,將會得到最優(yōu)均衡權(quán)重向量W*.權(quán)重的一致性由最優(yōu)的權(quán)重系數(shù)αk組合得到.博弈論的優(yōu)化目標是最小化綜合權(quán)重W和wi之間的偏差,即
(15)
基于矩陣的微分性質(zhì),式(15)的最優(yōu)一階微分條件可以寫為
(16)
展開得到
(17)
(18)
最后,可得出綜合權(quán)重W*為
(19)
在對候選子模型進行選擇時,只需要從候選子模型中按照綜合權(quán)重W*從大到小選取合適數(shù)量的子模型即可構(gòu)造成預(yù)測模型.
在線預(yù)測是將PLS模型對當前時刻的樣本數(shù)據(jù)提取的潛在特征作為集成模型的輸入,然后再計算預(yù)測值.
利用基于建模樣本建立的PLS模型提取新樣本的潛在特征.為了方便表述,將離線階段基于建模樣本建立的PLS模型稱為舊PLS模型,其表示為
(20)
基于新樣本數(shù)據(jù)xk+1利用舊PLS模型提取潛在特征可表示為
(21)
新樣本基于第j個舊集成子模型的預(yù)測輸出為
(22)
(23)
在線預(yù)測通常在獲得k+1時刻真值后進行模型更新,包括PLS模型遞推更新、OSELM模型更新和集成模型權(quán)重系數(shù)更新.
2.3.1 PLS模型遞推更新與子模型更新
首先將新樣本并入舊PLS模型,即
(24)
(25)
基于以上輸入輸出數(shù)據(jù)建立新PLS模型
{Xk+1,Yk+1}→PLS→{Tk+1,Wk+1,Pk+1,Bk+1,Qk+1}
(26)
基于xk+1提取的潛在特征可表示為
zk+1=xk+1Wk+1((Pk+1)TWk+1)-1
(27)
式中:zk+1為新樣本的潛在特征;Pk+1為PLS模型的負荷矩陣;Wk+1為系數(shù)矩陣.
接著,利用潛在特征樣本(zk+1,yk+1)對集成中的子模型進行在線更新.
2.3.2 集成子模型權(quán)系數(shù)更新
先采用在線交叉驗證法[10]計算集成子模型的預(yù)測誤差,計算過程為
(28)
(29)
然后根據(jù)子模型的在線交叉驗證誤差計算其權(quán)重系數(shù)
(30)
(31)
針對本文所提的算法,首先采用公開數(shù)據(jù)集來驗證算法的可行性,然后將算法用于某鋁廠的熱軋生產(chǎn)線的鋁合金帶材力學性能在線預(yù)測,結(jié)果表明本文所提算法具有更快的運行時間和更好的預(yù)測精度.
仿真部分采用4個數(shù)據(jù)集來驗證算法的可行性,數(shù)據(jù)集的詳細信息見表1.Friedman系列數(shù)據(jù)集[16]被設(shè)計用來模擬概念漂移.其中Friedman #1代表局部突然漂移,F(xiàn)riedman #2代表全局循環(huán)突然漂移,F(xiàn)riedman #3代表全局緩慢漸進漂移.為了更好地測試算法對概念漂移的處理能力,實驗所有的對比算法采用Friedman系列數(shù)據(jù)集的前600組數(shù)據(jù)作為訓練集,第601組到第900組為驗證集,其余為測試集.
表1 數(shù)據(jù)集信息
數(shù)據(jù)集California Housing為靜態(tài)數(shù)據(jù),用于測試算法在無概念漂移特性的數(shù)據(jù)集中的預(yù)測性能,其中隨機抽取5 000組數(shù)據(jù)作為訓練集,再抽取1 000組作為驗證集.對于不需要驗證集的算法則將驗證集合并到訓練集.對所有數(shù)據(jù)集的輸入輸出進行標準化使其范圍為[0,1].標準化的公式為
(32)
式中:s為數(shù)據(jù)矩陣;smin為被選擇的樣本屬性最小值;smax為被選擇的樣本屬性最大值.
表2給出了本文算法以及對比算法在不同數(shù)據(jù)集上的運行結(jié)果.實驗結(jié)果以RMSE作為衡量性能的標準,每種算法都重復(fù)測試20次取平均值;然后統(tǒng)計20次RMSE的標準差來顯示算法穩(wěn)定性.本實驗的目的是為了驗證基于博弈論的子模型衡量方法以及動態(tài)加權(quán)的有效性,子模型的種類對最終的對比結(jié)果沒有影響或者說影響很小,所以表2中的所有集成學習算法的子模型都設(shè)置為OSELM.表中Bagging算法為簡單集成算法,即利用自助采樣算法生成數(shù)據(jù)子集,然后根據(jù)子集訓練OSELM子模型,最后將所有OSELM子模型的預(yù)測輸出平均后作為集成模型的輸出;DOER算法是一種可以動態(tài)調(diào)整子模型權(quán)重并且根據(jù)該權(quán)重進行子模型在線增減的動態(tài)集成算法,算法的詳細說明見文獻[11],DOER算法根據(jù)文獻[11]說明設(shè)置更新系數(shù)和窗口大小參數(shù)分別為α=0.1,m=50;SEOSELM算法則是在利用Bagging算法原理獲取子模型池后先采用本文介紹的基于博弈論的選擇方法對子模型進行選擇,然后再將選擇后的模型子集用于預(yù)測,最后以子模型的平均預(yù)測值作為集成模型的輸出;WSEOSELM為加權(quán)集成算法,即對被選擇的子模型采用加權(quán)的方法組合子模型預(yù)測輸出;PLS-WSEOSELM算法在WSEOSELM算法的基礎(chǔ)上,先使用PLS模型遞歸提取潛在變量,然后以潛在變量作為模型輸入進行建模并在線預(yù)測.所有集成算法子模型為OSELM算法,且OSELM子模型的激勵函數(shù)都設(shè)置為Sigmod函數(shù),而且隱含層神經(jīng)元個數(shù)都設(shè)置為25個.
根據(jù)表2的統(tǒng)計數(shù)據(jù),對比EOSELM算法和SEOSELM算法在各個數(shù)據(jù)集上預(yù)測結(jié)果的RMSE均值可以驗證基于博弈論的集成子模型選擇算法的有效性,經(jīng)過選擇的集成模型的預(yù)測RMSE小于未經(jīng)選擇的集成模型,尤其是在Friedman #2數(shù)據(jù)集上提升特別明顯.DOER算法在動態(tài)增減子模型時只考慮子模型的準確性,從表2結(jié)果來看效果不如使用博弈論原理選擇后的集成算法.通過對比SEOSELM算法和WSEOSELM算法可以看到,本文提出的基于在線交叉驗證算法的加權(quán)集成對提高集成模型的精度有很大的幫助.利用PLS算法提取潛在變量,然后利用潛在變量建立集成模型進行預(yù)測對數(shù)據(jù)集Friedman#1和Friedman#3有提升模型預(yù)測精度的作用,但對其他數(shù)據(jù)集并不適用.對比Friedman系列數(shù)據(jù)集和California Housing數(shù)據(jù)集的運行結(jié)果可知,本文所提方法對于在靜態(tài)數(shù)據(jù)上的預(yù)測精度提升有限,但對于具有概念漂移特性的數(shù)據(jù)集可以大幅提升預(yù)測精度.最后,選擇性集成建模減少在線運行時集成中的子模型數(shù)量,這一特性會使集成模型的運行時間縮短,在較大規(guī)模數(shù)據(jù)集California Housing上測試集所需運行時間明顯減少.
表2 不同算法的運行結(jié)果對比
本節(jié)將文中提出的PLS-WSEOSELM算法應(yīng)用于某鋁廠的熱軋鋁合金帶材力學性能指標在線預(yù)測.鋁合金帶材力學性能指標在線預(yù)測對于提高產(chǎn)品質(zhì)量和經(jīng)濟效益具有非常重要的意義.從實際生產(chǎn)過程采集樣本,去除包含過失誤差的樣本后,獲得120個生產(chǎn)過程數(shù)據(jù)樣本.從這些樣本中隨機選取80個樣本作為訓練樣本集合,對于選擇集成模型還需要從訓練集中選取20個樣本作為驗證樣本集合,剩余40個作為測試樣本集合.選取的關(guān)鍵工藝參數(shù)主要包括中間板厚度、精軋出口厚度、出爐溫度、粗軋溫度、終軋溫度、卷取溫度,以及Si、Fe、Cu、Mn、Mg、Zn等化學成分的質(zhì)量分數(shù),共19個輸入?yún)?shù).預(yù)測的力學性能指標為抗拉強度、屈服強度和伸長率3種.
為了測試本文所提出的PLS-WSEOSELM算法的有效性,在實驗中將其與傳統(tǒng)的Bagging算法、帶剪枝的集成算法DOER和WSEOSELM方法進行比較.在執(zhí)行預(yù)測模型之前,先使用式(32)對數(shù)據(jù)進行歸一化,在預(yù)測結(jié)束后使用
y*=*(smax-smin)+smin
(33)
對預(yù)測值進行重新標定,然后再統(tǒng)計預(yù)測數(shù)據(jù).
每種方法的所有參數(shù)均使用交叉驗證法選擇出最優(yōu)參數(shù),具體參數(shù)設(shè)置見表3.采用RMSE和平均絕對百分誤差(mean absolute percentage error,MAPE)對所有算法的性能進行評估,每個建模方法均獨立重復(fù)運行20次取平均值.各建模方法的測試結(jié)果如表3所示.
由表3可以看出,本文所提PLS-WSEOSELM算法在預(yù)測3個力學性能指標時綜合表現(xiàn)最好.對比算法中,Bagging算法表現(xiàn)最差,DOER算法具有多種在線更新的手段,所以相對于Bagging算法有很大的提升;WSEOSELM算法的預(yù)測性能也非常好,但是在實際工業(yè)應(yīng)用中,變量間通常具有共線性,加入PLS模型對數(shù)據(jù)進行提取潛在變量可以有效克服變量的共線性,從而提高模型的預(yù)測精度.
表3 鋁合金板帶力學性能指標在線預(yù)測結(jié)果
1) 本文提出了基于OSELM和博弈論的選擇性集成建模方法.利用博弈論原理對模型池中的子模型進行選擇,經(jīng)過博弈論選擇的子模型集在模型精度和模型多樣性方面都達到了最優(yōu),提高了集成模型的泛化性能,同時減少了在線運行的子模型的數(shù)量,縮減了計算時間.
2) 在子模型組合方面,使用在線交叉驗證算法對子模型的預(yù)測性能進行在線評估,并依據(jù)評估值動態(tài)地改變子模型的權(quán)重,以此策略可以應(yīng)對流數(shù)據(jù)中的概念漂移特性.