翟瑩瑩, 左 麗, 張恩德
(東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 遼寧 沈陽(yáng) 110169)
徑向基函數(shù)(radial basis function, RBF)神經(jīng)網(wǎng)絡(luò)是一種高效的三層前饋式神經(jīng)網(wǎng)絡(luò),其拓?fù)浣Y(jié)構(gòu)簡(jiǎn)單,學(xué)習(xí)速度快,理論上可以任意精度逼近任何單值連續(xù)函數(shù)[1-2],主要用于非線性系統(tǒng)建模與控制[3-4]、模式識(shí)別[5]和時(shí)間序列預(yù)測(cè)[6-7]等方面.由于RBF神經(jīng)網(wǎng)絡(luò)基于多變量差值理論,所有的數(shù)據(jù)均可作為隱含層節(jié)點(diǎn),使得網(wǎng)絡(luò)的泛化性能低下.因此,RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的核心問(wèn)題是在保證精度要求的情況下,提高網(wǎng)絡(luò)的泛化性能[8].
RBF的網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化是一個(gè)開(kāi)放的問(wèn)題,如何調(diào)整RBF網(wǎng)絡(luò)結(jié)構(gòu)是當(dāng)前關(guān)注的主要問(wèn)題,仍需要進(jìn)一步研究.為了提升RBF神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)性能,很多學(xué)者提出了不同的改進(jìn)方法[9-13].Yang等[10]應(yīng)用輸出敏感度方差重要性的度量方法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(VS-RBF),采用K-means聚類(lèi)算法確定網(wǎng)絡(luò)隱含層的節(jié)點(diǎn)中心,采用隨機(jī)初始化函數(shù)的寬度,提高網(wǎng)絡(luò)的自適應(yīng)能力.為了提高聚類(lèi)算法的有效性,本文改進(jìn)K-means++聚類(lèi)算法,得到MKM++算法,確定了合適的網(wǎng)絡(luò)初始中心;考慮數(shù)據(jù)分布和縮放因子的自適應(yīng)選擇,采用方差度量?jī)?yōu)化法求取隱含層神經(jīng)元基函數(shù)的寬度.基于上述參數(shù)的優(yōu)化,本文提出一種兩階段學(xué)習(xí)的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化方法(KV-RBF).通過(guò)仿真實(shí)驗(yàn),驗(yàn)證了KV-RBF的準(zhǔn)確性和有效性.
RBF神經(jīng)網(wǎng)絡(luò)由三層前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成,包括輸入層、隱含層和輸出層,如圖1所示.設(shè)RBF網(wǎng)絡(luò)結(jié)構(gòu)為n-m-p(n為輸入層節(jié)點(diǎn)數(shù),m為隱含層節(jié)點(diǎn)數(shù),p為輸出層節(jié)點(diǎn)數(shù)),輸入層向量為x=(x1,x2,…,xn)T,隱含層第j個(gè)節(jié)點(diǎn)的輸出為
(1)
式中:hj(x)為徑向基函數(shù);‖·‖為歐式范數(shù);徑向基函數(shù)的中心向量為φj=(φj1,φj2,…,φjm)T;σj為第j個(gè)基函數(shù)的擴(kuò)展寬度.
輸出層第k個(gè)節(jié)點(diǎn)的輸出為
(2)
式中:wki為隱含層第i個(gè)節(jié)點(diǎn)到輸出層第k個(gè)節(jié)點(diǎn)的連接權(quán)重,wk0為輸出層第k個(gè)節(jié)點(diǎn)的偏差項(xiàng).輸出層節(jié)點(diǎn)k的誤差函數(shù)為
(3)
式中,yd,k為節(jié)點(diǎn)k的期望輸出.RBF網(wǎng)絡(luò)的總誤差函數(shù)為
(4)
在RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,決定網(wǎng)絡(luò)收斂速度的主要參數(shù)是隱含層節(jié)點(diǎn)中心和基函數(shù)寬度初值,合理選取這兩個(gè)參數(shù)的初值能夠提高收斂速度.本文采用聚類(lèi)算法確定隱含層節(jié)點(diǎn)中心和基函數(shù)寬度.將得到的聚類(lèi)中心μj(j=1,2,…,m)作為徑向基函數(shù)的中心μ,徑向基函數(shù)的寬度計(jì)算公式如下:
(5)
式中:dmax為所有中心的最大距離.
使用最小二乘法求RBF神經(jīng)網(wǎng)絡(luò)的權(quán)值參數(shù).式(2)可以寫(xiě)成矩陣形式:
Y=Hw.
(6)
w=(w1,w2,…,wm)T.
用H的偽逆H?=(HTH)-1HT求得
w=H?Y.
(7)
該方法中徑向基函數(shù)的中心和寬度可以在RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練前求出,訓(xùn)練中只需要求出隱含層輸出矩陣的偽逆φ?,通過(guò)式(7)求出輸出層和隱含層的權(quán)值.
基于聚類(lèi)算法的RBF神經(jīng)網(wǎng)絡(luò)存在如下問(wèn)題:算法對(duì)聚類(lèi)初始條件敏感,初始中心選擇不恰當(dāng)會(huì)使聚類(lèi)效果很差;寬度求取過(guò)程未考慮數(shù)據(jù)樣本的分布.這種不穩(wěn)定性是RBF神經(jīng)網(wǎng)絡(luò)實(shí)際應(yīng)用中最大的瓶頸,因此,本文提出了基于參數(shù)優(yōu)化的RBF算法,以改進(jìn)算法的上述缺陷.
K-means++聚類(lèi)算法是一種非監(jiān)督學(xué)習(xí)方法.在樣本中選取k個(gè)數(shù)據(jù)點(diǎn)作為初始聚類(lèi)中心,形成k個(gè)分組;重復(fù)分配,更新分組,直到聚類(lèi)中心的變化值在指定誤差范圍內(nèi),其算法步驟如下:
①隨機(jī)選取整個(gè)樣本數(shù)據(jù)集中的k個(gè)數(shù)作為初始聚類(lèi)中心;
②計(jì)算樣本點(diǎn)與聚類(lèi)中心的歐氏距離,按照最小距離原則分配到最鄰近聚類(lèi);
③用每個(gè)聚類(lèi)中樣本均值作為新聚類(lèi)中心;
④重復(fù)步驟②和③,直到聚類(lèi)中心變化值小于指定的誤差;
⑤結(jié)束,得到k個(gè)聚類(lèi)中心.
K-means++選擇中心點(diǎn)依賴(lài)于前面選取的初始中心點(diǎn),而隨機(jī)選取初始中心點(diǎn)導(dǎo)致了算法的不穩(wěn)定.K-means++并沒(méi)有克服對(duì)離群點(diǎn)的敏感性,離群點(diǎn)的存在仍然使最終聚類(lèi)中心偏離真正的中心點(diǎn);算法往往選擇離群點(diǎn)和邊緣點(diǎn)作為下一個(gè)初始中心點(diǎn),使得聚類(lèi)性能下降.
為了克服K-means++算法的聚類(lèi)缺陷,引入MMOD(mountain method based outlier detection)算法[14].基于數(shù)據(jù)密度優(yōu)化的MMOD算法很好地計(jì)算衡量了每個(gè)樣本的密度,將其引入到K-means++算法中,用密度最大的樣本代替K-means++算法隨機(jī)選擇的樣本,作為第一個(gè)初始中心點(diǎn),減弱對(duì)初始中心點(diǎn)的敏感性,即本文提出的MKM++算法.
MMOD算法采用樣本點(diǎn)的數(shù)據(jù)密度估計(jì)方法,區(qū)分正常數(shù)據(jù)點(diǎn)與離群數(shù)據(jù)點(diǎn)的數(shù)據(jù)密度,其數(shù)據(jù)密度計(jì)算公式為
(8)
式中:k為近鄰點(diǎn)數(shù)量;d(p,xi)為數(shù)據(jù)點(diǎn)p到xi的距離;δk(xi)為數(shù)據(jù)點(diǎn)xi到其第k個(gè)近鄰點(diǎn)的歐式距離,是局部尺度化參數(shù);KNN(p)為數(shù)據(jù)點(diǎn)p的k近鄰集合.離群度,即數(shù)據(jù)點(diǎn)的離群程度,取值區(qū)間為0~1.對(duì)于聚類(lèi)內(nèi)部的點(diǎn),假設(shè)p的k近鄰屬于同一個(gè)類(lèi),則δk(xi)>d(p,xi),M(p)的值會(huì)比較大;在p的k近鄰集合中,數(shù)據(jù)點(diǎn)越靠近中心,密度越大.
為了保證聚類(lèi)效果,使用傳統(tǒng)歐式距離與數(shù)據(jù)密度的乘積優(yōu)化K-means++算法的初始中心點(diǎn)選取策略,在滿足初始中心點(diǎn)應(yīng)當(dāng)盡可能遠(yuǎn)的前提下,選擇密度大的點(diǎn)作為下一個(gè)初始中心點(diǎn),即基于距離盡可能遠(yuǎn)、密度盡可能大的原則選擇其余的初始中心點(diǎn).
基于樣本數(shù)據(jù)的聚類(lèi)中心μ={μ1,μ2,…,μm},根據(jù)每個(gè)中心的數(shù)據(jù)密度分布來(lái)分配相應(yīng)的縮放因子,使得每個(gè)中心的寬度體現(xiàn)其數(shù)據(jù)的空間分布.類(lèi)簇樣本分布不同,相同寬度或者相鄰兩個(gè)中心點(diǎn)的距離無(wú)法反映簇內(nèi)中心點(diǎn)的稠密情況;因此,寬度的選擇應(yīng)該考慮到每個(gè)類(lèi)簇之間的距離和簇內(nèi)樣本的分布密度.
以每個(gè)聚類(lèi)中心和其他聚類(lèi)中心的距離的平均值作為距離基數(shù):
(9)
方差代表樣本分布的稠密程度,將每個(gè)聚類(lèi)看作一個(gè)數(shù)據(jù)集,求得每個(gè)聚類(lèi)的方差Si:
(10)
式中:size(Ci)為屬于聚類(lèi)中心μi的樣本數(shù);Ci為子樣本;dist(x,μi)為歐式距離.該中心寬度的縮放因子εi:
(11)
根據(jù)式(10)和式(11),得到每個(gè)中心寬度:
σi=εi·meanD(μi) .
(12)
當(dāng)類(lèi)內(nèi)分布稠密(類(lèi)內(nèi)方差Si比較小)時(shí),縮放因子也會(huì)變小,寬度也會(huì)減小;同理,當(dāng)類(lèi)內(nèi)數(shù)據(jù)分布比較稀疏(類(lèi)內(nèi)方差Si比較大)時(shí),縮放因子則會(huì)變大,寬度就會(huì)適當(dāng)擴(kuò)大,此時(shí),RBF神經(jīng)網(wǎng)絡(luò)的選擇性則會(huì)減小.
根據(jù)上述分析得到基于參數(shù)優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)算法KV-RBF:首先,由MKM++求取RBF神經(jīng)網(wǎng)絡(luò)隱節(jié)點(diǎn)的中心;然后,采用基于方差的寬度求取算法求得RBF每個(gè)核函數(shù)的寬度;最后,采用最小二乘法求隱含層和輸出層的權(quán)重.算法實(shí)現(xiàn)步驟如下:
①采用MKM++算法求得RBF神經(jīng)網(wǎng)絡(luò)隱節(jié)點(diǎn)的k個(gè)聚類(lèi)中心;
②使用式(9)計(jì)算每個(gè)聚類(lèi)中心和其他聚類(lèi)中心的距離的平均值;
③使用式(10)計(jì)算每個(gè)聚類(lèi)的類(lèi)內(nèi)方差Si;
④使用式(11)計(jì)算縮放因子εi;
⑤使用式(12)求得該核函數(shù)的寬度σi,求出RBF神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)中心的寬度;
⑥基于中心Ci和寬度σi,應(yīng)用最小二乘法求得隱含層與輸出層的權(quán)值參數(shù),訓(xùn)練模型.
在聚類(lèi)算法對(duì)比實(shí)驗(yàn)中,用平方誤差來(lái)度量不同算法的聚類(lèi)效果.其計(jì)算公式為
(13)
式中:E是數(shù)據(jù)集中所有對(duì)象的誤差平方和;p是空間中的點(diǎn),表示給定的數(shù)據(jù)對(duì)象;μi是聚類(lèi)中心.
選取UCI開(kāi)源的數(shù)據(jù)集,該數(shù)據(jù)集是5 000個(gè)矢量合成的二維數(shù)據(jù),由15個(gè)重疊程度不相同的高斯集群組成.進(jìn)行10次模擬實(shí)驗(yàn),得到兩個(gè)算法的平方誤差如圖2所示.
由圖2可知,K-means++平方誤差值大多為1013數(shù)量級(jí),而MKM++大多數(shù)為1012數(shù)量級(jí).經(jīng)過(guò)多次實(shí)驗(yàn)圖像分析可以得出以下經(jīng)驗(yàn):誤差值為1012數(shù)量級(jí)的都能正確找到聚類(lèi)中心,而誤差為1013數(shù)量級(jí)時(shí),出現(xiàn)1個(gè)中心的聚類(lèi)錯(cuò)誤.MKM++在穩(wěn)定性和準(zhǔn)確率上均比K-means++有一定的提升.
本文采用如下指標(biāo)評(píng)定聚類(lèi)效果:
①JC系數(shù)(Jaccard coefficient):
(14)
②FMI指數(shù)(Fowlkes and Mallows index):
(15)
③RI指數(shù)(Rand index):
(16)
a+b+c+d=m(m-1)/2.
上述指標(biāo)度量結(jié)果均在[0,1]內(nèi),值越大,聚類(lèi)越好.
對(duì)開(kāi)源數(shù)據(jù)集中的5個(gè)數(shù)據(jù)集Iris,seeds,Pima Indians(P-I),wine,new-thyroid(n-th)進(jìn)行30次模擬實(shí)驗(yàn),使用上述指標(biāo)進(jìn)行K-means++(K-M)和MKM++算法性能對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示.
表1 聚類(lèi)評(píng)價(jià)指標(biāo)對(duì)比Table 1 Comparison of clustering evaluation indexes
由表1可知,在Iris數(shù)據(jù)集中指標(biāo)提升比較明顯;而在seeds數(shù)據(jù)集中JC系數(shù)和FMI指數(shù)提升較少,但RI指數(shù)還是略有提升.P-I數(shù)據(jù)集的指標(biāo)沒(méi)有變化,但n-th數(shù)據(jù)集3個(gè)指標(biāo)提升明顯.因此,MKM++優(yōu)于K-means++算法.
選取一維非線性函數(shù):
y=1+(x+5x2)sin(-2x2),x∈[-4,4] ,
(17)
隨機(jī)產(chǎn)生201個(gè)數(shù)據(jù)(取值區(qū)間為[-4,4])的樣本.分別用傳統(tǒng)RBF,VS-RBF[10]和本文的KV-RBF算法對(duì)上述離散樣本進(jìn)行模擬,實(shí)驗(yàn)結(jié)果如圖3所示.
由圖3可知,KV-RBF算法優(yōu)于RBF及VS-RBF算法;RBF和VS-RBF算法在中心點(diǎn)個(gè)數(shù)不足時(shí)很難達(dá)到理想的擬合效果,為了規(guī)避聚類(lèi)帶來(lái)的不穩(wěn)定性,對(duì)比不同算法的均方誤差,如圖4所示.
KV-RBF算法的均方誤差小于RBF和VS-RBF算法,應(yīng)用改進(jìn)的K-means++方法后,能夠提高模型的穩(wěn)定性.
為了分析KV-RBF算法的有效性,選取二維三角函數(shù):
y=cos(2πk1x1+2πk2x2)sin(2πk2x2) .
(18)
式中:y為期望輸出;k1=0.05,k2=0.02;輸出樣本滿足0 由圖6可知,KV-RBF算法對(duì)函數(shù)的擬合誤差在0.03范圍內(nèi),誤差曲面比較平坦,具有很強(qiáng)的泛化性能. 圖7為基于KV-RBF算法的網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)量的動(dòng)態(tài)變化.可以看出,隨著訓(xùn)練時(shí)間的增加,隱含層神經(jīng)元個(gè)數(shù)也在逐漸增加,該網(wǎng)絡(luò)能夠很好地自適應(yīng)調(diào)整結(jié)構(gòu). 對(duì)UCI開(kāi)源數(shù)據(jù)集中的Boston housing,CCPP,Pollutant concentration進(jìn)行實(shí)驗(yàn)分析.隨機(jī)抽取每個(gè)數(shù)據(jù)集的3/4作為訓(xùn)練樣本,剩下1/4樣本用于測(cè)試.分別采用傳統(tǒng)RBF算法和KV-RBF算法進(jìn)行對(duì)比,為了避免聚類(lèi)的隨機(jī)性,隱含層中心的數(shù)量從20到80遞增,得到的不同數(shù)據(jù)集的均方誤差變化如圖8所示. 由圖8可知,RBF神經(jīng)網(wǎng)絡(luò)的均方誤差隨著核函數(shù)聚類(lèi)中心數(shù)量的增加而遞減,符合RBF神經(jīng)網(wǎng)絡(luò)的原理.KV-RBF算法的均方誤差要小于傳統(tǒng)RBF算法.在Boston housing數(shù)據(jù)集中,KV-RBF算法優(yōu)于傳統(tǒng)RBF算法,只有個(gè)別情況出現(xiàn)了均方誤差比傳統(tǒng)RBF算法大的現(xiàn)象;而對(duì)于CCPP數(shù)據(jù)集,KV-RBF算法的精度明顯提高,誤差降低了1左右.由于Pollutant concentration數(shù)據(jù)集中的數(shù)據(jù)有較強(qiáng)的離散性,而CCPP數(shù)據(jù)集中的數(shù)據(jù)具有連續(xù)性,且RBF核函數(shù)是基于歐式 距離的,處理離散性數(shù)據(jù)時(shí)均方誤差會(huì)隨著數(shù)據(jù)的波動(dòng)而波動(dòng);因此,Pollutant concentration的均方誤差抖動(dòng)比較明顯,而CCPP基本上很穩(wěn)定.由前述可知,基于參數(shù)優(yōu)化的KV-RBF算法提升了網(wǎng)絡(luò)的預(yù)測(cè)性能. 1) 基于KV-RBF算法的神經(jīng)網(wǎng)絡(luò)找到的聚類(lèi)中心更穩(wěn)定,并根據(jù)不同的數(shù)據(jù)集自適應(yīng)調(diào)整隱含層的節(jié)點(diǎn)數(shù). 2) 參數(shù)優(yōu)化后的RBF網(wǎng)絡(luò)具有較好的非線性逼近能力和收斂速度;本文提出的基于KV-RBF算法的神經(jīng)網(wǎng)絡(luò)表現(xiàn)出較好的訓(xùn)練結(jié)果和測(cè)試結(jié)果,說(shuō)明其具有較好的泛化性能.4 結(jié) 論