趙林鎖,陳 澤,丁琳琳,宋寶燕
(1.遼寧工程技術(shù)大學(xué)力學(xué)與工程學(xué)院,遼寧 阜新 123000;2.遼寧大學(xué)信息學(xué)院,遼寧 沈陽 110036)
時(shí)間序列數(shù)據(jù)通常是指一系列帶有時(shí)間間隔的實(shí)值型數(shù)據(jù)[1]。它的特點(diǎn)是不同時(shí)刻數(shù)據(jù)之間存在著某種關(guān)聯(lián),這種特性反映了數(shù)據(jù)在隨著時(shí)間變化的過程中存在著某種規(guī)律[2]。時(shí)間序列數(shù)據(jù)廣泛應(yīng)用于災(zāi)害監(jiān)測[3]、金融監(jiān)管[4]和醫(yī)療[5]等領(lǐng)域。時(shí)間序列數(shù)據(jù)之間的類別差異具體體現(xiàn)在其數(shù)據(jù)的傳播頻率不同、數(shù)據(jù)幅值大小差別以及數(shù)據(jù)點(diǎn)間的時(shí)間間隔不同等方面。例如,對于礦山監(jiān)測領(lǐng)域所產(chǎn)生的時(shí)間序列數(shù)據(jù)來說,微震監(jiān)測系統(tǒng)中的傳感器接收到微震波,均會(huì)產(chǎn)生微震時(shí)間序列數(shù)據(jù),由于其傳播速度不同,產(chǎn)生的幅值大小不同,導(dǎo)致每次發(fā)生的微震事件類型不同,造成的危害程度也不同,后期救援的方式方法亦不同[6];對于醫(yī)療領(lǐng)域的心電時(shí)間序列數(shù)據(jù)來說,醫(yī)療心電信號也是一種時(shí)間序列數(shù)據(jù),醫(yī)生會(huì)依據(jù)心電信號的頻率大小和幅值高低來區(qū)分心電信號的類別,根據(jù)不同類型的心電信號給出不同的診治方案[7]。因此,有效分類時(shí)間序列數(shù)據(jù)具有極其重要的意義。
然而,現(xiàn)實(shí)應(yīng)用中的時(shí)間序列數(shù)據(jù)常常伴有大量的環(huán)境噪聲[8]。例如,礦山微震時(shí)間序列數(shù)據(jù)中,由于礦區(qū)環(huán)境復(fù)雜,傳感器產(chǎn)生的時(shí)間序列數(shù)據(jù)常常伴有大型機(jī)械作業(yè)、水流等環(huán)境噪聲;心電時(shí)間序列數(shù)據(jù)中,大量患者的心電時(shí)間序列數(shù)據(jù)通常會(huì)受到外來環(huán)境因素干擾,產(chǎn)生環(huán)境背景噪聲。噪聲引起對應(yīng)的時(shí)間序列數(shù)據(jù)出現(xiàn)偏差,極大地改變了時(shí)間序列數(shù)據(jù)的真實(shí)形態(tài),在一定程度上影響了時(shí)間序列數(shù)據(jù)的分類精度。因此,在對此類時(shí)間序列數(shù)據(jù)分類之前,需要對時(shí)間序列數(shù)據(jù)進(jìn)行降噪預(yù)處理。
由于時(shí)間序列數(shù)據(jù)通常具有維度高、數(shù)據(jù)量較大的特性,許多學(xué)者對其分類方法進(jìn)行了深入研究。Luo等[9]提出了一種基于SVM(Support Vector Machine)的重構(gòu)訓(xùn)練集RTS-SVM(Reconstructed Train Set-Support Vector Machine)方法來實(shí)現(xiàn)時(shí)間序列數(shù)據(jù)分類,并采用了輪盤賭協(xié)同進(jìn)化算法R-CC(Roulette Cooperative Coevolution)優(yōu)化RTS-SVM的參數(shù)。但是,該方法沒有充分考慮到關(guān)鍵支持向量,分類性能仍有待提升。Yang等[10]提出了一種卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)和遞歸神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)相結(jié)合的分類方法DPCRCN(Dual Path CNN RNN Cascade Network),首先利用CNN進(jìn)行數(shù)據(jù)特征提取,再使用RNN學(xué)習(xí)特征和輸出映射,但其中的數(shù)據(jù)融合方法仍然存在問題,且訓(xùn)練模型時(shí)間較長。Li等[11]提出了一種基于極限學(xué)習(xí)機(jī)ELM(Extreme Learning Machine)和自適應(yīng)集成技術(shù)的時(shí)間序列預(yù)測方法,并在大量的時(shí)間序列數(shù)據(jù)集上進(jìn)行了驗(yàn)證,算法的泛化性能還有待提升。綜上,使用機(jī)器學(xué)習(xí)算法對時(shí)間序列數(shù)據(jù)分類還存在著預(yù)測精度較低、泛化性能較差的缺陷。
本文以正則化極限學(xué)習(xí)機(jī)RELM(Regularized Extreme Learning Machine)作為基分類器,提出了一種基于RELM的時(shí)間序列數(shù)據(jù)加權(quán)集成分類方法E-PSO-RELM(Ensemble-Particle Swarm Optimization-Regularized Extreme Learning Machine)。在數(shù)據(jù)挖掘領(lǐng)域的UCR時(shí)間序列數(shù)據(jù)開源數(shù)據(jù)集[12]上進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,相比于其他方法,本文方法能夠有效提高時(shí)間序列數(shù)據(jù)的預(yù)測精度且提升了泛化性能。本文主要貢獻(xiàn)如下所示:
(1)針對時(shí)間序列數(shù)據(jù)中所含有的噪聲,引入了小波包變換WPT(Wavelet Packet Transform)方法,基于其較高的時(shí)間序列數(shù)據(jù)時(shí)頻分辨率,通過閾值函數(shù)處理小波包系數(shù),進(jìn)而去除噪聲。即將時(shí)間序列數(shù)據(jù)通過WPT方法分解成小波包系數(shù),并對小波包系數(shù)進(jìn)行閾值量化處理,再對其重構(gòu)得到去噪后的時(shí)間序列數(shù)據(jù)。
(2)針對去噪后的時(shí)間序列數(shù)據(jù)分類,本文提出了一種有效選取RELM基分類器的方法。通過訓(xùn)練RELM的隱藏層節(jié)點(diǎn)的數(shù)量,計(jì)算得到不同隱藏層節(jié)點(diǎn)數(shù)量下的預(yù)測標(biāo)簽,并選出分類精度最高的隱藏層節(jié)點(diǎn)數(shù)量所對應(yīng)的RELM作為基分類器。
(3)針對時(shí)間序列數(shù)據(jù)維度高、數(shù)據(jù)量較大,導(dǎo)致單個(gè)基分類器的預(yù)測精度較低、泛化性能較差的問題,本文提出了一種基于粒子群優(yōu)化PSO(Particle Swarm Optimization)算法的RELM基分類器權(quán)值優(yōu)化方法??紤]到PSO算法結(jié)構(gòu)簡單、迭代速度快的特點(diǎn),同時(shí)考慮到各個(gè)RELM基分類器之間的信息互補(bǔ)性,通過PSO算法不斷優(yōu)化基分類器的權(quán)值,對時(shí)間序列數(shù)據(jù)進(jìn)行加權(quán)集成分類。
近年來,許多學(xué)者對時(shí)間序列數(shù)據(jù)進(jìn)行了廣泛深入的研究[13]。在時(shí)間序列數(shù)據(jù)分類的問題中,極限學(xué)習(xí)機(jī)(ELM)作為一種單隱層前饋神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法,其具有算法結(jié)構(gòu)簡單、泛化性能好的特點(diǎn),往往只需設(shè)置隱藏層節(jié)點(diǎn)的數(shù)量即可求得最優(yōu)唯一解[14],ELM憑借這些特點(diǎn)被廣泛地應(yīng)用在關(guān)于時(shí)間序列數(shù)據(jù)的處理問題中[15,16]。Yan等[17]提出了一種基于卡爾曼濾波器與ELM相結(jié)合的方法CS-DELM(Cost Sensitive-Dissimilar ELM)對時(shí)間序列數(shù)據(jù)進(jìn)行了分類研究,但該方法在處理時(shí)間序列數(shù)據(jù)時(shí)仍然存在不穩(wěn)定性,泛化性能有待提升。Xu等[18]提出了一種基于MOPSO-ELM(Multi Objectives Particle Swarm Optimization-ELM)的分類方法,利用改進(jìn)的粒子群優(yōu)化算法(PSO)對ELM的參數(shù)進(jìn)行了優(yōu)化,提高了預(yù)測精度,但算法的復(fù)雜度較高,訓(xùn)練時(shí)間較長。Fan等[19]提出了一種基于極限學(xué)習(xí)機(jī)(ELM)的改進(jìn)分層集成結(jié)構(gòu)EILEA(ELM-Improved Layered Ensemble Architecture)對時(shí)間序列數(shù)據(jù)進(jìn)行了預(yù)測,該方法提升了平均預(yù)測精度和運(yùn)行效率,但沒有對ELM的隱藏層節(jié)點(diǎn)數(shù)量進(jìn)行優(yōu)化,泛化性能較差。
綜上,在使用單分類器對時(shí)間序列數(shù)據(jù)進(jìn)行分類時(shí)會(huì)出現(xiàn)分類結(jié)果不穩(wěn)定、泛化性能較差的問題。集成分類方法往往能夠有效解決這一問題。集成分類方法通常按照某種規(guī)則對性能較差的弱分類器進(jìn)行組合,能夠有效提高分類性能[20]。但是,在實(shí)際應(yīng)用中,若所需的基分類器數(shù)量較少或是重用常見分類器的一些經(jīng)驗(yàn)時(shí),研究者往往會(huì)選擇具有一定分類性能的強(qiáng)分類器作為基分類器來提升分類性能,并且通過對分類器的權(quán)值進(jìn)行優(yōu)化,能夠充分利用分類器間的信息互補(bǔ)性,并給每個(gè)基分類器賦予不同權(quán)值來彌補(bǔ)分類器之間的差異。Liu等[21]提出了一種基于ELM的加權(quán)集成分類方法,針對數(shù)據(jù)的不平衡現(xiàn)象,結(jié)合樣本的分布引入了平衡因子,并通過加權(quán)集成方法提升了方法的穩(wěn)定性。Feng等[22]提出了一種基于馬爾科夫鏈的動(dòng)態(tài)加權(quán)集成信用評分方法,根據(jù)每個(gè)基分類器分類性能的變化,調(diào)整基分類器的權(quán)重,并驗(yàn)證了方法的預(yù)測精度和效率。
在集成分類方法中的基分類器選擇方面,傳統(tǒng)的ELM分類方法中的輸出權(quán)值矩陣是由隱含層矩陣的廣義逆所得出的,導(dǎo)致傳統(tǒng)的ELM分類方法仍然存在過擬合現(xiàn)象,降低了分類精度和泛化性能;針對ELM的這種缺陷,RELM通過引入正則化因子,并同時(shí)考慮了經(jīng)驗(yàn)風(fēng)險(xiǎn)和結(jié)構(gòu)風(fēng)險(xiǎn),構(gòu)建了新的目標(biāo)函數(shù);相對于ELM能夠有效地提高分類精度和泛化性能[23]。
因此,本文針對現(xiàn)有時(shí)間序列數(shù)據(jù)分類方法的不足,為提高分類方法的預(yù)測精度、泛化性能,以及考慮到集成分類方法的良好特性,以RELM作為基分類器,提出了一種基于RELM的時(shí)間序列數(shù)據(jù)加權(quán)集成分類方法。
時(shí)間序列數(shù)據(jù)常常伴有大量的環(huán)境噪聲,降低了分類精度,影響了時(shí)間序列數(shù)據(jù)的后續(xù)處理,因此對時(shí)間序列數(shù)據(jù)進(jìn)行去噪是非常必要的??紤]到小波包方法的多頻率分析特性,本文使用基于小波包的去噪方法,通過對時(shí)間序列數(shù)據(jù)的頻帶多尺度劃分獲取小波包系數(shù),然后對高頻和低頻小波包系數(shù)進(jìn)行閾值量化處理,并通過對小波包系數(shù)重構(gòu),得到去噪后的時(shí)間序列數(shù)據(jù)。
小波包系數(shù)的獲取是指對時(shí)間序列數(shù)據(jù)逐層分解,并將分解后得到的小波包系數(shù)進(jìn)行閾值量化處理,以優(yōu)化小波包系數(shù),從而達(dá)到去噪效果的過程。圖1所示為對帶有環(huán)境噪聲的時(shí)間序列數(shù)據(jù)X(t)進(jìn)行3層小波包系數(shù)分解,其中P[i,j]表示分解得到的小波包系數(shù)。
Figure 1 Wavelet packet coefficient decomposition
在圖1所示的小波包分解過程中,首先對時(shí)間序列數(shù)據(jù)X(t)分解為第1層小波包系數(shù)P[1,0]和P[1,1],分解公式如式(1)所示:
(1)
其中,將原始時(shí)間序列數(shù)據(jù)X(t)分別通過低通濾波器h和高通濾波器g(其中k,l表示濾波器系數(shù),z表示分解總層數(shù))分解為第1層小波包系數(shù)P[1,0]和P[1,1],P[1,0]表示低頻小波包系數(shù),P[1,1]表示高頻小波包系數(shù)。并且在接下來的每一次分解過程中均會(huì)將每一組小波系數(shù)P[i,j]分解成2個(gè)頻率子帶的小波包系數(shù),得到低頻小波包系數(shù)P[i+1,2j]與高頻小波包系數(shù)P[i+1,2j+1],每組小波包系數(shù)分解公式如式(2)所示:
(2)
其中P[i,j]表示第i層第j組小波包系數(shù)。
經(jīng)過小波包分解后,時(shí)間序列數(shù)據(jù)與小波包的系數(shù)關(guān)系也可近似表示為式(3)所示:
X(t)=P[1,0]+P[1,1]=
P[2,0]+P[2,1]+P[2,2]+P[2,3]=
P[3,0]+P[3,1]+P[3,2]+P[3,3]+
P[3,4]+P[3,5]+P[3,6]+P[3,7]
(3)
接下來,根據(jù)軟閾值函數(shù)處理原則[24],對最后一層的每組小波包系數(shù)P[i,j]={P[i,j](1),P[i,j](2),…,P[i,j](n)}進(jìn)行閾值量化處理,n表示小波包系數(shù)的個(gè)數(shù),閾值處理函數(shù)如式(4)所示:
(4)
其中,λ表示設(shè)定的閾值,P[i,j](n)表示需要被優(yōu)化的小波包系數(shù),P1[i,j](n)表示優(yōu)化后的小波包系數(shù),sign(·)表示階躍函數(shù)。
小波包系數(shù)的重構(gòu)是指對最后一層使用閾值函數(shù)處理后的小波包系數(shù)逐層重構(gòu)得到去噪后的時(shí)間序列數(shù)據(jù)的過程,小波包系數(shù)重構(gòu)的過程如圖2所示,其中Y(t)表示去噪后的時(shí)間序列數(shù)據(jù),P1[i,j]表示優(yōu)化后的小波包系數(shù)。
Figure 2 Reconstruction of wavelet packet coefficient
在每一層中的小波包系數(shù)重構(gòu)公式如式(5)所示:
(5)
其中,h和g分別表示為低通濾波器和高通濾波器。最后由第1層小波包系數(shù)重構(gòu)得到時(shí)間序列數(shù)據(jù)Y(t)。
在本節(jié)中經(jīng)過小波包去噪后所得到的時(shí)間序列數(shù)據(jù)Y(t),再通過下一節(jié)的加權(quán)集成分類方法進(jìn)行分類。
針對去噪后的時(shí)間序列數(shù)據(jù),本文提出了一種訓(xùn)練RELM隱藏層節(jié)點(diǎn)數(shù)量的方法,可有效選取基分類器。針對時(shí)間序列數(shù)據(jù)的數(shù)據(jù)量較大、數(shù)據(jù)維度較高的特點(diǎn),以及在實(shí)際應(yīng)用中使用單個(gè)基分類器分類時(shí)較易出現(xiàn)不穩(wěn)定性,導(dǎo)致分類器預(yù)測精度不高、泛化性能較差的缺陷,本文提出了一種基于PSO算法的RELM基分類器權(quán)值優(yōu)化方法,結(jié)合PSO算法的特點(diǎn),通過PSO對基分類器進(jìn)行權(quán)值優(yōu)化,實(shí)現(xiàn)對時(shí)間序列數(shù)據(jù)的加權(quán)集成分類。
RELM是一種結(jié)構(gòu)簡單、計(jì)算迅速的單隱層前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。在集成分類方法中,不同的隱藏層節(jié)點(diǎn)數(shù)量對應(yīng)著不同性能的RELM基分類器。首先計(jì)算各個(gè)基分類器的預(yù)測標(biāo)簽,再選取較高分類精度所對應(yīng)的隱藏層節(jié)點(diǎn)數(shù)量,從而確定RELM基分類器。
(1)預(yù)測標(biāo)簽的計(jì)算。
針對去噪后的時(shí)間序列數(shù)據(jù),初始化多個(gè)RELM基分類器,并以去噪后的時(shí)間序列數(shù)據(jù)作為輸入,來計(jì)算RELM基分類器的預(yù)測標(biāo)簽。
其過程可表述為將去噪后的時(shí)間序列數(shù)據(jù)輸入到各個(gè)初始化的RELM中,并以RELM的隱藏層節(jié)點(diǎn)數(shù)量為循環(huán)條件,計(jì)算每個(gè)隱藏層節(jié)點(diǎn)數(shù)量下的預(yù)測集標(biāo)簽。具體過程為:假設(shè)去噪后的時(shí)間序列數(shù)據(jù)為Y={y1,y2,…,yk},數(shù)據(jù)的類別標(biāo)簽為T={1,2,…,a},其中a表示標(biāo)簽個(gè)數(shù),首先將數(shù)據(jù)分為訓(xùn)練集數(shù)據(jù)Y1和預(yù)測集數(shù)據(jù)Y2,以RELM的隱藏層節(jié)點(diǎn)數(shù)量J做為循環(huán)條件,將訓(xùn)練集數(shù)據(jù)Y1輸入到RELM,并計(jì)算當(dāng)前隱藏層節(jié)點(diǎn)數(shù)量為J時(shí)的輸出權(quán)值矩陣LW,將預(yù)測集數(shù)據(jù)Y2輸入到RELM中,通過LW得到當(dāng)前隱藏層節(jié)點(diǎn)數(shù)量下的預(yù)測集標(biāo)簽T′(J)。
(2)隱藏層節(jié)點(diǎn)數(shù)量的獲取。
得到預(yù)測集標(biāo)簽后,計(jì)算不同隱藏層節(jié)點(diǎn)數(shù)量下的分類精度,選取分類精度較高時(shí)的隱藏層節(jié)點(diǎn)數(shù)量,作為所需的RELM基分類器的隱藏層節(jié)點(diǎn)數(shù)量。
其具體過程為:通過(1)中所得到的預(yù)測集標(biāo)簽T′(J),根據(jù)預(yù)測標(biāo)簽的結(jié)果計(jì)算當(dāng)隱藏層節(jié)點(diǎn)數(shù)量為J時(shí)的分類精度acc(J),并將acc(J)存儲(chǔ)到列表S中。再根據(jù)acc(J)選取集成分類方法中的分類器。其具體做法為:令集成分類中的基分類器個(gè)數(shù)為q,隨著隱藏層節(jié)點(diǎn)數(shù)量J的不斷增加,分類精度會(huì)趨于穩(wěn)定,但過多的隱藏層節(jié)點(diǎn)數(shù)量會(huì)使運(yùn)行效率變低,則需計(jì)算q個(gè)分類精度的平均值。由于在訓(xùn)練初期,精度平均值相對較低,而隨著隱藏層節(jié)點(diǎn)數(shù)量J的增加,其平均值也會(huì)逐漸變大,為了避免隱藏層節(jié)點(diǎn)數(shù)量J較大,則需在平均值處于相對較高且趨于穩(wěn)定的初期時(shí),獲取其對應(yīng)的隱藏層節(jié)點(diǎn)數(shù)量值,從而能夠得到對應(yīng)的基分類器數(shù)量。其中,為了有效識(shí)別平均值何時(shí)保持穩(wěn)定,在訓(xùn)練過程中設(shè)定閾值λ,若在相鄰w個(gè)精度平均值中任意2個(gè)值均小于或等于λ,則選取當(dāng)前條件下的第1個(gè)平均值所對應(yīng)的隱藏層節(jié)點(diǎn)數(shù)量J。
(3)算法描述。
確定了隱藏層節(jié)點(diǎn)數(shù)量J,也就是確定了所需的RELM基分類器。RELM基分類器選取方法如算法1所示。輸入去噪后的時(shí)間序列數(shù)據(jù)Y,通過訓(xùn)練隱藏層節(jié)點(diǎn)數(shù)量J的方法得到預(yù)測集標(biāo)簽;然后根據(jù)預(yù)測標(biāo)簽計(jì)算隱藏層節(jié)點(diǎn)數(shù)量J所對應(yīng)的分類精度acc(J),并通過acc(J)來選取所需的基分類器。其中,g表示調(diào)諧參數(shù),G(·)表示激活函數(shù)。
算法1基分類器選取方法
Input:數(shù)據(jù)集Y={y1,y2,…,yk},數(shù)據(jù)類別T={1,2,…,a},隱藏層節(jié)點(diǎn)數(shù)量取值范圍為[m,v],c為步長。/*m表示初始值,v表示最大值*/
Output:隱藏層節(jié)點(diǎn)數(shù)量J和對應(yīng)分類精度acc(J)。
Initialization:訓(xùn)練集數(shù)據(jù)被隨機(jī)分為2組向量,命名為Y1 和Y2;創(chuàng)建S列表,SJ存儲(chǔ)J及其對應(yīng)的分類精度acc(J)。
//獲得預(yù)測數(shù)據(jù)標(biāo)簽T′(J)
1forJ=mtovdo
2IW,B←Y1;
3H=G(IW*Y1+B);
4LW=(H′H+gI)H′Y1;
5IW1,B1←Y2;
6H1=G(IW1*Y2+B1);
7T′(J)←Softmax((H′1*LW)′);
8endfor
//計(jì)算分類精度
9forJ=m:c:vdo
10sum=0;
11while(T(J)=T′(J)):
12sum++;
13endwhile
14v=T(J).length;
15acc(J)=sum/n;
16S←J,acc(J);
17endfor
//選取多個(gè)基分類器
18t=1;
19whilet≤5:
/*計(jì)算相鄰5個(gè)基分類器的分類精度平均值avg_acc*/
20ifavg_acc≤λ
21t=t+1;
22elseJ=J+50;
23endwhile
在時(shí)間復(fù)雜度方面,算法1由3個(gè)循環(huán)組成,其平均時(shí)間復(fù)雜度為O(n),最好和最壞情況下的時(shí)間復(fù)雜度也為O(n)。在空間復(fù)雜度方面,算法1的存儲(chǔ)空間會(huì)隨著RELM的隱藏層節(jié)點(diǎn)數(shù)量的變化而變化,因此空間復(fù)雜度為S(n)。
在得到RELM基分類器后,為每個(gè)基分類器賦予初始權(quán)值,再通過PSO算法不斷優(yōu)化基分類器的權(quán)值,對時(shí)間序列數(shù)據(jù)進(jìn)行加權(quán)集成分類。
(1)基分類器的權(quán)值優(yōu)化。
針對時(shí)間序列數(shù)據(jù)維度高、數(shù)據(jù)量較大的特性,在使用單個(gè)分類器分類時(shí)仍然存在預(yù)測精度低、泛化性能較差的問題,并考慮到PSO的特點(diǎn)以及各個(gè)RELM基分類器之間的信息互補(bǔ)性,本節(jié)給出了一種基于PSO的基分類器權(quán)值優(yōu)化方法。
其具體過程為:以基分類器的權(quán)值作為PSO的粒子,以預(yù)測精度作為PSO的適應(yīng)度函數(shù)值,隨著迭代次數(shù)的增加不斷優(yōu)化基分類器的權(quán)值。假設(shè)輸入樣本集數(shù)據(jù)Y,初始化種群規(guī)模為K,即共有K個(gè)粒子Xi和粒子速度Vi,其中,Xi=[xi1,xi2,…,xin],Vi=[vi1,vi2,…,vin],i∈{1,2,…,K},xij存儲(chǔ)的值為第i個(gè)粒子的第j個(gè)基分類器的權(quán)值aj,Vi是元素值為[0,1]的隨機(jī)矩陣。對每次迭代中的每個(gè)粒子計(jì)算其預(yù)測結(jié)果T;并求出每個(gè)粒子的適應(yīng)度函數(shù)值,即分類精度acc={acc(1),acc(2),…,acc(t),…,acc(K)},其中acc(i)表示第i個(gè)粒子的適應(yīng)度函數(shù)值。根據(jù)所有粒子的適應(yīng)度函數(shù)值,得到每個(gè)粒子Xi的全局最優(yōu)值gbesti和每個(gè)粒子的個(gè)體最優(yōu)值pbesti,其中i∈{1,2,…,K}。通過PSO的粒子更新公式來優(yōu)化每個(gè)粒子的下一次迭代的粒子和速度。隨著迭代次數(shù)的增加,當(dāng)?shù)螖?shù)達(dá)到最大值時(shí),得到最優(yōu)基分類器權(quán)值a。
(2)加權(quán)集成分類。
得到基分類器優(yōu)化的權(quán)值后,接下來對時(shí)間序列數(shù)據(jù)進(jìn)行加權(quán)集成分類:
通過上一節(jié)中所得到的每個(gè)分類器的權(quán)值ai,則每個(gè)樣本Xk被分到j(luò)類中的概率值為xjk,計(jì)算公式如式(6)所示:
(6)
其中,yji表示第i個(gè)分類器將樣本分類到j(luò)類的概率值,n表示分類器個(gè)數(shù)。
再根據(jù)加權(quán)分類器的加權(quán)投票方法選出最大值所對應(yīng)的類別作為Xk的預(yù)測分類結(jié)果j,如式(7)所示。
Xjk=max{x1k,x2k,x3k,…,xmk}
(7)
(3)方法描述。
優(yōu)化了基分類器的權(quán)值后,對時(shí)間序列數(shù)據(jù)進(jìn)行加權(quán)集成分類,算法2為本文提出的基于RELM的加權(quán)集成分類方法(E-PSO-RELM)。其中將分類器的權(quán)值作為PSO算法的粒子,通過式(6)和式(7)來計(jì)算每次迭代過程中的預(yù)測結(jié)果,并計(jì)算出預(yù)測精度作為PSO的適應(yīng)度函數(shù)值,通過迭代次數(shù)的增加來優(yōu)化基分類器的權(quán)值,得到優(yōu)化的權(quán)值后再對數(shù)據(jù)集進(jìn)行集成分類。
算法2基于RELM的加權(quán)集成分類方法(E-PSO-RELM)
Input:數(shù)據(jù)集Y,分類器個(gè)數(shù)n,迭代次數(shù)最大值Tmax; PSO相關(guān)參數(shù):慣性權(quán)重ω,學(xué)習(xí)因子c1,c2,種群數(shù)量K。
Output:基分類器的權(quán)值(a1,a2,a3,…,an)。
Initialization:隨機(jī)初始化K個(gè)粒子Xi=[xi1,xi2,…,xin],i∈{1,2,…,K};n表示分類器的數(shù)量;xij表示第j個(gè) 基分類器的權(quán)重ai,和K個(gè)種群規(guī)模的粒子速度值Vi=[vi1,vi2,…,vin],i∈{1,2,…,K}。
1whilet≤Tmaxdo:
//計(jì)算預(yù)測結(jié)果acc=[acc1,acc2,…,accK];
2fori=1 toKdo:
3fora=1 tomdo:
5T′(a)←argmax{x1i,x2i,x3i,…,xmi};
6endfor
7acc(i)←(ACC{T(i)′-T(i)};
8gbesti,pbesti←Find(acc);
11endfor
12t=t+1;
13endwhile
在該算法中,根據(jù)設(shè)定的PSO種群規(guī)模K值和設(shè)定的分類器數(shù)量n,其平均時(shí)間復(fù)雜度為O(nK);并且由于算法2沒有額外的存儲(chǔ)空間開銷,其空間復(fù)雜度為S(1)。
為了驗(yàn)證本文方法的有效性,將其與目前常用的3種分類方法進(jìn)行了對比。實(shí)驗(yàn)的硬件配置為Windows 10系統(tǒng)主機(jī)、16 GB內(nèi)存、Intel(R)Core i5-9300H CPU 2.40 GHz以及64位操作系統(tǒng)。分類算法均在Matlab 2018a上實(shí)現(xiàn)。
本文實(shí)驗(yàn)所選取的所有數(shù)據(jù)來自于時(shí)間序列挖掘領(lǐng)域的開源數(shù)據(jù)集資源UCR時(shí)間序列數(shù)據(jù)集[12]。由于UCR中數(shù)據(jù)集的數(shù)量較多,且數(shù)據(jù)集的數(shù)據(jù)維度具有較大差異,因此本文根據(jù)UCR數(shù)據(jù)集的數(shù)據(jù)特征,選取了具有代表性的16組數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集。實(shí)驗(yàn)中所用到的數(shù)據(jù)集的具體信息如表1所示。
Table 1 Introduction of data sets
(1)基分類器選取實(shí)驗(yàn)。
選擇5個(gè)RELM基分類器對本文集成分類方法進(jìn)行集成分類實(shí)驗(yàn)。在本節(jié)中,通過本文提出的訓(xùn)練隱藏層節(jié)點(diǎn)數(shù)量的方法來確定每個(gè)數(shù)據(jù)集的RELM分類器數(shù)量;針對數(shù)據(jù)維度的不同,將16個(gè)數(shù)據(jù)集分為2組進(jìn)行對比實(shí)驗(yàn)。
圖3所示為訓(xùn)練RELM隱藏層節(jié)點(diǎn)數(shù)量實(shí)驗(yàn)結(jié)果,其中由于部分?jǐn)?shù)據(jù)集的數(shù)據(jù)維度較高,所選取的隱藏層節(jié)點(diǎn)數(shù)量區(qū)間,即算法1中的[m,v],取值為[100,2000],如圖3b表示;其他數(shù)據(jù)集的隱藏層節(jié)點(diǎn)數(shù)量區(qū)間選擇為[100,1200],如圖3a表示。由于隱藏層節(jié)點(diǎn)數(shù)量相近時(shí),通常得到的精度差別較小,因此,在實(shí)驗(yàn)中,以50為步長依次選取隱藏層節(jié)點(diǎn)數(shù),這里的50為經(jīng)驗(yàn)值,同時(shí)為算法1中的c值。
Figure 3 Number of hidden layer nodes in training RELM
在進(jìn)行加權(quán)集成分類實(shí)驗(yàn)之前,先通過4.1節(jié)中提出的方法進(jìn)行了訓(xùn)練隱藏層節(jié)點(diǎn)數(shù)量實(shí)驗(yàn)來確定每個(gè)數(shù)據(jù)集的基分類器數(shù)量;每個(gè)數(shù)據(jù)集上分別進(jìn)行了20次實(shí)驗(yàn),選取平均分類精度作為實(shí)驗(yàn)的評價(jià)標(biāo)準(zhǔn)。從圖3中可以看出,不同的樣本的平均分類精度以及所選取的隱藏層節(jié)點(diǎn)數(shù)量是不同的,并且平均精度的值在初始階段均處于上升趨勢,但數(shù)據(jù)集的維度和大小不同,得到的精度值大小也有差異,最終均會(huì)處于一個(gè)相對穩(wěn)定的狀態(tài)。根據(jù)4.1節(jié)中的方法,在保證分類精度相對穩(wěn)定時(shí)即開始選取隱藏層節(jié)點(diǎn)數(shù)量,為能夠有效地選取隱藏層節(jié)點(diǎn)數(shù)量,令算法1中的閾值λ取值為[0.35,0.5],即選取多個(gè)平均分類精度差值在[0.35,0.5]內(nèi)的值,并將該值對應(yīng)的隱藏層節(jié)點(diǎn)數(shù)作為實(shí)驗(yàn)所需的隱藏層節(jié)點(diǎn)數(shù),此區(qū)間值為本次實(shí)驗(yàn)的經(jīng)驗(yàn)值。根據(jù)圖3中的信息,對數(shù)據(jù)集的基分類器進(jìn)行了選取,每個(gè)數(shù)據(jù)集選取的基分類器所對應(yīng)的隱藏層節(jié)點(diǎn)數(shù)量信息如表2所示。
Table 2 Classifier selection
(2)加權(quán)集成分類實(shí)驗(yàn)。
在通過上述方法得到5個(gè)基分類器后,為了確保分類器之間具有一定的區(qū)分性,為每個(gè)分類器均賦予不同的激活函數(shù)sig(x),目前被廣泛使用的激活函數(shù)有sigmoid函數(shù)、ReLU(Rectified Linear Units)函數(shù)、Swish函數(shù)、sin函數(shù)和RBF(Radial Basis Function)函數(shù)[13]。
為了更好地驗(yàn)證本文方法的分類性能,選取ELM、E-ELM(Ensemble-ELM)、Vote-ELM、MGEoT(Multi Granularity Ensemble classification method)[25]、PCA-LSTM(Principal Component Analysis-Long Short Time Memory)[26]5種方法進(jìn)行對比實(shí)驗(yàn),各方法的具體介紹如表3所示。
在進(jìn)行實(shí)驗(yàn)之前,首先對時(shí)間序列數(shù)據(jù)進(jìn)行WPT去噪處理,然后每次實(shí)驗(yàn)均進(jìn)行20次,取平均預(yù)測精度作為評價(jià)標(biāo)準(zhǔn);并對本文提出方法中的PSO參數(shù)進(jìn)行初始化,PSO的迭代次數(shù)為200次,學(xué)習(xí)因子c1和c2分別為0.8和0.2,慣性權(quán)重ω為0.5。并將本文提出的方法中的基分類器的初始權(quán)值ai均設(shè)為1。
Table 3 Introduction to classification methods
方法的泛化性能是指通過訓(xùn)練樣本數(shù)據(jù)訓(xùn)練出來的模型,不僅能夠?qū)υ械挠?xùn)練集數(shù)據(jù)進(jìn)行準(zhǔn)確的分類,同樣能夠?qū)︻A(yù)測集數(shù)據(jù)進(jìn)行準(zhǔn)確分類。為驗(yàn)證本文方法的泛化性能,本文選取預(yù)測集數(shù)據(jù)分類結(jié)果的平均分類精度作為評價(jià)標(biāo)準(zhǔn)。圖4所示為不同分類方法對預(yù)測集數(shù)據(jù)分類結(jié)果的平均分類精度比較。
Figure 4 Comparison of average classification accuracy of methods
從圖4中可發(fā)現(xiàn),對比單個(gè)分類器,集成分類方法均有較好的效果。從圖4a中可發(fā)現(xiàn),在Symbols和SonyAIBORobotSurface1這2個(gè)低維度數(shù)據(jù)集上,由于訓(xùn)練集和測試集的數(shù)據(jù)個(gè)數(shù)差別較大,在單個(gè)分類器分類時(shí)由于訓(xùn)練數(shù)據(jù)較少不能夠較好地得到訓(xùn)練模型,導(dǎo)致分類精度較低,泛化性能較差,而通過實(shí)驗(yàn)表明,集成分類方法較好地彌補(bǔ)了這一缺陷。在實(shí)驗(yàn)結(jié)果中,利用不同的分類方法處理不同的數(shù)據(jù)集所得到的分類結(jié)果均不同,對于低維度的數(shù)據(jù)集,集成分類的優(yōu)化效果相比于其他4種高維度數(shù)據(jù)不夠明顯,這體現(xiàn)了集成分類能夠很好地彌補(bǔ)分類器在處理高維度數(shù)據(jù)時(shí)所存在的差異性。通過圖4也能發(fā)現(xiàn),本文提出的對權(quán)值優(yōu)化的E-PSO-RELM相比其他2種不對權(quán)值優(yōu)化的方法E-ELM和Vote-ELM的分類性能均要好一些,并且具有與MGEoT和PCA-LSTM這2種方法相近的分類性能。并且從圖4b中可發(fā)現(xiàn),在MixedShapeSmallTrain和StarLightCurves這3個(gè)數(shù)據(jù)集上,對比于其他高維度數(shù)據(jù)集,本文方法得到的分類結(jié)果均較良好,這是由于雖然這2個(gè)數(shù)據(jù)集的維度較高,但在保證數(shù)據(jù)集個(gè)數(shù)一定多的條件下,也有助于提升分類性能。因此,在今后的實(shí)驗(yàn)中可以通過不斷增加數(shù)據(jù)集的個(gè)數(shù)來檢測分類器的性能。從圖4中還能發(fā)現(xiàn),對于維度最高的InlineSkate數(shù)據(jù)集,在使用單個(gè)ELM分類器分類時(shí),由于單個(gè)分類器往往存在不穩(wěn)定性,導(dǎo)致每次得到的預(yù)測精度大小差別較大,因此所求得的平均值較低。本文提出的E-PSO-RELM加權(quán)集成方法,對分類器賦予不同的權(quán)值,有效地改善了這種缺陷,同時(shí)也較好地提升了分類器的分類性能。然而,由于PSO屬于一個(gè)迭代過程,在訓(xùn)練及分類過程中均需要一定的時(shí)間進(jìn)行迭代,相比于其他2種方法在運(yùn)行效率方面仍有一定的缺陷。
時(shí)間序列數(shù)據(jù)有效分類在人們?nèi)粘I钪凶兊迷絹碓街匾?。針對時(shí)間序列數(shù)據(jù)中通常伴有大量環(huán)境噪聲的問題,本文結(jié)合小波包去噪方法的優(yōu)勢,通過閾值量化處理小波包系數(shù),有效地去除了噪聲。針對時(shí)間序列數(shù)據(jù)維度高、數(shù)據(jù)量較大的特性,本文提出的基于RELM的時(shí)間序列數(shù)據(jù)加權(quán)集成分類方法,充分利用了PSO算法的優(yōu)勢以及各個(gè)RELM基分類器之間的信息互補(bǔ)性,實(shí)現(xiàn)了對時(shí)間序列數(shù)據(jù)的有效分類。在仿真實(shí)驗(yàn)中,將本文方法與目前典型的時(shí)間序列分類方法進(jìn)行了性能對比,結(jié)果表明:本文所提出的分類方法優(yōu)于其他3種對比方法,通過有效提高分類的預(yù)測精度和泛化性能,進(jìn)而有效提升了對時(shí)間序列數(shù)據(jù)的分類性能。