包 洋, 郭 威,2
(1. 南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 南京 211816; 2. 鹽城師范學(xué)院 信息工程學(xué)院, 江蘇 鹽城 224007)
動(dòng)態(tài)數(shù)據(jù)流挖掘是數(shù)據(jù)挖掘領(lǐng)域的研究熱點(diǎn)之一, 當(dāng)前動(dòng)態(tài)數(shù)據(jù)挖掘技術(shù)已滲透到許多應(yīng)用領(lǐng)域中, 如交通流量監(jiān)控與管理、 電力供應(yīng)預(yù)測(cè)與管理、 金融服務(wù)分析與管理等均涌現(xiàn)出大量動(dòng)態(tài)數(shù)據(jù)。這些數(shù)據(jù)作為一種流式數(shù)據(jù)存在, 其具有時(shí)序性、 快速變化和海量等特點(diǎn), 被稱為動(dòng)態(tài)數(shù)據(jù)流[1]。在動(dòng)態(tài)數(shù)據(jù)流環(huán)境下, 傳統(tǒng)批量學(xué)習(xí)方法會(huì)承受高昂的再訓(xùn)練成本。相反, 在線學(xué)習(xí)算法可快速有效地進(jìn)行模型更新, 因此在線學(xué)習(xí)方法更適合處理動(dòng)態(tài)數(shù)據(jù)流問(wèn)題[2]。
寬度學(xué)習(xí)系統(tǒng)(BLS: Broad Learning System)是由Chen等[3]提出的一種深度學(xué)習(xí)的替代框架。相較于深度學(xué)習(xí)算法, BLS有著更快的計(jì)算速度并且不會(huì)遇到梯度消失或梯度爆炸等問(wèn)題, 被認(rèn)為是知識(shí)發(fā)現(xiàn)和數(shù)據(jù)工程領(lǐng)域中一種極具前途的技術(shù)。BLS具有在線學(xué)習(xí)的優(yōu)勢(shì), 在因新增訓(xùn)練數(shù)據(jù)而需要重構(gòu)模型的情況下, BLS可快速地利用這些新增數(shù)據(jù)更新原有模型, 從而學(xué)習(xí)到更接近當(dāng)前數(shù)據(jù)變化趨勢(shì)的規(guī)律。由于BLS具有良好的特征提取和在線學(xué)習(xí)能力, 許多學(xué)者陸續(xù)提出了眾多基于在線BLS的改進(jìn)算法。Pu等[4]將半監(jiān)督學(xué)習(xí)方法與在線BLS相結(jié)合提出了OSSBLS(Online Semi-Supervised Broad Learning System), 并將其運(yùn)用于工業(yè)故障檢測(cè); Xu等[5]將BLS的增強(qiáng)節(jié)點(diǎn)替換為遞歸結(jié)構(gòu)提出了RBLS(Recurrent Broad Learning System), 從而獲得捕獲時(shí)間序列數(shù)據(jù)動(dòng)態(tài)特征的能力; Guo等[6]將內(nèi)核遞歸最大相關(guān)熵引入BLS, 提出OR-ESBLS(Online Robust Echo State Structure Based RBLS)增強(qiáng)了算法的魯棒性; Fan等[7]提出在線IWBLS(Incremental Wishart Broad Learning System)實(shí)現(xiàn)合成孔徑雷達(dá)圖像分類; Cui等[8]提出時(shí)空寬度學(xué)習(xí)網(wǎng)絡(luò)(ST-BLN: Spatio-Temporal Broad Learning Networks)用于預(yù)測(cè)交通速度。
盡管上述基于在線BLS的改進(jìn)算法已應(yīng)用于眾多研究領(lǐng)域, 但到目前為止鮮有針對(duì)動(dòng)態(tài)數(shù)據(jù)流建模的在線BLS算法。動(dòng)態(tài)數(shù)據(jù)流的屬性分布會(huì)隨時(shí)間演變, 要求學(xué)習(xí)模型能不斷學(xué)習(xí)新的數(shù)據(jù)樣本以獲取最新知識(shí), 并保持模型的快速更新, 從而對(duì)目標(biāo)系統(tǒng)的實(shí)時(shí)狀態(tài)和后續(xù)趨勢(shì)做出及時(shí)、 準(zhǔn)確的分析和預(yù)測(cè)[9]。雖然傳統(tǒng)的在線BLS算法會(huì)學(xué)習(xí)所有到達(dá)模型的數(shù)據(jù), 但不考慮新舊數(shù)據(jù)的時(shí)效性和新舊數(shù)據(jù)對(duì)學(xué)習(xí)模型的不同貢獻(xiàn)。為此, 筆者將遺忘因子和滑動(dòng)窗口的思想融入到在線BLS中, 提出了一種基于遺忘因子的在線BLS算法(FF-OBLS: Online Broad Learning System based on Forgetting Factor)和一種基于滑動(dòng)窗口的在線BLS算法(SW-OBLS: Online Broad Learning System based on Sliding Window)。
寬度學(xué)習(xí)系統(tǒng)(BLS)是一種基于隨機(jī)向量函數(shù)型網(wǎng)絡(luò)(RVFLN: Random Vector Function-Link Network)[10]的快速高效的學(xué)習(xí)系統(tǒng), 其基本結(jié)構(gòu)如圖1所示。
圖1 寬度學(xué)習(xí)系統(tǒng)的結(jié)構(gòu)Fig.1 Structure of broad learning system
BLS模型的訓(xùn)練過(guò)程總結(jié)如下。
給出訓(xùn)練數(shù)據(jù)集{X,Y}, 通過(guò)線性映射將輸入X轉(zhuǎn)換為特征節(jié)點(diǎn)上的隨機(jī)特征, 映射層的輸出表達(dá)式為
Zi=φi(XWei+βei)∈RN×S,i=1,…,n
(1)
其中φi(·)是線性變換函數(shù);Wei和βei分別是隨機(jī)生成的權(quán)重矩陣和偏置矩陣;n是特征節(jié)點(diǎn)組的數(shù)量,S是每組特征節(jié)點(diǎn)的數(shù)量。所有特征映射窗口Zi拼接組成特征映射層為
Z?[Z1,…,Zn]
(2)
特征映射層Z經(jīng)過(guò)非線性變換形成增強(qiáng)節(jié)點(diǎn), 第j組強(qiáng)化節(jié)點(diǎn)的輸出如下
Hj=ξj(ZWhj+βhj)∈RN×1,j=1,…,m
(3)
其中ξ(·)是非線性變換函數(shù);Whj和βhj分別是隨機(jī)產(chǎn)生的權(quán)重矩陣和偏置矩陣;m是強(qiáng)化節(jié)點(diǎn)的數(shù)量。所有增強(qiáng)節(jié)點(diǎn)Hj拼接組成增強(qiáng)層為
H?[H1,…,Hm]
(4)
然后將特征映射層Z和增強(qiáng)層H直接連接到BLS的輸出端, 結(jié)果為
(5)
W=(CI+ATA)?ATY
(6)
其中C是正則化參數(shù)。
1.2 寬度學(xué)習(xí)系統(tǒng)在線學(xué)習(xí)算法
訓(xùn)練樣本在在線寬度學(xué)習(xí)系統(tǒng)(OBLS: Online Broad Learning System)的實(shí)際應(yīng)用場(chǎng)景中通常是按數(shù)據(jù)流的形式貫序到達(dá)。給定Na個(gè)新的數(shù)據(jù)樣本ωa={Xa,Ya},Xa對(duì)應(yīng)的特征節(jié)點(diǎn)Za和強(qiáng)化節(jié)點(diǎn)Ha分別為
Za=[φ1(XaWe1+βe1),…,φn(XaWen+βen)]
(7)
Ha=[ξ1(ZaWh1+βh1),…,ξm(ZaWhm+βhm)]
(8)
定義Aa?[Za|Ha]為Xa的特征映射層和強(qiáng)化層的輸出。增量計(jì)算整個(gè)輸入特征矩陣的偽逆過(guò)程如下
(9)
其中
(10)
BLS的輸出權(quán)值矩陣W的更新公式如下
Wnew=W+B(Ya-AaW)
(11)
當(dāng)不斷有新的數(shù)據(jù)樣本到達(dá)模型時(shí), 傳統(tǒng)的在線BLS學(xué)習(xí)算法中的數(shù)據(jù)樣本矩陣會(huì)不斷增大從而導(dǎo)致計(jì)算量的增大。并且傳統(tǒng)在線BLS算法認(rèn)為新舊數(shù)據(jù)樣本的重要性相同, 即該算法不區(qū)分新舊數(shù)據(jù)對(duì)模型的貢獻(xiàn), 也不考慮數(shù)據(jù)樣本的時(shí)效性。為了使BLS算法更適用于處理動(dòng)態(tài)數(shù)據(jù)流問(wèn)題, 首先對(duì)原始在線BLS算法進(jìn)行改寫, 并在此基礎(chǔ)上提出兩種具有遺忘機(jī)制的在線BLS算法。
由式(10)、 式(11)可以看出, 原始在線BLS在學(xué)習(xí)過(guò)程中是利用低階矩陣的逆表示原矩陣的逆。該計(jì)算方法是由Grevillet[11]提出的一種分塊矩陣階數(shù)遞推算法。雖然該遞推算法能及時(shí)學(xué)習(xí)新的樣本知識(shí), 但遞推過(guò)程中式(9)中的矩陣A需要存儲(chǔ)所有樣本信息, 使樣本矩陣的存儲(chǔ)量不斷增大從而導(dǎo)致計(jì)算量的增大。對(duì)動(dòng)態(tài)數(shù)據(jù)流環(huán)境, 上述遞推算法在大量實(shí)際應(yīng)用中難以實(shí)現(xiàn)。為克服分塊矩陣階數(shù)遞推算法的缺點(diǎn), 根據(jù)新的Moore-Penrose廣義逆階數(shù)遞推公式[12]將OBLS算法進(jìn)行改進(jìn)。計(jì)算初始化權(quán)值
(12)
其中
(13)
A0?[Z0|H0]是初始化訓(xùn)練數(shù)據(jù)集X0的特征映射層和強(qiáng)化層的輸出;Y0是給出的初始訓(xùn)練數(shù)據(jù)集的標(biāo)簽矩陣。
在線學(xué)習(xí)階段, 當(dāng)獲得第k個(gè)新的訓(xùn)練數(shù)據(jù)塊ωk=(Xk,Yk)時(shí), 可根據(jù)
(14)
(15)
遞推計(jì)算出權(quán)值。其中Ak?[Zk|Hk]是Xk的特征映射層和強(qiáng)化層的輸出;Yk是給出的Xk的標(biāo)簽矩陣。
對(duì)有些時(shí)變系統(tǒng), 新舊數(shù)據(jù)樣本之間具有差異性, 相比之下, 新樣本更能反映系統(tǒng)變化趨勢(shì)。為體現(xiàn)新舊樣本的差異性, 筆者將遺忘因子的思想融入BLS并提出了FF-OBLS模型。遺忘因子的核心思想是根據(jù)數(shù)據(jù)樣本到達(dá)的時(shí)間次序賦予每個(gè)(塊)數(shù)據(jù)樣本不同的權(quán)值, 以體現(xiàn)新舊樣本的不同貢獻(xiàn)。
在BLS模型初始化訓(xùn)練數(shù)據(jù)塊ω0=(X0,Y0)后, 初始的輸出權(quán)值W0和P0可由式(12)、 式(13)計(jì)算得到。進(jìn)入在線學(xué)習(xí)階段時(shí), 當(dāng)獲得一個(gè)新的數(shù)據(jù)樣本塊ω1=(X1,Y1), 可計(jì)算出樣本矩陣X1變換后的輸入矩陣A1?[Z1|H1], 其中Z1和H1分別是BLS特征映射層的輸出和強(qiáng)化層的輸出。由于ω1比ω0更能反映當(dāng)前數(shù)據(jù)的特征和趨勢(shì), 因此FF-OBLS模型中,ω1的權(quán)重應(yīng)大于ω0, 以反映新舊樣本之間的差異。為此引入遺忘因子λ, 0<λ≤1調(diào)整ω1和ω0的權(quán)重。
定義W1為第1次更新后的輸出權(quán)值, 通過(guò)
(16)
(17)
類似地, 當(dāng)?shù)趉個(gè)數(shù)據(jù)塊ωk=(Xk,Yk)進(jìn)入模型訓(xùn)練時(shí), 可計(jì)算出樣本矩陣Xk變換后的輸入矩陣Ak?[Zk|Hk], 其中Zk和Hk分別是BLS特征映射層的輸出和強(qiáng)化層的輸出。由式(17)類推, 輸出權(quán)值的更新過(guò)程如下
(18)
則Wk可通過(guò)
(19)
(20)
當(dāng)λ=1時(shí),P的更新公式與式(14)相同, 此時(shí)算法退化為原始OBLS算法。
算法流程如下:
1) 獲取初始訓(xùn)練數(shù)據(jù)集, 并設(shè)置合適的遺忘因子λ;
2) 根據(jù)寬度學(xué)習(xí)算法初始化學(xué)習(xí)模型, 由式(12)、 式(13)分別計(jì)算出W和P;
3) 獲取新的數(shù)據(jù), 根據(jù)式(7)、 式(8)計(jì)算出Z和H, 令A(yù)=[Z|H];
4) 利用式(19)、 式(20)更新W和P;
5) 若有新的數(shù)據(jù)到達(dá)模型, 則重復(fù)步驟3)和步驟4)的算法更新W和P。
在某些應(yīng)用場(chǎng)景, 數(shù)據(jù)樣本往往具有一定的時(shí)效性, 即樣本僅在一段時(shí)間內(nèi)有效。為消除失效的舊樣本對(duì)模型的影響, 筆者將滑動(dòng)窗口的思想融入BLS并提出了SW-OBLS模型?;瑒?dòng)窗口策略是一種消除過(guò)時(shí)樣本的方法, 其核心思想如下: 在線學(xué)習(xí)過(guò)程中需要設(shè)置一個(gè)滑動(dòng)窗口, 其大小需要覆蓋當(dāng)前有效樣本的數(shù)量。當(dāng)新的樣本塊輸入模型訓(xùn)練時(shí), 若此時(shí)所有數(shù)據(jù)樣本的數(shù)量相加超過(guò)滑動(dòng)窗口的大小, 則需要?jiǎng)h除距離當(dāng)前時(shí)刻最遠(yuǎn)的舊數(shù)據(jù)塊, 以逐步擺脫舊樣本對(duì)當(dāng)前學(xué)習(xí)模型的影響。
P0=P0+P0T(I-P0T)-1P0
(21)
(22)
(23)
(24)
算法流程如下:
1) 獲取初始訓(xùn)練數(shù)據(jù)集, 并且設(shè)置合適的滑動(dòng)窗口SW;
2) 根據(jù)寬度學(xué)習(xí)算法初始化學(xué)習(xí)模型, 由式(12)、 式(13)分別計(jì)算出W和P;
3) 若初始訓(xùn)練數(shù)據(jù)集的數(shù)量大于SW, 則需根據(jù)式(21)、 式(22)更新W和P;
4) 獲取新的數(shù)據(jù), 根據(jù)式(7)、 式(8)計(jì)算出Z和H, 令A(yù)=[Z|H];
5) 若此時(shí)模型中的數(shù)據(jù)和新數(shù)據(jù)的數(shù)量之和小于或等于SW, 根據(jù)式(14)、 式(15)更新W和P;
6) 若此時(shí)模型中的數(shù)據(jù)和新數(shù)據(jù)的數(shù)量之和大于SW, 需根據(jù)式(23)、 式(24)更新W和P;
7) 若有新的數(shù)據(jù)到達(dá)模型, 則重復(fù)步驟4)的算法并且根據(jù)條件選擇步驟5)或步驟6)更新W和P。
為驗(yàn)證提出的SW-OBLS和FF-OBLS算法的有效性, 使用一個(gè)模擬動(dòng)態(tài)數(shù)據(jù)集和一個(gè)具有結(jié)構(gòu)突變特征的真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn), 并將OBLS算法、 OSELM(Online Sequential Extreme Learning Machine)[13]算法、 FOS-ELM(Online Sequential Extreme Learning Machine with Forgetting Mechanism)[14]算法與提出的SW-OBLS和FF-OBLS進(jìn)行比較。實(shí)驗(yàn)結(jié)果采用均方根誤差(RMSE: Root Mean Square Error)作為準(zhǔn)確性和泛化的度量標(biāo)準(zhǔn), OBLS、OSELM、FOS-ELM、FF-OBLS和SW-OBLS的所有激活函數(shù)均采用“Sigmoid”函數(shù), 并且實(shí)驗(yàn)結(jié)果均為同一臺(tái)PC進(jìn)行30次相同實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果。
使用人工的非平穩(wěn)時(shí)間序列數(shù)據(jù)集模擬時(shí)變模型中數(shù)據(jù)的動(dòng)態(tài)性。數(shù)據(jù)集共包含3 000個(gè)數(shù)據(jù)樣本, 每個(gè)數(shù)據(jù)樣本的輸入包含4個(gè)隨機(jī)變量, 并且這些隨機(jī)變量是由均值為0和標(biāo)準(zhǔn)差為0.1的正態(tài)分布隨機(jī)生成; 每個(gè)數(shù)據(jù)樣本的輸出是4維輸入向量和相應(yīng)系數(shù)的4維向量的內(nèi)積。在該時(shí)變系統(tǒng)中, 每個(gè)樣本的系數(shù)都隨著時(shí)間不斷變化[15]。設(shè)定系數(shù)向量的初始值為
a(0)=[0.5 0.2 0.7 0.8]
(25)
隨后這些值根據(jù)
(26)
隨時(shí)間變化。其中sig(·)是“Sigmoid”函數(shù),i是樣本序號(hào),j是系數(shù)向量的分量下標(biāo), 即j=1,2,3,4。為使實(shí)驗(yàn)更具真實(shí)性, 在該數(shù)據(jù)集中添加了均值為0和標(biāo)準(zhǔn)差為10-5的高斯噪聲。
采用OBLS、OSELM、FOS-ELM、FF-OBLS、SW-OBLS 5種算法對(duì)時(shí)變系統(tǒng)進(jìn)行在線建模和預(yù)測(cè)。BLS的結(jié)構(gòu)由4個(gè)參數(shù)決定: 特征映射節(jié)點(diǎn)的組數(shù)N1, 每組中特征節(jié)點(diǎn)個(gè)數(shù)N2, 強(qiáng)化節(jié)點(diǎn)的組數(shù)N3和每組中強(qiáng)化節(jié)點(diǎn)的個(gè)數(shù)N4。為使各寬度學(xué)習(xí)系統(tǒng)既有較好的特征提取能力又不會(huì)使結(jié)構(gòu)過(guò)于復(fù)雜, 令各寬度學(xué)習(xí)系統(tǒng)的N4=1, 即各寬度學(xué)習(xí)系統(tǒng)只有一組強(qiáng)化節(jié)點(diǎn)。使用人工的非平穩(wěn)時(shí)間序列數(shù)據(jù)集在BLS模型上對(duì)N1、N2、N3遍歷取值實(shí)驗(yàn)后, 選取預(yù)測(cè)精度較優(yōu)的結(jié)構(gòu)參數(shù)作為各寬度學(xué)習(xí)系統(tǒng)的結(jié)構(gòu)參數(shù), 因此設(shè)置OBLS、FF-OBLS、SW-OBLS算法的結(jié)構(gòu)參數(shù)N1=8;N2=4;N3=32;N4=1。OSELM與FOS-ELM的隱藏層節(jié)點(diǎn)數(shù)設(shè)置為30。初始化模型所需的訓(xùn)練數(shù)據(jù)數(shù)量均為300個(gè), 在線學(xué)習(xí)階段每次訓(xùn)練的樣本數(shù)量為5。由于上述算法在運(yùn)算過(guò)程中可能會(huì)產(chǎn)生病態(tài)矩陣, 需要對(duì)病態(tài)矩陣進(jìn)行正則化處理, 實(shí)驗(yàn)中所有正則化參數(shù)c均取2-20。對(duì)SW-OBLS模型多次選取不同的Sw值進(jìn)行實(shí)驗(yàn), 再分別對(duì)在線學(xué)習(xí)階段的前500、1 000、1 500、2 000、2 700個(gè)數(shù)據(jù)樣本求均方根誤差(RMSE), 實(shí)驗(yàn)結(jié)果如圖2所示。對(duì)FF-OBLS模型, 需要確定其遺忘因子λ的大小。該實(shí)驗(yàn)采用靜態(tài)遺忘因子方法, 分別多次選取不同的遺忘因子λ進(jìn)行實(shí)驗(yàn), 再分別對(duì)在線學(xué)習(xí)階段不同預(yù)測(cè)步長(zhǎng)的數(shù)據(jù)求均方根誤差(RMSE), 實(shí)驗(yàn)結(jié)果如圖3所示。
圖2 SW-OBLS在不同滑動(dòng)窗口下的平均RMSE 圖3 FF-OBLS在不同遺忘因子下的平均RMSE Fig.2 Average prediction RMSE of SW-OBLS Fig.3 Average prediction RMSE of FF-OBLS under different sliding window under different forgetting factor
根據(jù)滑動(dòng)窗口策略可知, 當(dāng)SW-OBLS算法的Sw設(shè)置為3 000時(shí), SW-OBLS退化為原始OBLS算法, 即在線學(xué)習(xí)過(guò)程中沒(méi)有任何數(shù)據(jù)樣本被“遺忘”。由圖2可以看出, 當(dāng)Sw設(shè)置合理時(shí), SW-OBLS在各預(yù)測(cè)步長(zhǎng)下的預(yù)測(cè)精度均優(yōu)于OBLS。但是Sw不宜設(shè)置得過(guò)小或過(guò)大,Sw=100時(shí)的預(yù)測(cè)精度明顯不如Sw=300時(shí)的預(yù)測(cè)精度。當(dāng)Sw設(shè)置過(guò)小時(shí), 甚至?xí)霈F(xiàn)SW-OBLS的預(yù)測(cè)精度比原始OBLS的預(yù)測(cè)精度更差的情況。這正是由于滑動(dòng)窗口策略的局限性導(dǎo)致的, 因?yàn)榛瑒?dòng)窗口越小, 模型中包含的數(shù)據(jù)樣本知識(shí)就越少, 當(dāng)數(shù)據(jù)流隨時(shí)間的波動(dòng)性不強(qiáng)時(shí), 學(xué)習(xí)模型會(huì)過(guò)快“遺忘”樣本知識(shí), 從而導(dǎo)致算法欠擬合。當(dāng)Sw設(shè)置越大, SW-OBLS算法的預(yù)測(cè)精度會(huì)越趨近于OBLS, 算法性能不能達(dá)到要求。對(duì)FF-OBLS模型, 當(dāng)λ設(shè)置為1時(shí), FF-OBLS退化為原始OBLS。由圖3所示,λ的取值不能太小, 當(dāng)λ=0.95時(shí), FF-OBLS算法已經(jīng)開(kāi)始有發(fā)散的趨勢(shì)。這是由于算法在迭代過(guò)程中舊的數(shù)據(jù)樣本矩陣會(huì)乘以λk,k表示算法迭代的次數(shù)。λk會(huì)隨著迭代次數(shù)的增加逐漸趨近于0, 算法中正則化項(xiàng)的功能會(huì)逐漸被減弱直至完全消失, 從而導(dǎo)致算法產(chǎn)生病態(tài)矩陣引起發(fā)散。
將Sw設(shè)置為330的SW-OBLS模型、λ設(shè)置為0.96的FF-OBLS模型和原始OBLS模型、 OSELM模型和FOS-ELM模型進(jìn)行比較, 其中FOS-ELM的滑動(dòng)窗口設(shè)置為300。實(shí)驗(yàn)結(jié)果如表1所示。各算法的在線訓(xùn)練階段時(shí)間開(kāi)銷如表2所示。由表1可知, 在選擇合理參數(shù)情況下, SW-OBLS和FF-OBLS不同預(yù)測(cè)步長(zhǎng)下的預(yù)測(cè)精度都小于OBLS。這說(shuō)明基于滑動(dòng)窗口的SW-OBLS和基于遺忘因子的FF-OBLS能更準(zhǔn)確捕捉數(shù)據(jù)的變化趨勢(shì)并且做出更精確的預(yù)測(cè)。同時(shí)OBLS的預(yù)測(cè)精度優(yōu)于OSELM的預(yù)測(cè)精度, SW-OBLS和FF-OBLS的預(yù)測(cè)精度也優(yōu)于FOS-ELM, 可以看出基于BLS的算法性能的優(yōu)越性。雖然ELM與BLS都通過(guò)求偽逆獲得輸出權(quán)重, 但BLS的隱藏層構(gòu)成比ELM更豐富, 它包含了輸入數(shù)據(jù)的線性特征(特征節(jié)點(diǎn))和非線性特征(增強(qiáng)節(jié)點(diǎn)), 這意味著BLS具有更好的特征提取能力。由表2可知, SW-OBLS和FF-OBLS的時(shí)間開(kāi)銷要明顯小于OBLS。
表1 時(shí)變系統(tǒng)上不同預(yù)測(cè)步驟下各模型平均RMSE
表2 時(shí)變系統(tǒng)上各模型的時(shí)間開(kāi)銷
實(shí)驗(yàn)使用具有結(jié)構(gòu)突變特性的空氣質(zhì)量數(shù)據(jù)集評(píng)估提出的SW-OSBLS和FF-OSBLS的有效性。該數(shù)據(jù)集收集于2004年3月-2005年2月, 收集地點(diǎn)位于意大利一座污染嚴(yán)重的城市。經(jīng)過(guò)預(yù)處理后的數(shù)據(jù)集包含6 900個(gè)數(shù)據(jù)樣本, 數(shù)據(jù)樣本包含9個(gè)屬性, 包括平均每小時(shí)檢測(cè)到的PT08.S1(氧化錫)、 苯濃度、 PT08.S2(二氧化鈦)、 PT08.S3(氧化鎢)、 PT08.S4(二氧化氮)、 PT08.S5(氧化銦)、 溫度、 相對(duì)濕度和絕對(duì)濕度。使用傳感器每小時(shí)平均檢測(cè)到的PT08.S3 (氧化鎢)作為輸出, 其余屬性作為輸入進(jìn)行預(yù)測(cè)實(shí)驗(yàn)。
使用該真實(shí)數(shù)據(jù)集在OSBLS、OSELM、FOS-ELM、SW-OSBLS和FF-OSBLS上進(jìn)行多次不同預(yù)測(cè)步長(zhǎng)實(shí)驗(yàn), 再選取預(yù)測(cè)精度較優(yōu)的結(jié)構(gòu)參數(shù)進(jìn)行對(duì)比實(shí)驗(yàn), 設(shè)置各寬度學(xué)習(xí)系統(tǒng)的結(jié)構(gòu)參數(shù)N1=4,N2=7,N2=61,N4=1, SW-OSBLS的Sw設(shè)置為400, FF-OSBLS算法的λ設(shè)置為0.986。初始化模型的訓(xùn)練集數(shù)量為500個(gè)。各模型在不同預(yù)測(cè)步長(zhǎng)下的RMSE如表3所示, 在線訓(xùn)練階段的時(shí)間開(kāi)銷如表4所示。
表3 空氣質(zhì)量數(shù)據(jù)集上不同預(yù)測(cè)步驟下各模型平均RMSE
表4 空氣質(zhì)量數(shù)據(jù)集上各模型的時(shí)間開(kāi)銷
由表4可以看出, SW-OBLS和FF-OBLS在時(shí)間開(kāi)銷上明顯優(yōu)于傳統(tǒng)OBLS。根據(jù)表3可知, 基于OBLS的改進(jìn)模型在精度上優(yōu)于基于OSELM的模型, SW-OBLS和FF-OBLS在預(yù)測(cè)步長(zhǎng)1 500內(nèi)的預(yù)測(cè)精度相差不大, 但SW-OBLS在預(yù)測(cè)步長(zhǎng)3 000及以后的預(yù)測(cè)精度都明顯優(yōu)于其余算法。由此可以看出, SW-OBLS更適用于處理結(jié)構(gòu)突變特征的時(shí)變應(yīng)用場(chǎng)景。
雖然SW-OBLS和FF-OBLS都是基于BLS的改進(jìn)算法, 但其算法思想的不同也導(dǎo)致了它們?cè)谟?jì)算復(fù)雜度、 使用靈活度、 穩(wěn)定性等方面存在差異。從算法計(jì)算復(fù)雜度分析, 由于OBLS算法在線學(xué)習(xí)過(guò)程中需要存儲(chǔ)所有樣本信息, 因此樣本數(shù)據(jù)的儲(chǔ)存量和計(jì)算量都在不斷增大。SW-OBLS通過(guò)一次較為復(fù)雜的迭代計(jì)算完成, 而FF-OBLS的模型更新公式與Moore-Penrose廣義逆階數(shù)遞推公式同樣具有簡(jiǎn)潔性。從使用靈活性角度分析, 對(duì)于FF-OBLS, 若將舊數(shù)據(jù)樣本的遺忘因子設(shè)置為0, 將有效數(shù)據(jù)樣本的遺忘因子設(shè)置為1, 則SW-OBLS可看作是FF-OBLS的一種特例。這表明基于遺忘因子的SW-OBLS具有更高的靈活度。在穩(wěn)定性方面, 由于遺忘因子的引入, FF-OBLS的計(jì)算過(guò)程中會(huì)更容易出現(xiàn)病態(tài)矩陣從而造成算法的發(fā)散。雖然引入正則化技術(shù)可有效緩解病態(tài)矩陣的出現(xiàn), 但當(dāng)遺忘因子過(guò)小時(shí), 該穩(wěn)定性也無(wú)法持續(xù)。對(duì)于SW-OBLS, 若滑動(dòng)窗口設(shè)置越大則越穩(wěn)定, 但將犧牲算法遺忘機(jī)制的性能。
綜上, SW-OBLS算法簡(jiǎn)單直觀, 在結(jié)構(gòu)突變特征的時(shí)變應(yīng)用場(chǎng)景中有較理想的效果。FF-OBLS在計(jì)算效率的靈活性上更具優(yōu)勢(shì), 適合處理一些復(fù)雜時(shí)變特征的應(yīng)用場(chǎng)景。
由于動(dòng)態(tài)數(shù)據(jù)流具有連續(xù)性和變化性, 傳統(tǒng)寬度學(xué)習(xí)算法不能對(duì)目標(biāo)系統(tǒng)的實(shí)時(shí)狀態(tài)和后續(xù)趨勢(shì)做出及時(shí)、 準(zhǔn)確的分析和預(yù)測(cè)。筆者提出了兩種具有遺忘機(jī)制的在線寬度學(xué)習(xí)系統(tǒng)算法, 通過(guò)將遺忘因子思想和滑動(dòng)窗口策略分別運(yùn)用到傳統(tǒng)在線寬度學(xué)習(xí)算法中, 使FF-OBLS算法能區(qū)分新舊數(shù)據(jù)樣本的不同貢獻(xiàn), SW-OBLS算法能根據(jù)數(shù)據(jù)的時(shí)效性丟棄舊的數(shù)據(jù)樣本。相比于傳統(tǒng)寬度學(xué)習(xí)系統(tǒng), 筆者提出的方法可以更精確、 更及時(shí)地捕捉動(dòng)態(tài)數(shù)據(jù)流的變化趨勢(shì), 并且能有效提升模型的訓(xùn)練速度。
參考文獻(xiàn):
[1]翟婷婷, 高陽(yáng), 朱俊武. 面向流數(shù)據(jù)分類的在線學(xué)習(xí)綜述 [J]. 軟件學(xué)報(bào), 2020, 31(4): 912-931.
ZHAI Tingting, GAO Yang, ZHU Junwu. Survey of Online Learning Algorithms for Streaming Data Classification [J]. Journal of Software, 2020, 31(4): 912-931.
[2]HOI S, SAHOO D, LU J, et al. Online Learning: A Comprehensive Survey [J]. Neurocomputing, 2021, 459: 249-289.
[3]CHEN C, LIU Z. Broad Learning System: An Effective and Efficient Incremental Learning System without the Need for Deep Architecture [J]. IEEE Transactions on Neural Networks & Learning Systems, 2018, 29(1): 10-24.
[4]PU Xiao, LI Chunguang. Online Semi-Supervised Broad Learning System for Industrial Fault Diagnosis [J]. IEEE Transactions on Industrial Informatics, 2021, 17(10): 6644-6654.
[5]XU M, HAN M, CHEN C, et al. Recurrent Broad Learning Systems for Time Series Prediction [J]. IEEE Transactions on Cybernetics, 2020, 50(4): 1405-1417.
[6]GUO Yu, YANG Xiaoxiao, WANG Yinuo, et al. Online Robust Echo State Broad Learning System [J]. Neurocomputing, 2021, 464: 438-449.
[7]FAN Jianchao, WANG Xiang, WANG Xinxin, et al. Incremental Wishart Broad Learning System for Fast PolSAR Image Classification [J]. IEEE Geoscience and Remote Sensing Letters, 2019, 16(12): 1854-1858.
[8]CUI Ziqiang, ZHAO Chunhui. Spatio-Temporal Broad Learning Networks for Traffic Speed Prediction [C]∥2019 12th Asian Control Conference (ASCC). Kitakyushu, Japan: IEEE, 2019: 1536-1541.
[9]郭威, 于建江, 湯克明, 等. 動(dòng)態(tài)數(shù)據(jù)流分析的在線超限學(xué)習(xí)算法綜述 [J]. 計(jì)算機(jī)科學(xué), 2019, 46(4): 1-7.
GUO Wei, YU Jianjiang, TANG Keming, et al. Survey of Online Sequential Extreme Learning Algorithms for Dynamic Data Stream Analysis [J]. Computer Science, 2019, 46(4): 1-7.
[10]CHEN C L P, WAN J Z. A Rapid Learning and Dynamic Stepwise Updating Algorithm for Flat Neural Networks and the Application to Time-Series Prediction [J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 1999, 29(1): 62-72.
[11]GREVILLET N E. Some Applications of the Pseudoinverse of a Matrix [J]. SLAM Review, 1960(2): 15-22.
[12]ZHOU Jie, ZHU Yunmin, RONG X, et al. Variants of the Greville Forumula with Applications to Exact Recursive Least Squares [J]. SIAM Journal on Matrix Analysis & Applications, 2002, 24(1): 150-150.
[13]LIANG N, HUANG G, SARATCHANDRAN P, et al. A Fast and Accurate Online Sequential Learning Algorithm for Feedforward Networks [J]. IEEE Transactions on Neural Networks, 2006, 17(6): 1411-1423.
[14]ZHAO J, WANG Z, DONG S P. Online Sequential Extreme Learning Machine with Forgetting Mechanism [J]. Neurocomputing, 2012, 87(15): 79-89.
[15]PEREZ-SANCHEZ B, FONTENLA-ROMERO O, GUIJARRO-BERDINAS B, et al. An Online Learning Algorithm for Adaptable Topologies of Neural Networks [J]. Expert Systems with Applications, 2013, 40(18): 7294-7304.