杜宏慶,陳德旺
(1.福州大學(xué)計算機(jī)與大數(shù)據(jù)學(xué)院/軟件學(xué)院;2.智慧地鐵福建省高校重點(diǎn)實(shí)驗(yàn)室,福建福州 350108)
模糊系統(tǒng)[1]在模糊集上定義輸入、輸出和狀態(tài)變量,通過結(jié)合人腦思維的模糊性特點(diǎn),采用模糊計算處理確定性系統(tǒng)中難以解決的模糊信息問題,具強(qiáng)魯棒性和高可解釋性?,F(xiàn)已廣泛應(yīng)用于自動控制、時序信號處理、模式識別等領(lǐng)域[2]。
模糊系統(tǒng)雖可表示模糊知識,但缺乏有效的學(xué)習(xí)機(jī)制,自學(xué)習(xí)能力不足[3]。神經(jīng)網(wǎng)絡(luò)雖具備自學(xué)習(xí)能力,但未能較好表達(dá)人腦的推理功能,可解釋性較差[4]。因此,本文提出基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)的模糊推理系統(tǒng)(Adaptive Network-based Fuzzy Inference System,ANFIS)[5],通過神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)系統(tǒng)模糊化、模糊推理和反模糊化三個基本過程,并利用學(xué)習(xí)機(jī)制從輸入、輸出樣本數(shù)據(jù)中自動提取模糊規(guī)則。具體而言,將離線訓(xùn)練與在線學(xué)習(xí)算法相結(jié)合自動調(diào)整模糊規(guī)則。此外,基于反向傳播算法與最小二乘法的混合算法,調(diào)整系統(tǒng)的前提參數(shù)和結(jié)論參數(shù),使其具備自適應(yīng)、自組織和自學(xué)習(xí)能力。
ANFIS 在消除噪聲[6]、信號干擾[7]、非線性系統(tǒng)建模[8-10]等領(lǐng)域取得了一定成績,但仍然存在精度不高、計算速度慢、難以處理高維數(shù)據(jù)等問題。針對上述問題,楊正校等[11]基于粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法優(yōu)化ANFIS,通過改進(jìn)神經(jīng)網(wǎng)絡(luò)的模型參數(shù)與隸屬度函數(shù)參數(shù),增強(qiáng)模糊系統(tǒng)的可解釋性和精度。張濤等[12]提出一種基于人工蜂群(Artificial Bee Colony,ABC)算法訓(xùn)練ANFIS 的新方法,基于ABC 進(jìn)行訓(xùn)練和優(yōu)化模型參數(shù),使該模型在辨識非線性系統(tǒng)時取得了良好的效果。周丹等[13]提出了一種結(jié)合改進(jìn)簡化PSO 算法和ANFIS 建立功放模型,采用線性遞減慣性權(quán)重和動態(tài)學(xué)習(xí)因子,提高種群的多樣性和收斂速度,使模型在簡單的結(jié)構(gòu)下仍能保持較高精度。邵澤輝[14]將遺傳算法(Genetic Algorithm,GA)與ANFIS 相結(jié)合,基于GA 優(yōu)化ANFIS 的前提參數(shù)和結(jié)論參數(shù),提出一種將遺傳算法與禁忌搜索(Tabu Search,TS)算法相結(jié)合的自適應(yīng)混合學(xué)習(xí)算法,以取得更好的運(yùn)算性能和精度。
針對ANFIS 存在難以處理高維數(shù)據(jù)的問題,王宇鋼等[15]提出了一種結(jié)合聚類和ANFIS 的評價方法,首先采用改進(jìn)的模糊C 均值聚類算法自適應(yīng)分類樣本,然后通過學(xué)習(xí)訓(xùn)練集形成模糊規(guī)則,該方法具有一定的可行性。楊慧婕等[16]提出了一種基于改進(jìn)的模糊C 均值聚類和ANFIS的預(yù)測算法,采用減法聚類法(Subtrative Clustering Meth?od,SCM)和加權(quán)模糊C 均值(Fuzzy C-means Algorithm,F(xiàn)CM)生成初始神經(jīng)模糊系統(tǒng)(Neural Fuzzy System,NFS)建立非線性預(yù)測模型,在一定程度上解決了傳統(tǒng)FCM 魯棒性差的問題,并加快了模型收斂速度,同時還具備較高的預(yù)測精度。Hua 等[17]在ANFIS 基礎(chǔ)上提出了利用最綜合陡降法和最小二乘法相結(jié)合的混合學(xué)習(xí)算法修正模型網(wǎng)絡(luò)參數(shù),基于共軛梯度下降法提高其前提參數(shù)的學(xué)習(xí)速度。Benmouiza 等[18]提出了一種改進(jìn)聚類的ANFIS 算法,通過FCM、SCM 和網(wǎng)格劃分3 種方法簡化推理過程,使改進(jìn)的ANFIS 結(jié)構(gòu)具備描述模糊理論數(shù)據(jù)的不確定性和人工神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力。Wang 等[19]結(jié)合SCM 和FCM算法建立了初始模糊推理系統(tǒng),采用共軛梯度(Fletcher-Reeves)算法對傳統(tǒng)ANFIS 的學(xué)習(xí)算法進(jìn)行改進(jìn)。上述改進(jìn)方法主要基于聚類或共軛梯度法改進(jìn)傳統(tǒng)ANFIS 的結(jié)構(gòu)與網(wǎng)絡(luò)參數(shù),相較于群智能優(yōu)化策略,前者的效率更高,但仍存在一定的局限性。
為了解決上述問題,本文搭建了深度神經(jīng)模糊系統(tǒng)(Deep Neural Fuzzy System,DNFS),將高維問題分解為多個低維問題,利用子模塊解決低維問題。因此每個NFS 都要具備快速優(yōu)化能力。此外,本文基于模糊規(guī)則適應(yīng)度的計算方式和快速反向傳播(Back Propagation,BP)算法,提出了一種結(jié)合Z-score 與優(yōu)化技術(shù)的神經(jīng)模糊系統(tǒng)(Zscore and Optimize-technique combined Neural Fuzzy Sys?tem,ZONFS)。利用三種實(shí)現(xiàn)算法對系統(tǒng)的前提參數(shù)進(jìn)行調(diào)整,通過分析綜合性能指標(biāo)對算法進(jìn)行評估。
本文首先介紹了典型的ANFIS 結(jié)構(gòu),分析其不足之處。然后,介紹了ZONFS 的內(nèi)部結(jié)構(gòu)并提出三種改進(jìn)方法。接下來,引入三種常用的回歸算法,比較分析各算法在三個數(shù)據(jù)集上的性能指標(biāo)。最后,根據(jù)實(shí)驗(yàn)結(jié)果給出結(jié)論。
如圖1 所示,ANFIS 結(jié)構(gòu)共包含5 層。其中,第1 層結(jié)點(diǎn)將輸入信號模糊化;第2 層節(jié)點(diǎn)將各輸入信號的隸屬度相乘,并將乘積作為各條規(guī)則的適應(yīng)度;第3 層結(jié)點(diǎn)將各條規(guī)則的適用度進(jìn)行歸一化計算;第4 層計算每條模糊規(guī)則的輸出;第5 層節(jié)點(diǎn)采用面積法進(jìn)行模糊系統(tǒng)的解模糊化,計算該系統(tǒng)所有輸入信號的總輸出。其中,x=[x1,x2]為系統(tǒng)的輸入向量,依次經(jīng)過5 層網(wǎng)絡(luò)輸出O1,i、O2,i、O3,i、O4,i、O5,i,i表示節(jié)點(diǎn)數(shù)。其中,x1、x2為輸入,A1、A2、B1、B2為相應(yīng)的模糊子集,N為計算規(guī)則的歸一化可信度,ω為規(guī)則適應(yīng)度,f為總輸出。
在ANFIS 中,通過第3 層對所有規(guī)則適應(yīng)度ω進(jìn)行歸一化計算,計算公式如式(1):
標(biāo)準(zhǔn)化神經(jīng)模糊系統(tǒng)的初始化模型由5 層網(wǎng)絡(luò)構(gòu)成,如圖2所示。
第一層:將輸入分量x1,x2模糊化,劃分到模糊集合A和B中,μ為隸屬函數(shù)。計算公式為:
本文采用高斯型隸屬函數(shù)。可由式(4)表示:
Fig.2 Structure of ZONFS圖2 ZONFS結(jié)構(gòu)
式中,ci為高斯函數(shù)的中心,σi為高斯函數(shù)的寬度,本文代表前提參數(shù)。
第二層:每個節(jié)點(diǎn)代表一條模糊規(guī)則,對該層的輸入進(jìn)行乘積模糊后取得所有規(guī)則的適應(yīng)度。計算公式為:
第三層:對所有規(guī)則適應(yīng)度進(jìn)行Z-score 標(biāo)準(zhǔn)化計算,如式(6)-式(8)所示:
其中,為第i個模糊子集的第j個樣本的適應(yīng)度。
第四層:由結(jié)論參數(shù)pi0、pi1、pi2計算每條規(guī)則的輸出:
第五層:采用面積法去模糊化,計算該系統(tǒng)的總輸出:
現(xiàn)階段通常采用BP 算法[20]與最小二乘估計法(Least square estimation,LSE)[21]的混合算法調(diào)整系統(tǒng)參數(shù)并尋找模型最優(yōu)前提參數(shù)和結(jié)論參數(shù),以提高網(wǎng)絡(luò)模型的精度和收斂速度。其中,BP 算法調(diào)整前提參數(shù),LSE 調(diào)整結(jié)論參數(shù)。首先固定結(jié)論參數(shù),根據(jù)Loss 函數(shù)和鏈?zhǔn)椒▌t計算前提參數(shù)的偏導(dǎo)數(shù),從反梯度方向更新參數(shù)。定義測量誤差為樣本總體的均方誤差:
其中,Tm,p是目標(biāo)p輸出的第m分量,是目標(biāo)p實(shí)際輸出的第L層第m分量。然后由公式(11)計算每個輸出節(jié)點(diǎn)O的誤差,并根據(jù)鏈?zhǔn)椒▌t計算誤差Ep在給定的自適應(yīng)網(wǎng)絡(luò)參數(shù)β的偏導(dǎo)值gk:
其中,S為輸出依賴于β的結(jié)點(diǎn)集。
由于BP 算法存在訓(xùn)練速度慢、易陷入局部極小值等缺點(diǎn)。為了解決上述問題,提出了一系列改進(jìn)方法,例如動量附加法[22]、自適應(yīng)學(xué)習(xí)率[23]、彈性反向傳播(Resilient Back Propagation,RBP)算法[24]等分析標(biāo)準(zhǔn)BP 算法的性能函數(shù),或使用啟發(fā)式技術(shù)進(jìn)行改進(jìn),例如二階反向傳播、非線性優(yōu)化[25]等通過標(biāo)準(zhǔn)的數(shù)值優(yōu)化技術(shù)實(shí)現(xiàn)快速BP算法。
本文在保證精確性的同時,為了加快模型參數(shù)的學(xué)習(xí)速度,提升神經(jīng)模糊系統(tǒng)的訓(xùn)練效率,給出以下兩種方案:
方案一:在誤差要求一般的情況下,基于LSE 算法調(diào)整參數(shù)加快訓(xùn)練速度,即直接調(diào)整結(jié)論參數(shù)。
方案二:采用共軛梯度下降法(Conjugate Gradient De?scent,CGD)實(shí)現(xiàn)快速BP 算法。先沿著負(fù)梯度方向搜索,然后通過線性搜索沿著搜索方向計算移動的最優(yōu)距離。計算方式如式(14)、式(15)所示:
其中,η表示當(dāng)前學(xué)習(xí)速率,pk表示共軛梯度法每一步的搜索方向。結(jié)合上一步搜索方向和最新負(fù)梯度方向作為下一步的搜索方向,其中k表示當(dāng)前梯度位置,p為搜索方向,g為偏導(dǎo)值,η表示學(xué)習(xí)速率。
本文采用Fletcher-Reeves 方法計算共軛梯度法的ηk:
ZONFS 算法流程如圖3 所示。具體首先輸入信號正向傳遞至第4 層,固定前提參數(shù),通過LSE 算法更新結(jié)論參數(shù)。接下來信號沿著網(wǎng)絡(luò)正向傳遞至輸出層并由CGD 算法將誤差反向傳播,從而調(diào)節(jié)前提參數(shù),或不進(jìn)行誤差的反向傳播,直接向前傳遞至第5層以節(jié)省訓(xùn)練時間。
Fig.3 Algorithm flow of ZONFS圖3 ZONFS算法流程
根據(jù)上述BP 算法的不同實(shí)現(xiàn)方法,給出ZONFS 的三種算法,如表1 所示。其中,BP+LSE、LSE、CGD+LSE 分別表示采用BP 與LSE 混合調(diào)參、僅LSE 調(diào)參融合共軛梯度下降法、LSE 混合調(diào)參。
Table 1 Three algorithms表1 三種算法
為綜合評估各算法的性能,本文選擇均方誤差(Mean Square Error,MSE)、平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分比誤差(Mean Absolute Percentage Er?ror,MAPE)、決定系數(shù)R2及運(yùn)行時間t共5 個性能指標(biāo)對算法進(jìn)行評估:
ANFIS 算法將規(guī)則適應(yīng)度進(jìn)行歸一化操作,而本文的ZONFS 算法對規(guī)則適應(yīng)度進(jìn)行Z-score 標(biāo)準(zhǔn)化計算。為了比較二者之間的性能差異,本文從模型的訓(xùn)練效果入手,分析其誤差下降曲線。以ANFIS 與ZONFS 在訓(xùn)練集TS 上的訓(xùn)練過程為例,20 次迭代訓(xùn)練后的誤差變化曲線如圖4所示。
由圖4 可見,ANFIS 算法在第10 次迭代時開始收斂,誤差值已無明顯下降。ZONFS 算法的收斂速度更快,誤差更小。因此從訓(xùn)練集TS 上的迭代結(jié)果可見,ZONFS 相較于ANFIS 算法,具有更快的收斂速度和更高的精度。
Fig.4 Iteration curve of algorithms圖4 算法迭代曲線
選用機(jī)器學(xué)習(xí)數(shù)據(jù)庫The UCI Machine Learning Re?pository 提供的三個數(shù)據(jù)集,具體描述如表2所示。
Table 2 Characteristics of data sets表2 數(shù)據(jù)集特征
為了對ZONFS 算法進(jìn)行比較分析,引入決策樹回歸(Decision tree regression,DTR)、支持向量回歸(Support Vector Regression,SVR)、梯度增強(qiáng)回歸(Gradient Boosting Regression,GBR)三種常用的回歸算法對上述數(shù)據(jù)集進(jìn)行回歸預(yù)測,并對ANFIS 與ZONFS 算法的性能指標(biāo)進(jìn)行綜合分析。
隨機(jī)抽取ADV 數(shù)據(jù)集中20%的數(shù)據(jù)樣本作為測試集。由表3 可見,ZONFS3 算法有3 個最優(yōu)的誤差指標(biāo),且各項指標(biāo)均優(yōu)于ANFIS 算法,因此ZONFS3 算法相較于ANFIS 算法更具競爭力。其次,采用BP 算法調(diào)參的ANFIS算法相較于ZONFS1 算法的運(yùn)行時間更長,而基于CGD 實(shí)現(xiàn)的快速BP 算法有效提升了ZONFS3 算法的調(diào)參速度,顯著降低了算法的運(yùn)行時間。ZONFS2 算法的運(yùn)行時間較短,但算法的精度不高。綜上所述,ZONFS3 算法的性能最高,以ZONFS3 為代表的ZONFS 算法與其它算法的回歸比較如圖5 所示,可見ZONFS 算法的回歸效果最好,每個數(shù)據(jù)點(diǎn)的誤差都維持在較小的區(qū)間,相較于ANFIS 具有明顯優(yōu)勢。
由于CCPP 數(shù)據(jù)集的數(shù)據(jù)量較大,因此從數(shù)據(jù)集中隨機(jī)抽取100 個數(shù)據(jù)樣本進(jìn)行測試。由表4 可見,ANFIS 算法大部分指標(biāo)都落后于常用的回歸算法,而ZONFSi 算法相相較于ANFIS 在精度和運(yùn)行時間上都具有一定的提升,特別是ZONFS3 算法有兩個最優(yōu)的誤差指標(biāo),總得分也最高。雖然ZONFS3 算法的運(yùn)行時間較長,但各項誤差指標(biāo)的優(yōu)越性最好。ZONFS2 算法耗時最少,但誤差指標(biāo)整體表現(xiàn)不佳。同樣以性能最高的ZONFS3 為代表的ZONFS算法與其它算法的回歸比較如圖6所示。
Table 3 Evaluation index on ADV dataset表3 ADV數(shù)據(jù)集上的評價指標(biāo)
Fig.5 Comparison of regression algorithms(ADV dataset)圖5 回歸算法比較(ADV數(shù)據(jù)集)
Table 4 Evaluation index on CCPP dataset表4 CCPP數(shù)據(jù)集上的評價指標(biāo)
Fig.6 Comparison of regression algorithms(CCPP dataset)圖6 回歸算法比較(CCPP數(shù)據(jù)集)
隨機(jī)抽取YHD 數(shù)據(jù)集中20%的數(shù)據(jù)樣本作為測試集。由表5 可見,ZONFS3 算法總得分最高且有三個最優(yōu)的誤差指標(biāo),其中決定系數(shù)R2達(dá)到了0.989,精度和運(yùn)行時間均優(yōu)于ANFIS 算法;ZONFS1 算法因采用BP 調(diào)參存在一定劣勢,總得分僅次于ZONFS3 算法。ZONFSi 算法的運(yùn)行時間總體上比DTR、SVR 等常用回歸算法長,但算法的精度具有明顯優(yōu)勢。SVR 算法耗時最少,但各項指標(biāo)與相較于其他算法存在較大的差距。綜上所述,ZONFS3 算法的性能最高,該算法與其它算法的回歸比較如圖7所示。
Table 5 Evaluation index on YHD dataset表5 YHD數(shù)據(jù)集上的評價指標(biāo)
Fig.7 Comparison of regression algorithms(YHD dataset)圖7 回歸算法比較(YHD數(shù)據(jù)集)
通過實(shí)驗(yàn)分析,在三種數(shù)據(jù)集中ZONFS3 算法的各項誤差指標(biāo)明顯優(yōu)于ANFIS 算法,總得分均為最高。相較于ZONFS1 算法,采用CGD 實(shí)現(xiàn)快速調(diào)參的ZONFS3 算法耗時更短,性能更強(qiáng)。ZONFS2算法在整體上不如ZONFS3算法。本文從規(guī)則適應(yīng)度的計算方式入手,通過Z-score 標(biāo)準(zhǔn)化對NFS 進(jìn)行改進(jìn),采用CGD 提升算法的計算速度。通過實(shí)例驗(yàn)證表明,ZONFS 算法的運(yùn)行速度更快且精度更高,適用于搭建深層模糊系統(tǒng)。
在深度學(xué)習(xí)日益火熱的當(dāng)下,模糊系統(tǒng)開始逐漸往深度模型過渡。子模塊的運(yùn)行時間是搭建深度模型的一個重要評判指標(biāo),在今后研究中需充分考慮其重要性。目前NFS 所面臨計算速度慢、難以處理高維數(shù)據(jù)等問題,而共軛梯度下降法可有效降低NFS 的時間復(fù)雜度,具有一定的可行性。未來將致力于基于ZONFS 算法構(gòu)建快速且高精度的深度神經(jīng)模糊系統(tǒng)(DNFS)。