陳雙葉,趙 榮,符寒光,高建琛
(1.北京工業(yè)大學(xué)信息學(xué)部,北京 100124;2.北京工業(yè)大學(xué)材料科學(xué)與工程學(xué)院,北京 100124)
在復(fù)雜的工業(yè)生產(chǎn)過程中,產(chǎn)品質(zhì)量的好壞往往需要抽取部分產(chǎn)品,經(jīng)過離線的實(shí)驗(yàn)室檢驗(yàn)才能得到結(jié)果,需要投入大量的人力、物力,而且具有很強(qiáng)的滯后性.這些滯后性較大的變量往往采用軟測量模型進(jìn)行預(yù)測.但是,在實(shí)際應(yīng)用中,由于工業(yè)設(shè)備的磨損、電子器件的老化、原料屬性的差異等,會造成工藝參數(shù)的動態(tài)變化,這在機(jī)器學(xué)習(xí)領(lǐng)域稱為概念漂移[1].基于歷史數(shù)據(jù)訓(xùn)練的軟測量模型的預(yù)測性能會隨著概念漂移的出現(xiàn)而下降,其不再適用于概念漂移發(fā)生后的數(shù)據(jù),即模型與動態(tài)的系統(tǒng)不匹配.
研究表明,集成學(xué)習(xí)具有較好的概念漂移處理能力.集成學(xué)習(xí)是一種通過組合多個(gè)子模型以提高整體泛化性能的有效算法,該方法能很好地適應(yīng)數(shù)據(jù)分布的變化.準(zhǔn)確性和多樣性是集成的2個(gè)重要特征[2],目前研究大多只關(guān)注集成子模型的準(zhǔn)確性,忽視了子模型之間的差異選取[3].高慧云等[4]、Tumer等[5]指出子模型之間的差異性和子模型自身的準(zhǔn)確性是決定集成模型泛化性能的2個(gè)重要因素.為了提高集成模型的泛化性能,許多選擇性集成方法被提出,這些方法可分為基于排序的方法、基于聚類的方法和基于優(yōu)化的方法[6].基于排序的方法是比較直觀的選擇性集成算法[7],按照某種標(biāo)準(zhǔn)對子模型進(jìn)行排序,依次挑選子模型.Zhang等[8]通過計(jì)算子模型的精度、多樣性和泛化能力,采用多目標(biāo)排序算法對其進(jìn)行排序;Lu等[9]提出了一種兼顧準(zhǔn)確性和多樣性的啟發(fā)式度量方法以評估子模型對整個(gè)集成模型的貢獻(xiàn)量,按照貢獻(xiàn)量選取部分子模型用于集成.基于聚類的方法,通過聚類挑選有代表性的子模型用于集成.Fu等[10]對數(shù)據(jù)集中的預(yù)測值進(jìn)行聚類,挑選出每個(gè)集群中準(zhǔn)確性最高的模型用于集成;Lin等[11]基于k-均值聚類對初始集成子模型進(jìn)行剪枝,利用多層序列搜索策略動態(tài)循環(huán)地挑選用于集成的子模型.基于優(yōu)化的方法將挑選子模型看作優(yōu)化問題,挑選出成本最小或結(jié)果最優(yōu)的集成子模型.Zhou等[12]采用旋轉(zhuǎn)森林算法產(chǎn)生多樣性較高的候選子模型,利用遺傳算法來進(jìn)化并挑選集成池的最優(yōu)子集;Zhu等[13]采用改進(jìn)的離散人工魚群算法,挑選精度更高、差異性更大的子模型.
基于排序的選擇性集成方法是一種最簡單、計(jì)算成本最少的方法.本文使用排序法,提出了一種基于精度排序的選擇性集成建模方法.該方法采用在線極限學(xué)習(xí)機(jī)(online sequential extreme learning machine,OS_ELM)構(gòu)建子模型,每個(gè)子模型分類的各性能指標(biāo)代表子模型的特征屬性,利用近似線性依靠(approximate linear dependence,ALD)條件挑選出差異性較大的子模型用于集成.
本文通過改進(jìn)集成在線極限學(xué)習(xí)機(jī)(ensemble online sequential extreme learning machine,EOS_ELM),挑選出多樣性較大的子模型用于集成,提升了模型的泛化性能.該方法如圖1所示,共分為3個(gè)階段:學(xué)習(xí)階段、選擇階段和集成階段.
圖1 SEOS_ELM建模策略Fig.1 Modeling strategy of SEOS_ELM
學(xué)習(xí)階段分為離線建模和模型在線更新.離線建模是指利用靜態(tài)數(shù)據(jù)集訓(xùn)練初始模型;模型在線更新是指在數(shù)據(jù)流場景中,模型不斷地利用一個(gè)接一個(gè)到來的數(shù)據(jù)進(jìn)行參數(shù)的更新.
1.1.1 離線建模
yi=φ(xiWd×L+b1×L)βL×1,i=1,…,N0
(1)
式中:φ(·)為激活函數(shù);Wd×L和b1×L分別為輸入權(quán)重矩陣和偏移量向量;L為隱含層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù);βL×1為輸出權(quán)重向量.Wd×L和b1×L由計(jì)算機(jī)產(chǎn)生的隨機(jī)數(shù)組成,因此,確定OS_ELM模型只需計(jì)算出輸出權(quán)重向量βL×1.設(shè)隱含層的輸出為H0,則式(1)可重寫為
Y0=H0β0
(2)
式中
則輸出權(quán)重向量可確定為
(3)
在集成學(xué)習(xí)中,根據(jù)各子模型的預(yù)測精度A,計(jì)算各子模型的權(quán)重
(4)
式中:wt為第t個(gè)子模型的權(quán)重,t=1,…,m;m為子模型的總個(gè)數(shù).
1.1.2 模型在線更新
在線場景中,離線建立的模型可能不能適應(yīng)數(shù)據(jù)流的變化,導(dǎo)致模型的整體性能變低,通過模型的在線更新,即更新輸出權(quán)重向量來應(yīng)對概念漂移帶來的影響.
(5)
式中H1為當(dāng)前數(shù)據(jù)塊的隱含層輸出.令
則式(4)可重寫為
(6)
采用遞歸的思想,當(dāng)?shù)贜k+1個(gè)樣本到達(dá)時(shí),中間參數(shù)Kk+1和輸出權(quán)重向量βk+1可表示為
(7)
(8)
在線場景中,隨著集成中子模型的不斷更新,各子模型越來越趨向于一致性,導(dǎo)致子模型的多樣性降低.為保證集成中子模型的多樣性,本文提出了一種基于精度排序的選擇性集成建模方法.當(dāng)滑動窗口中的數(shù)據(jù)達(dá)到一定數(shù)量時(shí),按照各子模型在該窗口數(shù)據(jù)的預(yù)測精度對其進(jìn)行排序,將子模型在該窗口數(shù)據(jù)的其他性能指標(biāo)作為特征屬性,利用ALD條件依次挑選出用于集成的子模型.被挑選的子模型稱為基準(zhǔn)子模型,未被挑選的子模型將會用該窗口數(shù)據(jù)訓(xùn)練的新子模型替代,新訓(xùn)練的子模型稱為備選子模型.備選子模型參與下一個(gè)數(shù)據(jù)樣本的預(yù)測和參數(shù)更新,但不參與最終的集成輸出,用于下次子模型的挑選.下面具體介紹如何選擇子模型.
在線場景中,ft代表第t個(gè)子模型在某個(gè)窗口數(shù)據(jù)上的一系列性能指標(biāo)的向量,t∈{1,…,m}.子模型的ALD程度的描述為
(9)
(10)
在挑選子模型時(shí),精度最高的子模型默認(rèn)為第1個(gè)基準(zhǔn)子模型,按精度的順序依次判斷子模型是否能被挑選為基準(zhǔn)子模型.采用文獻(xiàn)[15]的方法,可得到遞推形式的ALD值,即
(11)
(12)
在此基礎(chǔ)上引入核函數(shù),將基準(zhǔn)子模型原始特征空間映射到更高維的特征空間,則基于核函數(shù)的遞推ALD值表示為
(13)
(14)
集成階段是將1.2節(jié)挑選的基準(zhǔn)子模型根據(jù)子模型權(quán)值進(jìn)行加權(quán)輸出,則集成輸出的結(jié)果為權(quán)重和最大的類別,即
(15)
針對本文所提的算法,為了驗(yàn)證其有效性,采用3組合成數(shù)據(jù)集和3組真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明所提算法能有效提高分類精度.
2.1.1 合成數(shù)據(jù)集
為了驗(yàn)證模型處理概念漂移的能力,在實(shí)驗(yàn)中測試了3組不同類型的數(shù)據(jù)集.在使用合成數(shù)據(jù)集時(shí),能確切知道概念漂移的類型以及數(shù)據(jù)分布變化的劇烈程度[16].3組合成數(shù)據(jù)集如表1所示,描述如下.
表1 合成數(shù)據(jù)集Table 1 Synthetic data sets
1)SEA Moving Hyperplane Concepts (SEA)包含3個(gè)特征屬性,只有前2個(gè)屬性(x1和x2)是相關(guān)的[16],3個(gè)屬性值都由0~10的整數(shù)隨機(jī)產(chǎn)生.根據(jù)不等式ax1+bx2≤θ來定義數(shù)據(jù)標(biāo)簽,若滿足不等式則類別為1,否則為0.為了模擬概念漂移,θ每隔1 000個(gè)數(shù)據(jù)就會發(fā)生變化.
2)Sine Concepts (SIN)根據(jù)三角函數(shù)不等式asin(bx1+θ)+c≤x2確定數(shù)據(jù)標(biāo)簽,若滿足不等式則為1,否則為0.其中x1和x2由取值范圍為[-5,5]的整數(shù)隨機(jī)產(chǎn)生,通過改變θ的值來模擬概念漂移,θ每隔200個(gè)數(shù)據(jù)變化一次.
3)Circle Concepts (CIR)通過圓的表達(dá)式(x1-a)2+(x2-b)2≤θ2確定數(shù)據(jù)集,若點(diǎn)(x1,x2)在以圓心為(a,b)、半徑為θ確定的圓內(nèi)或圓上,則標(biāo)簽為1,否則為0.其中x1和x2是由取值范圍為[-5,5]的整數(shù)隨機(jī)產(chǎn)生,θ每隔1 000個(gè)數(shù)據(jù)變化一次.
2.1.2 真實(shí)數(shù)據(jù)集
為了驗(yàn)證模型在實(shí)際應(yīng)用中能非常有效地提升分類精度,在實(shí)驗(yàn)中選用了3組流行的數(shù)據(jù)集進(jìn)行測試,結(jié)果表明,在真實(shí)數(shù)據(jù)上模型的性能也有很好的提升.3組真實(shí)數(shù)據(jù)集如表2所示,具體描述如下.
表2 真實(shí)數(shù)據(jù)集Table 2 Real-world data sets
1)Electricity數(shù)據(jù)集是被廣泛使用的數(shù)據(jù)集,包括10 000個(gè)樣本,12個(gè)屬性變量,每個(gè)樣本標(biāo)簽根據(jù)價(jià)格的變化來確定.
2)EEGEYE數(shù)據(jù)集來自使用Emotiv腦電圖(electroencephalogram,EEG)神經(jīng)耳機(jī)進(jìn)行的一次連續(xù)EEG測量.通過相機(jī)檢測到眼睛狀態(tài),“1”表示閉眼,“0”表示睜眼.該數(shù)據(jù)集共14 980個(gè)樣本,每個(gè)樣本有14個(gè)屬性變量.
3)Messidor數(shù)據(jù)集包含從Messidor圖像集中提取的特征以預(yù)測圖像是否包含糖尿病性視網(wǎng)膜病變的體征.該數(shù)據(jù)集包含1 151個(gè)樣本,每個(gè)樣本含有19個(gè)屬性變量,分為2個(gè)類別:0表示正常;1表示患有糖尿病視網(wǎng)膜病變.
本實(shí)驗(yàn)是基于數(shù)據(jù)流在線更新子模型,基于滑動窗口選擇子模型,即在模型完成一個(gè)樣本的預(yù)測得到其真實(shí)標(biāo)簽后更新各子模型的參數(shù),當(dāng)預(yù)測的樣本達(dá)到一定數(shù)量時(shí),根據(jù)各子模型在該窗口數(shù)據(jù)上的性能指標(biāo)選擇保留或移除,被選擇的模型用于最終的集成.選擇模型的閾值v決定了基準(zhǔn)子模型的數(shù)量,本實(shí)驗(yàn)設(shè)置的初始閾值為0,每次選擇基準(zhǔn)子模型后,將會更新一次閾值.本實(shí)驗(yàn)采取的閾值更新策略為
(16)
式中:δ={δ2,…,δm}為m個(gè)子模型產(chǎn)生的m-1個(gè)ALD值;med(·)表示取中值.
選擇基準(zhǔn)子模型的同時(shí),用該窗口中的數(shù)據(jù)訓(xùn)練新的子模型,使總的子模型個(gè)數(shù)保持一致.
(17)
式中Tp、Fp、Fn、Tn為混淆矩陣中的元素,具體含義如表3所示.
表3 混淆矩陣Table 3 Confusion matrix
本實(shí)驗(yàn)均采用數(shù)據(jù)集的20%作為訓(xùn)練集,80%作為測試集,表4給出了不同算法在不同數(shù)據(jù)集上的運(yùn)行結(jié)果.表4中的選擇集成在線極限學(xué)習(xí)機(jī)(selection ensemble online sequential extreme learning machine,SEOS_ELM)算法和核選擇集成在線極限學(xué)習(xí)機(jī)(kernel selection ensemble online sequential extreme learning machine,KSEOS_ELM)算法挑選基準(zhǔn)子模型時(shí)的滑動窗口大小設(shè)置為50,關(guān)于滑動窗口大小的選擇在后面討論.
表4 不同算法的運(yùn)行結(jié)果對比Table 4 Comparison of running results of different algorithms
從表4可以看出,提出的SEOS_ELM算法和KSEOS_ELM算法的分類精度明顯高于EOS_ELM算法的分類精度.
為了驗(yàn)證不同大小的滑動窗口與SEOS_ELM、KSEOS_ELM算法的分類精度有關(guān),本實(shí)驗(yàn)選取滑動窗口分別為250、200、150、100、50和30進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示.
從表5中可以看出,模型的分類精度會隨著滑動窗口的減小而提高,但隨著滑動窗口的逐步減小,模型分類精度的提升越來越小.根據(jù)表5中的結(jié)果,滑動窗口一般選擇在50或100較為合適.
本文提出的SEOS_ELM和KSEOS_ELM模型之所以能夠提升集成模型的預(yù)測精度,是因?yàn)樵诩傻倪^程中,首先按照各子模型的分類精度對其進(jìn)行排序,優(yōu)先挑選精度較高的子模型.在考慮子模型精度的同時(shí),根據(jù)各子模型的ALD值,保留了差異性較大的子模型,這樣在不同概念的漂移出現(xiàn)時(shí),不同的子模型將會更好地應(yīng)對.表4中的結(jié)果表明,所提出的選擇集成模型對數(shù)據(jù)流分類是有效的,在合成數(shù)據(jù)集和真實(shí)數(shù)據(jù)集上,分類精度都有明顯的提升.
EOS_ELM算法在解決概念漂移問題時(shí)雖然有一定的優(yōu)勢,但是在未發(fā)生概念漂移時(shí),隨著集成中子模型的在線更新,其預(yù)測性能慢慢趨向一致,導(dǎo)致子模型間的多樣性降低.一旦發(fā)生概念漂移,集成中的子模型不能及時(shí)適應(yīng)漂移后的概念,導(dǎo)致預(yù)測精度下降,而SEOS_ELM和KSEOS_ELM算法中的子模型在在線更新的基礎(chǔ)上,挑選出精度較高、多樣性較大的子模型用于最終的集成,即使發(fā)生概念漂移,SEOS_ELM和KSEOS_ELM算法也能迅速適應(yīng)當(dāng)前的概念,因此,本文提出的SEOS_ELM和KSEOS_ELM算法的預(yù)測性能優(yōu)于EOS_ELM算法.
在選擇基準(zhǔn)子模型時(shí),滑動窗口太小會導(dǎo)致子模型更新頻繁,在根據(jù)混淆矩陣計(jì)算各子模型的特征屬性(性能指標(biāo))時(shí),為了避免分母為0的情況,進(jìn)行了拉普拉斯修正,滑動窗口太小還會影響各子模型特征屬性的計(jì)算精度且減小滑動窗口對集成模型分類性能的提升也越來越??;滑動窗口過大,導(dǎo)致基準(zhǔn)子模型不能及時(shí)更換,子模型的多樣性會隨著子模型的在線更新而減小,即基準(zhǔn)子模型的預(yù)測性能慢慢趨向一致,在新的概念漂移發(fā)生時(shí),現(xiàn)有的基準(zhǔn)子模型反應(yīng)相對緩慢.表5中的實(shí)驗(yàn)結(jié)果表明,滑動窗口的大小應(yīng)選擇50或100較為合適.
表5 不同窗口大小對模型精度的影響Table 5 Influence of different sliding window sizes on model accuracy
1)根據(jù)子模型在滑動窗口上的性能指標(biāo),本文提出了一種基于精度排序,利用ALD條件的選擇性集成建模方法——SEOS_ELM.該方法將各子模型按照分類精度排序,在考慮各子模型預(yù)測精度的同時(shí),根據(jù)各子模型在滑動窗口數(shù)據(jù)中的其他性能指標(biāo)挑選出差異性較大的子模型用于集成,在確保集成子模型多樣性的同時(shí),又能確保子模型擁有較高的精度,進(jìn)而提升了集成模型應(yīng)對概念漂移的能力.
2)在計(jì)算子模型與基準(zhǔn)子模型的ALD值時(shí),引入核函數(shù),將子模型的原始空間映射到高維空間,提出了KSEOS_ELM算法.
3)設(shè)計(jì)了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,SEOS_ELM和KSEOS_ELM算法具有更好的預(yù)測性能,對具有概念漂移的數(shù)據(jù)集效果更好.