Adaline神經(jīng)網(wǎng)絡(luò)隨機(jī)逼近LMS算法的仿真研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
人工神經(jīng)網(wǎng)絡(luò)最重要的功能之一是分類。對(duì)于線性可分問(wèn)題,采用硬限幅函數(shù)的單個(gè)神經(jīng)元,通過(guò)簡(jiǎn)單的學(xué)習(xí)算法就可成功實(shí)現(xiàn)分類。即對(duì)于兩個(gè)不同類中的輸入矢量,神經(jīng)元的輸出值為0或1。但對(duì)于大多數(shù)非線性可分類,硬限幅神經(jīng)元?jiǎng)t無(wú)法完成分類功能。自適應(yīng)線性元件Adaline(Adap-tive LiIlear Element)是一種具有線性功能函數(shù)的神繹元,在實(shí)際輸出與理想預(yù)期值的最小二乘LMS(Least Mean Square)的統(tǒng)計(jì)意義下進(jìn)行學(xué)習(xí),可以實(shí)現(xiàn)最佳的非線性可分集合的分類,即按照最小二乘的統(tǒng)計(jì)意義要求,實(shí)際輸出值與理想預(yù)期值之間的誤差均方值為最小,能夠?qū)崿F(xiàn)這一目的算法即稱為最小二乘學(xué)習(xí)算法或LMS算法。
2 Adaline的LMS算法原理
設(shè)輸入矢量X=[x1,x2,…,xn],加權(quán)矢量W=[ω1,ω2,…,ωn],則神經(jīng)元的輸出為:
定義ε(k)是理想輸出值d(k)與實(shí)際輸出值y(k)之間的誤差,即ε(k)=d(k)-y(k),其均方值記作E[ε2(k)],令ζ(k)=E[ε2(k)],則:
由式(2)可知必定存在最佳的加權(quán)矢量W*,使ζ(k)達(dá)到最小,此時(shí)ζ(k)相對(duì)于W的梯度等于零,從而可以得到:
式(3)雖然給出了求最佳加權(quán)矢量的方法,但需要大量的統(tǒng)計(jì)計(jì)算,而且當(dāng)輸入矢量X的維數(shù)很大時(shí),需要解決高階矩陣求逆問(wèn)題,這些在數(shù)學(xué)計(jì)算上都是非常閑難的。
3 隨機(jī)逼近LMS學(xué)習(xí)算法的提出
為了解決式(3)存在的問(wèn)題,有學(xué)者提出LMS學(xué)習(xí)問(wèn)題的嚴(yán)格遞推算法和隨機(jī)逼近算法,這里簡(jiǎn)要描述其算法原理。LMS學(xué)習(xí)問(wèn)題的嚴(yán)格遞推算法是在任意設(shè)置初始加權(quán)矢量W(0)時(shí),對(duì)于每一個(gè)時(shí)序變量k,對(duì)W調(diào)整:
用這種方法可以保證求得嚴(yán)格的最佳解,而且避開(kāi)矩陣求逆。但學(xué)習(xí)過(guò)程的每一步仍需大量的統(tǒng)計(jì)計(jì)算,仍需解決統(tǒng)計(jì)計(jì)算困難。
LMS學(xué)習(xí)問(wèn)題的隨機(jī)逼近算法則將權(quán)值調(diào)整公式修正為下列形式:
該方法與前一算法區(qū)別在于:用ε(k)X(k)代替E[ε(k)X(k)],從而避免統(tǒng)計(jì)計(jì)算的困難,但同時(shí)使加權(quán)矢量的變化趨向隨機(jī)性;步幅α變成一個(gè)隨時(shí)序k變化的量,可以證明,當(dāng)α(k)滿足以下條件時(shí),學(xué)習(xí)是收斂的:α(k)是時(shí)序k∞ ∞
的非增函數(shù);在這樣k=0 k=0的條件下,W(k)隨著k增大而趨向W*的概率為1。
4 隨機(jī)逼近LMS算法仿真
按以下步驟對(duì)隨機(jī)逼近算法編制程序進(jìn)行仿真:
(1)對(duì)圖1所示的正弦波和三角波分別進(jìn)行64點(diǎn)均勻采樣,組成64維輸入樣本矢量。
(2)W(0)選擇服從(0,1)之間均勻分布的隨機(jī)矢量,初始步長(zhǎng)參數(shù)α選為0.03,選定誤差的平方臨界值ε02(k)=10-5,將X0,X1交替重復(fù)地送入采用線性函數(shù)的神經(jīng)元,反復(fù)訓(xùn)練,直至ε2(k)≤ε02(k),這樣可以得到誤差平方和學(xué)習(xí)次數(shù)之間的關(guān)系,如圖2所示。
從圖2中可以看出.當(dāng)α=0.03時(shí),學(xué)習(xí)是收斂的,學(xué)習(xí)次數(shù)k=1 147,學(xué)習(xí)完成時(shí)ε(k)=3.2x10-3,其平方小于所確定的ε02(k)。把X0,X1重新送入神經(jīng)元,計(jì)算后得到實(shí)際輸出值Y0=0.003 9,Y1=0.999 9,這和預(yù)期輸出值相當(dāng)接近,從而較好完成了X0,X1的分類。
(3)設(shè)置不同的步幅α,分別計(jì)算并繪制ε2(k)變化曲線,觀察ε2(k)的收斂性、收斂速度與α的關(guān)系,試驗(yàn)結(jié)果如圖3所示。從圖3中可以看出,當(dāng)α 很小時(shí),學(xué)習(xí)收斂,學(xué)習(xí)速度很慢,且收斂的穩(wěn)定性較好;當(dāng)α增大,學(xué)習(xí)仍保持收斂,但學(xué)習(xí)速度加快,同時(shí)穩(wěn)定性降低;當(dāng)α=0.08時(shí),學(xué)習(xí)已不再收斂。
(4)仿真正確性和抗噪性。產(chǎn)生一系列加噪的正弦波和三角波作為輸入矢量,所疊加的噪聲服從正態(tài)分布N(0,σ2)。規(guī)定Pn為正確識(shí)別X0的概率,P1 為正確識(shí)別X1的概率,ERR為輸出錯(cuò)誤的個(gè)數(shù)(總樣本:1 000),通過(guò)檢測(cè)可得表1。由表1可看出,當(dāng)噪聲的方差σ2較小時(shí),使用隨機(jī)逼近算法的Adaline神經(jīng)元幾乎可以無(wú)誤地識(shí)別輸入矢量;但當(dāng)噪聲方差逐步加大時(shí),錯(cuò)判的概率也隨之加大。而在學(xué)習(xí)收斂的條件下,步幅α對(duì)神經(jīng)元輸出的正確性幾乎沒(méi)有影響。圖4是總樣本為200時(shí),固定α=0.03.當(dāng)α2 =3x10-3時(shí)的分類結(jié)果示意圖。
5 仿真結(jié)果和分析
首先對(duì)兩種波形進(jìn)行64點(diǎn)采樣,再利用隨機(jī)逼近算法對(duì)兩種波形進(jìn)行分類,這也相當(dāng)于一個(gè)64 維空間中兩個(gè)點(diǎn)的分類問(wèn)題。仿真結(jié)果表明:對(duì)于不同的初始步幅α,神經(jīng)元完成學(xué)習(xí)任務(wù)的訓(xùn)練時(shí)間不同;在保證學(xué)習(xí)收斂性的前提下,α越大,收斂速度越快,但收斂的穩(wěn)定性變差。權(quán)矢量的初始值W(0)對(duì)學(xué)習(xí)的收斂性沒(méi)有影響。最后,對(duì)神經(jīng)元的學(xué)習(xí)結(jié)果進(jìn)行檢驗(yàn),檢驗(yàn)結(jié)果驗(yàn)證了經(jīng)學(xué)習(xí)訓(xùn)練后,神經(jīng)元分類的正確性及抗噪性。從網(wǎng)絡(luò)的原理可看出,在隨機(jī)逼近算法中,若α(k)是時(shí)序k的非增函數(shù),且有
學(xué)習(xí)是收斂的。但本仿真中均采用恒定步幅值α,這樣只有在α的值比較小的情況下,才能保證學(xué)習(xí)收斂。為了改進(jìn)算法,可采用時(shí)變的步幅α(k)=1/pk+q,則既滿足步幅因子收斂的條件,又保證步幅因子在學(xué)習(xí)開(kāi)始時(shí)較大,而隨著學(xué)習(xí)的進(jìn)行逐漸減小。