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