趙 星,郭裕順
(杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州310018)
模糊邏輯應(yīng)用的關(guān)鍵是建立問(wèn)題的模糊邏輯模型,學(xué)習(xí)是通過(guò)觀測(cè)數(shù)據(jù)建立模型的系統(tǒng)方法。BP與最小二乘的混合算法是TSK模糊系統(tǒng)學(xué)習(xí)的有效算法[1]。這一算法的主要優(yōu)點(diǎn)是對(duì)結(jié)論參數(shù)用最小二乘可一次求得其全局最優(yōu)解,從而顯著改善學(xué)習(xí)算法的性能。目前,這是這類模糊系統(tǒng)學(xué)習(xí)中廣泛使用的方法[2、3]。MATLAB的模糊邏輯工具箱也采用了這一算法。本文對(duì)這一學(xué)習(xí)算法作了進(jìn)一步研究。基本思想是考慮如下事實(shí):既然一個(gè)TSK模糊系統(tǒng)前提部分確定后結(jié)論部分總可用線性最小二乘法確定,結(jié)論中的各參數(shù)就可看作是前提部分參數(shù)的一個(gè)函數(shù),整個(gè)模糊邏輯系統(tǒng)可看作是只依賴于前提部分參數(shù)的一個(gè)系統(tǒng),學(xué)習(xí)算法也因此轉(zhuǎn)變?yōu)橹粚?duì)前提部分參數(shù)的一個(gè)優(yōu)化問(wèn)題。這降低了優(yōu)化的參數(shù)空間維數(shù),有利于改善算法收斂性能,加快學(xué)習(xí)速度。對(duì)這一問(wèn)題應(yīng)用梯度優(yōu)化,等價(jià)于對(duì)均方誤差目標(biāo)函數(shù)采用一次BP迭代與最小二乘的混合算法,由此還可說(shuō)明現(xiàn)有混合算法中對(duì)前件參數(shù)進(jìn)行多次BP迭代是不必要的。對(duì)問(wèn)題應(yīng)用擬牛頓優(yōu)化,可給出TSK模糊系統(tǒng)的擬牛頓學(xué)習(xí)算法,與直接對(duì)全部參數(shù)應(yīng)用擬牛頓優(yōu)化的算法相比,可顯著減少計(jì)算量,改善收斂性。對(duì)應(yīng)用其它各種高級(jí)優(yōu)化技術(shù)的學(xué)習(xí)算法,這一觀點(diǎn)也是有指導(dǎo)意義的。
考慮有n個(gè)輸入變量,一個(gè)輸出變量的系統(tǒng)。用模糊邏輯建立這一系統(tǒng)的模型。采用TSK一階邏輯,規(guī)則庫(kù)是:if x1isμ1 j(x1)and x2isμ2 j(x2)and…and xnisμnj(xn),then y=α0j+α1jx1+…+αnjxn,j=1,2,…,m。取高斯型隸屬度函數(shù),對(duì)每條規(guī)則采用乘積推理機(jī)制,則輸出是:
對(duì)式2作最小化:
式中,yk=y(xk)是在各輸入樣本點(diǎn)由式1給出的模糊系統(tǒng)輸出,e是誤差矢量。
將模糊邏輯系統(tǒng)表示為一個(gè)前饋網(wǎng)絡(luò),則可對(duì)式3使用BP算法。但眾所周知,BP算法有收斂慢、不穩(wěn)定、容易陷入局部極小等缺點(diǎn)。
式1中的權(quán)重完全由規(guī)則的前提決定,y關(guān)于結(jié)論部分的參數(shù)是線性的,可表示為:
根據(jù)式 4,把 yk=y(xk)表示為:
式中,d=[d1d2… dN]T。
文獻(xiàn)1提出的混合學(xué)習(xí)算法即是先給定一組規(guī)則前提中各變量隸屬函數(shù)的中心與寬度,由式6的最小二乘解求出一組系數(shù),然后固定這組系數(shù),對(duì)各隸屬函數(shù)的中心與寬度應(yīng)用BP算法作修改,再?gòu)氖?解得一組系數(shù),如此交替反復(fù),直至收斂。較基本的BP算法,混合算法的性能有明顯改進(jìn)。
混合算法將式3對(duì)全部參數(shù)的同時(shí)優(yōu)化分裂為對(duì)前提與結(jié)論參數(shù)的分別優(yōu)化,實(shí)質(zhì)是一個(gè)松弛或交替迭代過(guò)程,交替迭代的每一步由對(duì)前提參數(shù)的BP迭代與對(duì)結(jié)論參數(shù)的最小二乘組成。顯然這里存在這樣的問(wèn)題:即對(duì)前提參數(shù)的BP迭代以多少步為宜?ANFIS只采用一步BP[4],但沒(méi)有說(shuō)明理由。按通常松弛迭代的觀點(diǎn),用多步BP或迭代到收斂,也是合理的。但通過(guò)下面的分析可以看出,這是不必要的。
因此可將α看成是各隸屬函數(shù)的中心與寬度的函數(shù),誤差函數(shù)式2也成為只取決于中心與寬度的一個(gè)函數(shù):
由于α總可由式6的最小二乘解確定:
于是,式3成為:
即對(duì)誤差函數(shù)式8進(jìn)行優(yōu)化時(shí),變量只是隸屬函數(shù)的中心與寬度。與式3比較,式9大大降低了優(yōu)化的搜索空間維數(shù)。顯然,降維后對(duì)加快收斂速度,改善收斂性能都是有利的。
優(yōu)化需要計(jì)算目標(biāo)函數(shù)的梯度,式8的梯度是:
式中,包含兩項(xiàng)導(dǎo)數(shù),分別是由前提決定的與結(jié)論參數(shù)α對(duì)cij的導(dǎo)數(shù)。容易求得前一項(xiàng)是:
而第二項(xiàng)導(dǎo)數(shù)實(shí)際并不需要求出,因?yàn)楫?dāng)α是式6的最小二乘解時(shí),有:
按以上表達(dá)計(jì)算出梯度,即可對(duì)式9進(jìn)行梯度優(yōu)化。不難看出式13、14的梯度表達(dá)與對(duì)式3采用BP算法時(shí)需要的梯度是一致的,不同的是式13、14中的α總是由式7決定的。由此可以看出,若采用BP與最小二乘的混合算法并在每次交替迭代中只執(zhí)行一次BP迭代,則過(guò)程與對(duì)式9執(zhí)行一次梯度迭代完全等價(jià)(假定采用相同步長(zhǎng));而執(zhí)行更多的BP迭代僅僅是在α固定時(shí)的一種局部?jī)?yōu)化,對(duì)式3的整體優(yōu)化則未必有益。
BP算法的收斂速度較慢。擬牛頓法是效果更好的優(yōu)化技術(shù),將其用于模糊邏輯系統(tǒng)的學(xué)習(xí),可取得較快的收斂速度??芍苯訉?duì)式3使用擬牛頓法,如文獻(xiàn)5。但通過(guò)以上的分析,可知對(duì)式9使用擬牛頓法是更為有效的,這就是擬牛頓法與最小二乘混合的學(xué)習(xí)算法,步驟如下:
(1)按DFP或 BFGS公式確定近似Hessian矩陣H(k);
(2)在方向 s(k)=-H(k)g(k)上進(jìn)行一維搜索(g(k)是由式 13、14 組成的梯度矢量),確定前提參數(shù);
(3)用最小二乘確定結(jié)論參數(shù);
(4)重復(fù)step 1-step 3至收斂。
注意在step 2中執(zhí)行一維搜索時(shí),每次計(jì)算目標(biāo)函數(shù)的值均須根據(jù)當(dāng)時(shí)的前提參數(shù)用最小二乘求出結(jié)論參數(shù),再計(jì)算誤差的均方和。
上述過(guò)程是對(duì)式9的擬牛頓迭代。與直接對(duì)式3的擬牛頓法相比,這樣做顯著縮小了Hessian矩陣的規(guī)模,減少了計(jì)算量;同時(shí)由于優(yōu)化搜索空間維數(shù)降低,對(duì)收斂可能更有利。
對(duì)這一算法進(jìn)行了數(shù)值實(shí)驗(yàn)。實(shí)驗(yàn)選取了一些數(shù)學(xué)函數(shù),部分結(jié)果如下:
(1)3 輸入函數(shù) t=(1+x0.5+y-1+z1.5)2,其中 x,y,z∈[1,6]。利用數(shù)論網(wǎng)格法[6]產(chǎn)生 216 個(gè)訓(xùn)練樣本,再隨機(jī)產(chǎn)生125個(gè)測(cè)試樣本;
(2)6輸入函數(shù)y=x1+x0.52+x3x4+2e2(x5-x6),其中x1,x2∈[1,5],x3∈[0,4],x4∈[0,0.6],x5∈[0,1],x6∈[0,1.2]。隨機(jī)產(chǎn)生300個(gè)訓(xùn)練樣本,再利用數(shù)論網(wǎng)格法產(chǎn)生2 129個(gè)測(cè)試樣本。
3輸入函數(shù)是模糊邏輯文獻(xiàn)中常見(jiàn)的一個(gè)測(cè)試?yán)樱?輸入函數(shù)取自最近的文獻(xiàn)7。分別用上述擬牛頓與最小二乘混合的學(xué)習(xí)算法和MATLAB模糊工具箱中的ANFIS進(jìn)行訓(xùn)練,結(jié)果如表1所示,其中訓(xùn)練時(shí)間是在酷睿2上測(cè)得的CPU時(shí)間,均方誤差指在全部檢驗(yàn)樣本上的均方誤差??梢钥闯鲚^ANFIS,擬牛頓與最小二乘混合的學(xué)習(xí)算法無(wú)論在速度還是精度方面都有明顯優(yōu)勢(shì)。
表1 建模結(jié)果比較
對(duì)TSK模糊邏輯系統(tǒng)的學(xué)習(xí)應(yīng)用其余各種高級(jí)優(yōu)化技術(shù),如進(jìn)化算法等,也可按上述類似步驟:每對(duì)前提參數(shù)迭代一次,即用最小二乘更新一次結(jié)論參數(shù),這樣每次迭代都等價(jià)于系統(tǒng)對(duì)全部參數(shù)的一次整體優(yōu)化,而搜索只在由前提參數(shù)決定的空間中進(jìn)行。
本文對(duì)TSK模糊邏輯系統(tǒng)的學(xué)習(xí)算法作了進(jìn)一步研究。根據(jù)這類系統(tǒng)的特點(diǎn),首先指出學(xué)習(xí)可轉(zhuǎn)化成只對(duì)前提參數(shù)的優(yōu)化,這降低了問(wèn)題的維數(shù)。然后證明采用一次BP迭代與最小二乘的混合算法等價(jià)于對(duì)這一問(wèn)題的梯度優(yōu)化,指出在混合算法中采用多次BP迭代是不必要的。給出了擬牛頓與最小二乘混合的學(xué)習(xí)算法步驟,并用數(shù)值實(shí)例說(shuō)明了效果。本文的觀點(diǎn)與結(jié)論對(duì)采用各種高級(jí)優(yōu)化技術(shù)的學(xué)習(xí)算法也是有指導(dǎo)意義的。
[1] Jang JS.ANFIS:Aadptive-network-based fuzzy inference system[J].IEEE Trans SystMan Cybern,1993,23(1):665-685.
[2] Chen-Sen Ouyang,Wan-Jui Lee,Shie-Jue Lee.A TSK-type neurofuzzy network approach to system modeling problems[J].IEEE Trans on SystMan Cybern B,2005,35(4):751-767.
[3] Gang Leng.Design for self-organizing fuzzy neural networks based on genetic algorithms[J].IEEE Trans Fuzzy Syst,2006,14(6):755-766.
[4] Jang JS,Sun C T.Neuro-fuzzy modeling and control[J].Proceedings of the IEEE,1995,83(3):378-405.
[5] 張良杰,李衍達(dá),陳惠民.基于變尺度尋優(yōu)與遺傳搜索技術(shù)的模糊神經(jīng)網(wǎng)絡(luò)全局學(xué)習(xí)算法[J].電子學(xué)報(bào),1996,24(11):6-11.
[6] 方開(kāi)泰,王元.數(shù)論方法在統(tǒng)計(jì)中的應(yīng)用[M].北京:科學(xué)出版社,1996:19-25.
[7] Botzheim J,Lughofer E,Klement E P,et al.Separated antecedent and consequent learning for Takagi-Sugeno fuzzy system[C].Canada:IEEE Int Conf on Fuzzy Systems,2006:2 263-2 267.