蔡際杰 陳德旺 黃允滸 黃 瑋
(1.福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 福州 350108)
(2.福州大學(xué)智慧地鐵福建省高校重點(diǎn)實(shí)驗(yàn)室 福州 350108)
(3.福州理工學(xué)院計(jì)算與信息科學(xué)學(xué)院 福州 350506)
模糊系統(tǒng)(Fuzzy System,F(xiàn)S)在二十世紀(jì)90年代初期間發(fā)展迅速,尤其是在模糊控制領(lǐng)域的應(yīng)用效果突出[1]。但是近年來FS的研究并非主流,究其原因主要是因?yàn)槟壳癋S的研究還不夠成熟[2],主要表現(xiàn)在隸屬度函數(shù)類型和參數(shù)的選擇主要依靠經(jīng)驗(yàn)、現(xiàn)有FS的適用范圍有限、缺乏在通用硬件平臺(tái)中的實(shí)現(xiàn)方法等[3]。WM(Wang-Mendel)算法[4]簡單、實(shí)用,已經(jīng)成為了FS研究領(lǐng)域的經(jīng)典方法,但該算法也同樣存在上述問題。盡管近年來許多學(xué)者根據(jù)這些問題提出了一些改進(jìn)的辦法,但是這些改進(jìn)方法仍存在計(jì)算復(fù)雜、改進(jìn)效果不明顯以及優(yōu)化目標(biāo)不全面等問題。
文獻(xiàn)[5]針對(duì)WM算法存在的問題,利用采樣數(shù)據(jù)挖掘技術(shù)完成了進(jìn)一步的改進(jìn),但該方法在規(guī)則庫的魯棒性上仍然有待提高;文獻(xiàn)[6]提出了一種基于優(yōu)化模糊規(guī)則輸出集合中心的改進(jìn)WM方法,提高了WM方法的魯棒性和模型精度,但該方法難以應(yīng)對(duì)高維問題。近年來,利用遺傳算法[7]與進(jìn)化算法[8]優(yōu)化FS的改進(jìn)方法也相繼被提出,但由于計(jì)算過于復(fù)雜,因此難以真正應(yīng)用在FS的優(yōu)化中。文獻(xiàn)[9]通過遺傳算法和梯度下降法對(duì)FS的結(jié)構(gòu)和參數(shù)進(jìn)行了優(yōu)化,取得了較好的效果,但是其模型復(fù)雜度過高,不易求解。而后許多學(xué)者開始利用高效、簡單的PSO算法對(duì)FS模型進(jìn)行優(yōu)化,如文獻(xiàn)[10]提出了一種基于PSO算法的WM方法,該方法通過改進(jìn)的PSO算法對(duì)數(shù)據(jù)覆蓋區(qū)域的模糊規(guī)則質(zhì)心進(jìn)行優(yōu)化,再利用外推得到完整的模糊規(guī)則庫,一定程度上提高了WM方法的預(yù)測(cè)精度,但其規(guī)則數(shù)隨輸入呈指數(shù)增加,算法效率急劇下降;文獻(xiàn)[11]為提高FS模型的預(yù)測(cè)精度,利用ANFIS、GA算法和PSO算法對(duì)模型的隸屬度函數(shù)范圍進(jìn)行了優(yōu)化,進(jìn)一步提高了模型的預(yù)測(cè)精度,但未進(jìn)一步研究模糊規(guī)則的約簡。
針對(duì)以上問題,可以發(fā)現(xiàn)目前FS的優(yōu)化仍然存在很大的進(jìn)步空間。目前的優(yōu)化研究主要是針對(duì)FS模型的精度方向改進(jìn),而在規(guī)則約簡方面的研究較為欠缺,規(guī)則約簡后的優(yōu)化模型是否仍可以保證模型精度的提高仍需進(jìn)一步考察;且FS隸屬度函數(shù)主要是針對(duì)三角形隸屬度函數(shù),而由高斯型隸屬度函數(shù)構(gòu)成的FS研究相對(duì)較少。由此可見亟需一種在規(guī)則約簡的條件下,既能夠保證模型可解釋性又能夠保證模型精度的FS優(yōu)化算法。
因此,本文致力于提高FS模型的精度和約簡模糊規(guī)則。通過改進(jìn)PSO算法對(duì)具有高斯型隸屬度函數(shù)的FS進(jìn)行有效優(yōu)化,提出了CPSFS和SPSFS兩種模糊系統(tǒng)優(yōu)化算法。實(shí)驗(yàn)結(jié)果表明本文提出的CPSFS算法在約簡大量模糊規(guī)則后,依然能夠保證訓(xùn)練集和測(cè)試集上的預(yù)測(cè)精度領(lǐng)先于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)等回歸算法,具有很好的發(fā)展前景。
構(gòu)造FS模型首先需要?jiǎng)澐帜:齾^(qū)間,設(shè)置每維變量的模糊集合個(gè)數(shù);然后初始化模糊區(qū)間中每個(gè)模糊集合對(duì)應(yīng)的隸屬度函數(shù)參數(shù),對(duì)訓(xùn)練集數(shù)據(jù)的每維變量做模糊化處理,模糊化后的變量屬于模糊值最大的模糊集合。完成模糊化操作后,可根據(jù)每條數(shù)據(jù)對(duì)應(yīng)的模糊集合組合產(chǎn)生IF-THEN規(guī)則,對(duì)m維輸入n維輸出的IF-THEN規(guī)則表示如下:
I F(x1is Ap1and…and xi is Api)
T HEN(y1is Bq1and…and yj is Bqj)
(i=1,2…m,j=1,2…n)
其中pi為第i維輸入變量劃分的模糊集合個(gè)數(shù),qj為第j維輸出變量劃分的模糊集合個(gè)數(shù)。本文采用的隸屬度函數(shù)為高斯型隸屬函數(shù),其定義如下:
其中x為變量值,c為隸屬度函數(shù)的中心值,σ為隸屬度函數(shù)的方差。
按照上述方式,若每條數(shù)據(jù)對(duì)應(yīng)產(chǎn)生一條規(guī)則,那么當(dāng)數(shù)據(jù)量增大到一定程度時(shí),將生成非常多的模糊規(guī)則,導(dǎo)致FS模型越來越復(fù)雜,無法保證其可解釋性。且按此方式生成的規(guī)則庫包含大量的重復(fù)規(guī)則、沖突規(guī)則和無法真正體現(xiàn)數(shù)據(jù)特點(diǎn)的“壞規(guī)則”,因此需要對(duì)這些“問題規(guī)則”進(jìn)行消除操作。本文通過計(jì)算每條規(guī)則的支持度,篩選掉支持度較小的規(guī)則,從而達(dá)到約簡規(guī)則的目的。由最終保留的規(guī)則組合形成FS規(guī)則庫,代入FS的結(jié)構(gòu)即可完成模型的構(gòu)建。對(duì)m維輸入n維輸出的數(shù)據(jù)產(chǎn)生的規(guī)則,其支持度(SD)計(jì)算方式如下:
本文采用的FS為帶有乘積推理機(jī)、單值模糊器、中心平均解模糊器和高斯型隸屬度函數(shù)的模糊系統(tǒng),其形式如下:
粒子群優(yōu)化算法最早由Kennedy和Eberhart提出[12],其核心就是每個(gè)個(gè)體會(huì)在每次迭代中通過跟蹤個(gè)體當(dāng)前最優(yōu)值pb esti和群體最優(yōu)值gbest更新自己的位置和速度[13],規(guī)定迭代次數(shù)完成后,群體發(fā)現(xiàn)的最優(yōu)位置gbest即為最優(yōu)解。其位置和速度更新公式如下所示:
其中i=1,2,……N,N為群體中粒子的總數(shù),vi為粒子i的速度,xi為粒子i的位置,c1,c2表示學(xué)習(xí)因子。
Shi等[14]發(fā)現(xiàn)式(4)中的第一部分vi本身具有隨機(jī)性,為了擴(kuò)大搜索空間,在vi前乘以慣性權(quán)重w來增強(qiáng)算法的搜索能力,提出了一種標(biāo)準(zhǔn)PSO算法(SPSO),其速度和位置更新公式如下:
Clerc等[15]為加快PSO算法的收斂速度,在(6)式中引入了收斂因子K,提出了一種基于收斂因子的PSO算法(CPSO),其速度更新公式如下:
通常將φ設(shè)為4.1,則K由式(9)計(jì)算后為0.729。
目前FS隸屬度函數(shù)的參數(shù)選取主要是依靠經(jīng)驗(yàn),選取的參數(shù)很有可能并不適合當(dāng)前的數(shù)據(jù),導(dǎo)致生成的FS模型效果很難達(dá)到最優(yōu)。因此本文利用SPSO算法和CPSO算法對(duì)FS的隸屬度函數(shù)的參數(shù)進(jìn)行了優(yōu)化。通過尋找隸屬度函數(shù)的最優(yōu)參數(shù)達(dá)到優(yōu)化FS模型的目標(biāo)。利用SPSO算法優(yōu)化后形成的FS優(yōu)化算法稱之為SPSFS算法,利用CPSO算法優(yōu)化后形成的FS優(yōu)化算法稱之為CPSFS算法。
PSO算法具體的初始化操作是選取粒子數(shù)量N、設(shè)定粒子空間維度dim以及優(yōu)化的迭代次數(shù)max_iter,迭代次數(shù)應(yīng)該保證模型能夠在迭代次數(shù)范圍內(nèi)尋找到隸屬度函數(shù)參數(shù)的最優(yōu)值。為擴(kuò)大搜索空間,本文粒子個(gè)體數(shù)設(shè)為30,迭代次數(shù)設(shè)為100次。為了將上述PSO算法應(yīng)用在FS的優(yōu)化中,本文將每個(gè)粒子的位置初始化為每維變量對(duì)應(yīng)模糊集合的隸屬度函數(shù)參數(shù)(即高斯隸屬度函數(shù)中的中心值c和方差值σ),將每個(gè)粒子的適應(yīng)度值設(shè)置為模型的目標(biāo)函數(shù)值,即FS模型的均方誤差指標(biāo)MSE。若粒子當(dāng)前所處位置的適應(yīng)度值在當(dāng)前迭代次數(shù)中最小,則可以將其位置設(shè)置為該個(gè)體目前尋找到的最優(yōu)位置pb esti,若粒子所處最優(yōu)位置在整個(gè)群體中取得的適應(yīng)度值最小,則可以將其位置設(shè)置為整個(gè)群體目前尋找到的最優(yōu)位置gbest。
規(guī)定迭代次數(shù)完成后,群體尋找到的最優(yōu)位置gbest即為FS高斯隸屬度函數(shù)的最優(yōu)參數(shù),將最優(yōu)參數(shù)代入到FS模型中每維變量對(duì)應(yīng)的隸屬度函數(shù)中,按照FS的常規(guī)流程建模,所產(chǎn)生的模型效果即可達(dá)到最優(yōu)。
利用PSO算法優(yōu)化FS模型的流程如圖1所示。
圖1 本文算法流程圖
為了更直觀地對(duì)CPSFS算法和SPSFS算法進(jìn)行評(píng)價(jià),本文引入了傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法、RBF神經(jīng)網(wǎng)絡(luò)算法、LR線性回歸算法以及WM算法。同時(shí),引入平均絕對(duì)誤差(MAE)、均方誤差(MSE)以及決定系數(shù)R2作為算法的評(píng)價(jià)性能指標(biāo),其定義分別如下:
表1描述了本實(shí)驗(yàn)采用的數(shù)據(jù)集的具體屬性。1號(hào)數(shù)據(jù)集為預(yù)測(cè)房價(jià)數(shù)據(jù)集;2號(hào)數(shù)據(jù)集為預(yù)測(cè)廣告投資收益數(shù)據(jù)集。實(shí)驗(yàn)中按一定比例將每個(gè)數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集和測(cè)試集。
表1 實(shí)驗(yàn)數(shù)據(jù)集信息
各算法在訓(xùn)練集上的預(yù)測(cè)效果如圖2所示,在測(cè)試集上的預(yù)測(cè)效果如圖3所示,表2展示了各個(gè)算法預(yù)測(cè)訓(xùn)練集的各項(xiàng)性能指標(biāo),表3展示了各個(gè)算法預(yù)測(cè)測(cè)試集的各項(xiàng)性能指標(biāo)。
圖2 RES訓(xùn)練集預(yù)測(cè)效果
圖3 RES測(cè)試集預(yù)測(cè)效果
如表2和表3所示,可以發(fā)現(xiàn)CPSFS算法在訓(xùn)練集與測(cè)試集上占主要優(yōu)勢(shì),各項(xiàng)評(píng)價(jià)指標(biāo)上均優(yōu)于其他經(jīng)典算法。以表3為例,CPSFS算法在MSE指標(biāo)上:相比BP下降了5.2%,相比RBF下降了8.2%,相比LR下降了18.4%,相比WM下降了14.6%。同時(shí),CPSFS算法和SPSFS算法均降低了模糊規(guī)則數(shù),但相比CPSFS算法而言,SPSFS算法的綜合表現(xiàn)并沒有很好。盡管SPSFS算法降低的規(guī)則數(shù)更多,但是該算法無法保證降低規(guī)則數(shù)后各項(xiàng)評(píng)價(jià)指標(biāo)領(lǐng)先于其他經(jīng)典算法,而CPSFS算法既可以降低規(guī)則數(shù),又能夠保證預(yù)測(cè)評(píng)價(jià)指標(biāo)最好。傳統(tǒng)的WM算法產(chǎn)生了729條規(guī)則,規(guī)則數(shù)太多,模糊規(guī)則庫更加復(fù)雜,導(dǎo)致可解釋性變差;而CPSFS算法生成的規(guī)則數(shù)僅103條,相比WM算法一共減少了626條,模糊規(guī)則庫復(fù)雜度大大降低,人們可以快速地從較少的模糊規(guī)則中理解模型結(jié)果的產(chǎn)生依據(jù),從而更有效地保證了算法的可解釋性。
表2 RES訓(xùn)練集預(yù)測(cè)評(píng)價(jià)指標(biāo)
表3 RES測(cè)試集預(yù)測(cè)評(píng)價(jià)指標(biāo)
各算法在訓(xùn)練集上的預(yù)測(cè)效果如圖4所示,在測(cè)試集上的預(yù)測(cè)效果如圖5所示,表4展示了各個(gè)算法預(yù)測(cè)訓(xùn)練集的各項(xiàng)性能指標(biāo),表5展示了各個(gè)算法預(yù)測(cè)測(cè)試集的各項(xiàng)性能指標(biāo)。
圖4 ADV訓(xùn)練集預(yù)測(cè)效果
圖5 ADV測(cè)試集預(yù)測(cè)效果
如表4和表5所示,可以發(fā)現(xiàn)CPSFS算法在訓(xùn)練集和測(cè)試集中依然占主要優(yōu)勢(shì),其各項(xiàng)評(píng)價(jià)指標(biāo)均優(yōu)于BP、RBF等經(jīng)典算法。以表5為例,CPSFS在MSE指標(biāo)上:相比BP、RBF、LR和WM分別下降了70.0%,59.5%,77.1%和63.5%。在規(guī)則數(shù)上,盡管SPSFS算法減少了大量模糊規(guī)則,但其無法保證精度最優(yōu);而CPSFS算法則具有這個(gè)優(yōu)勢(shì),在降低規(guī)則數(shù)的條件下依然保證精度領(lǐng)先,其生成的規(guī)則數(shù)比傳統(tǒng)的WM算法更少,一共約簡了90條規(guī)則,一定程度上保證了模型的可解釋性。
表4 ADV訓(xùn)練集預(yù)測(cè)評(píng)價(jià)指標(biāo)
表5 ADV測(cè)試集預(yù)測(cè)評(píng)價(jià)指標(biāo)
本文針對(duì)FS目前精度不高、規(guī)則數(shù)太多、無法保證收斂速度等問題,通過SPSO算法和CPSO算法對(duì)具有高斯型隸屬度函數(shù)的FS進(jìn)行了優(yōu)化。通過SPSO算法優(yōu)化形成的SPSFS算法雖然降低了規(guī)則數(shù),但卻無法保證回歸精度最優(yōu);而通過CPSO算法優(yōu)化所形成的CPSFS算法在回歸任務(wù)上均取得了不錯(cuò)的效果,在訓(xùn)練集、測(cè)試集上的各項(xiàng)評(píng)價(jià)指標(biāo)均優(yōu)于傳統(tǒng)的回歸算法。且在優(yōu)化后,CPSFS算法產(chǎn)生的規(guī)則數(shù)大大降低,有效地保證了其可解釋性在各個(gè)經(jīng)典算法中居于首位。
綜上所述,本文提出的CPSFS算法不僅具有較強(qiáng)的可解釋性,而且在回歸問題上的表現(xiàn)優(yōu)異,能夠有效解決相對(duì)低維的回歸問題。后續(xù)的工作中將會(huì)考慮搭建多層模糊系統(tǒng)來提高算法應(yīng)對(duì)高維數(shù)據(jù)的能力。相信通過廣大學(xué)者的不斷努力以及FS的可解釋性優(yōu)勢(shì),在不久后的將來,F(xiàn)S的應(yīng)用領(lǐng)域?qū)?huì)更加廣泛,并成為深度學(xué)習(xí)下具有獨(dú)特優(yōu)勢(shì)的AI技術(shù)。