《計算智能與深度學(xué)習(xí)》-2神經(jīng)網(wǎng)絡(luò)-3自適應(yīng)線性元件_第1頁
《計算智能與深度學(xué)習(xí)》-2神經(jīng)網(wǎng)絡(luò)-3自適應(yīng)線性元件_第2頁
《計算智能與深度學(xué)習(xí)》-2神經(jīng)網(wǎng)絡(luò)-3自適應(yīng)線性元件_第3頁
《計算智能與深度學(xué)習(xí)》-2神經(jīng)網(wǎng)絡(luò)-3自適應(yīng)線性元件_第4頁
《計算智能與深度學(xué)習(xí)》-2神經(jīng)網(wǎng)絡(luò)-3自適應(yīng)線性元件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

·

它與感知器的主要不同之處在于其神經(jīng)

元有一個線性激活函數(shù),這允許輸出可

以是任意值,而不僅僅只是像感知器中

那樣只能取0或1?!?/p>

它采用的是W-H學(xué)習(xí)法則,也稱最小均

方差(LMS)規(guī)則對權(quán)值進行訓(xùn)練·

自適應(yīng)線性元件的主要用途是線性逼近

一個函數(shù)式而進行模式聯(lián)想。15.1自適應(yīng)線性神經(jīng)元模型和結(jié)構(gòu)圖5.1自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)25.2W-H學(xué)習(xí)規(guī)則(WidrowHoff)·W-H

學(xué)習(xí)規(guī)則是由威德羅和霍夫提出的,用

來修正權(quán)矢量的學(xué)習(xí)規(guī)則●采用W-H學(xué)習(xí)規(guī)則可以用來訓(xùn)練一定網(wǎng)絡(luò)

的權(quán)值和偏差使之線性地逼近一個函數(shù)式

而進行模式聯(lián)想(PatternAssociation)。3WP中含偏置,展開為WP+B目的是通過調(diào)節(jié)權(quán)矢量,使E(W,B)達到最小值。所以在給定E(W,B)后,利用W-H學(xué)習(xí)規(guī)則修正權(quán)矢量

和偏差矢量,使E(W,B)從誤差空間的某一點開始,沿

著E(W,B)的斜面向下滑行。定義一個線性網(wǎng)絡(luò)的輸出誤差函數(shù)為:4或表示為:△Wij

=ηδi

Pj△bi

=ηδi

(5.3)δi=ti-ai根據(jù)梯度下降法,權(quán)矢量的修正值正比于當前位

置上E(W,B)的梯度,對于第1個輸出節(jié)點有:5η為學(xué)習(xí)速率。在一般的實際運用中,實踐表明,η通常取一接近1的數(shù),或取值為:η=0.99*

—(5.5)學(xué)習(xí)速率的這一取法在神經(jīng)網(wǎng)絡(luò)工具箱中用函數(shù)

maxlinlr.m

來實現(xiàn)。(5.5)式可實現(xiàn)為:Ir=0.99*maxlinlr(P,1);6W-H

學(xué)習(xí)規(guī)則的計算公式W-H學(xué)習(xí)規(guī)則的函數(shù)用learnwh.m來實現(xiàn),加上線性自適應(yīng)網(wǎng)絡(luò)輸出函數(shù)purelin.m(系統(tǒng)的),可以寫出

W-H

學(xué)習(xí)規(guī)則的計算公式為:A=purelin(W*P,B);%網(wǎng)絡(luò)輸出E=T-A;[dW,dB]=learnwh(P,E,Ir);%增量W=W

十dW;

%修改B=B十dB;采用W-H規(guī)則訓(xùn)練自適應(yīng)線性元件使其能夠得以收斂

的必要條件是被訓(xùn)練的輸入矢量必須是線性獨立的,

且應(yīng)適當?shù)剡x擇學(xué)習(xí)速率以防止產(chǎn)生振蕩現(xiàn)象。75

.

3

網(wǎng)

絡(luò)

訓(xùn)

練自適應(yīng)線性元件的網(wǎng)絡(luò)訓(xùn)練過程可以歸納為以下三個步驟:(1)表達:計算訓(xùn)練的輸出矢量A

=W*P十B,

及與期望輸出之間的誤差E=T-A;(2)檢查:將網(wǎng)絡(luò)輸出誤差的平方和與期望誤差相

比較,如果其值小于期望誤差,或訓(xùn)練已達到

事先設(shè)定的最大訓(xùn)練次數(shù),則停止訓(xùn)練;否則

繼續(xù)

;(3)學(xué)習(xí):采用W-H學(xué)習(xí)規(guī)則計算新的權(quán)值和偏差,

并返回到(1)。85

.

4例題與分析[例5.1]設(shè)計自適應(yīng)線性網(wǎng)絡(luò)實現(xiàn)從輸入矢量到輸出矢量的變換關(guān)系。其輸入矢量

和輸出矢量分別為:P=[1.0-1.2]T=[0.5

1.0]9自適應(yīng)線性元件網(wǎng)絡(luò)的訓(xùn)練過程如下:trainwh.mfunction

[W,B,epoch,SSE]=trainwh(W,B,P,T,TP)max_epoch=TP(2);err

lr=TP(4);A=purelin(W*P,B);%或A=purelin(W*P+B);E=T-A;SSE=sumsqr(E);

%求誤差平方和for

epoch=1:max_epoch

%循環(huán)訓(xùn)練if

SSE<err_goal

%比較誤差epoch=epoch-1;break

%若滿足期望誤差要求,結(jié)束訓(xùn)練end[dW,dB]=1earnwh(P,E,Ir);%

修正權(quán)值W=W

十dW;B=B

十dB;A=purelin(W*P,B);%

網(wǎng)絡(luò)輸出,或A=purelin(W*P+B);

E=T-A;SSE=sumsqr(E);

%計算網(wǎng)絡(luò)誤差平方和

end10%wf1.m%P=[1-1.2];T=[0.51];[R,Q]=size(P);[S,Q]=size(T);[W,B]=rands(S,R);max_epoch=20;

%最大循環(huán)次數(shù)err_goal=0.001;

%期望誤差lr=0.99*maxlinlr(P,

1);%最佳學(xué)習(xí)速率

disp_freq=1;

%設(shè)置顯示頻率TP=[disp_freq

max_epoch

err_goal

Ir];%

設(shè)置參數(shù)變量TP[W,B,epochs,error]=

trainwh(W,B,P,T,TP)%進行線性網(wǎng)絡(luò)權(quán)值訓(xùn)練WBepochserror11在隨機初始值為:

W?=-0.9309;B?=-0.8931

情況下,經(jīng)過12次循環(huán)訓(xùn)練后,網(wǎng)絡(luò)的輸出誤

差平方和達到0.000949,網(wǎng)絡(luò)的最終權(quán)值為:W=-0.2354;B=0.7066實際上,對于[例5.1]這個簡單的例題,它存在一

個精確解,且可以用解二元一次方程的方式將

P和T

值分別對應(yīng)地代入方程T=W*P

十B

得:12可解出e=T-A=0

的解為:W=-0.2273;B=0.7273由此看出,對于特別簡單的問題,采用自適應(yīng)

線性網(wǎng)絡(luò)的訓(xùn)練不一定能夠得到足夠精確的解。

因為當訓(xùn)練誤差達到期望誤差值后,訓(xùn)練即被

。13對于具有零誤差的自適應(yīng)線性網(wǎng)絡(luò),即輸

入/輸出矢量對存在著嚴格的線性關(guān)系,此時的

自適應(yīng)線性網(wǎng)絡(luò)的設(shè)計可以采用工具箱中另外

一個名為solvelin.m

的函數(shù)。[W,B]=solvelin(P,T)然后可用simulin.m

函數(shù)來檢測所設(shè)計的網(wǎng)絡(luò):A=simulin(P,W,B)還可以用sumsqr.m

函數(shù)來求出誤差平方和:SSE=sumsqr(T-A)14[例5.2]現(xiàn)在來考慮一個較大的多神經(jīng)元網(wǎng)絡(luò)的

模式聯(lián)想的設(shè)計問題。輸入矢量和目標矢量分

:P=[11.5

1.2-0.3;-1

23

-0.5;2

1

-1.6

0.9];T=[0.5

3-2.2

1.4;1.1-1.2

1.7

-0.4;3

0.2

-1.8

-0.4;

-1

0.1

-1.0

0.6];15解:由輸入矢量和目標輸出矢量可得:r=3,s=4,q

=4。所以網(wǎng)絡(luò)的結(jié)構(gòu)如圖5.2所示。W

a1P?a2P?a3P?W43這個問題的求解同樣可以采用線性方程組求出,即對每

一個輸出節(jié)點寫出輸入和輸出之間的關(guān)系等式。16實際上要求出這16個方程的解是需要花費一定的時間的,甚至是不太容易的。對于一些實際問題,常常并不需要求出其完美的

零誤差時的解。也就是說允許存在一定的誤差。在這種情況下,采用自適應(yīng)線性網(wǎng)絡(luò)求解就顯示

出它的優(yōu)越性:因為它可以很快地訓(xùn)練出滿足

一定要求的網(wǎng)絡(luò)權(quán)值。17%wf2.m%P=[11.51.2-0.3;-123-0.5;21-1.60.9];T=[0.53-2.21.4;1.1-1.21.7-0.4;30.2-1.8-0.4;-10.1-1.00.6];

disp_freq=400;

%中間不顯示結(jié)果max_epoch=400;err_goal=0.001;lr=0.99*maxlinlr(P);W=[1.9978-0.5959-0.3517;1.55430.053311.3660;1.06720.3645-0.9227;-0.77471.3839-0.3384];%初始權(quán)值B=[0.0746;-0.0642;-0.4256;-0.6433];%偏值SSE=sumsqr(T-purelin(W*P,B));%未訓(xùn)練前誤差fprintf('Before

training,sum

squared

error=%g.\n’,SSE)18%訓(xùn)練網(wǎng)絡(luò)tp=[disp_freq

max_epoch

err_goal

Ir];

%設(shè)置參數(shù)變量tp[W,B,epochs,errors]=trainwh(W,B,P,T,tp);%進行線性網(wǎng)絡(luò)權(quán)值訓(xùn)練

W

%顯示最終訓(xùn)練權(quán)矢量B%顯示最終訓(xùn)練偏差矢量SSE=sumsqr(T-purelin(W*P,B));

%最終誤差%顯示結(jié)果并給出結(jié)論ploterr(errors),fprintf('\n

After

%d

epochs,sum

squared

error=%g.\n\n’,epochs,SSE),fprintf('Trainednetworkoperates:’);if

SSE<err_goaldisp('Adequately.')elsedisp('Inadequately.')end19W=-2.4600

2.2834

3.15212.1889

-1.8127

-2.06012.0887

-1.2653

0.0432-1.6913

0.9778

0.9927B=-1.04371.2097-0.4432-0.313620訓(xùn)練后的網(wǎng)絡(luò)權(quán)值為:W=[-.2.4612

2.28433.1529;2.1895

-1.8132

-2.0605;2.0821

-1.2604

0.0480;

-.16615

0.9779

0.9928];B=[-1.0440;1.2099;-0.4448;-0.3137];

網(wǎng)絡(luò)訓(xùn)練過程中的誤差記錄10?10210°10210?0100200

300.21對于存在零誤差的精確權(quán)值網(wǎng)絡(luò),若用函數(shù)solvelin.m

來求解,則更加簡單如下:%wf3.m%P=[11.51.2-0.3;-123-0.5;21-1.60.9];T=[0.53-2.21.4;1.1-1.21.7-0.4;30.2-1.8-0.4;-10.1-1.00.6];[W,B]=solvelin(P,T);A=simulin

(P,W,B);SSE=sumsqr(T-A)WB22由此可得零誤差的唯一精確解為:W=[-2.4914

2.3068

3.1747;2.2049

-1.8247

-2.0716;2.0938

-1.2691

0.0395;

-1.6963

0.9815

0.9963];B=[-1.0512;1.2136;-0.4420;-0.3148]23[例5.3]設(shè)計訓(xùn)練一個線性網(wǎng)絡(luò)實現(xiàn)下列從輸人矢量到目標矢量的變換:P=[1

23;4

5

6];T=[0.51-1];所給出的輸入矢量元素之間是線性相關(guān)的:第三組元素等于第二組元素的兩倍減去第一組:P?=2P?-P?。由于輸入矢量的奇異性,用函數(shù)solvelin.m來設(shè)計時網(wǎng)絡(luò)會產(chǎn)生問題。只有在能夠線性地解出問題的情

況下,用函數(shù)solvelin.m才比較準確。24只要將前面已編寫的wf2.m

程序中的輸入與目標矢量改變一

下,并給出(—1,1)之間的隨機初始值,即可運行看到本例的

結(jié)果。其最終誤差在1.04左右,這就是本例題下的最小誤差平方和,而當采用完全線性函數(shù)的設(shè)計solvelin.m去求解網(wǎng)絡(luò)權(quán)值時,所得到的誤差是4.25。采用W-H

算法訓(xùn)練出的誤差是它的1/4,由此可見其算法的優(yōu)越性。25[例5.4]現(xiàn)在假定在[例5.1]的輸入/輸出矢量中增加兩組元

素,使其變?yōu)镻=[

1.01.53.0-1.2]T=[0.51.13.0-1.0]本例題的目的是在于了解自適應(yīng)線性網(wǎng)絡(luò)的線性逼近求解的能

力。圖5.4給出了輸入輸出對的位置以及網(wǎng)絡(luò)求解的結(jié)果。對于所

設(shè)置的err_goal=0.001,在循環(huán)訓(xùn)練了50次后所得的誤差平方和

仍然為:SSE=0.289

。

這個值即是本題所能達到的最小誤差平

方和的值。當采用線性自適應(yīng)線性網(wǎng)絡(luò)求解問題所得到的誤差特別大時,

可以認為此問題不適宜用線性網(wǎng)絡(luò)來解決。26T3210-1-2-2

-1

0

2圖5.4網(wǎng)絡(luò)訓(xùn)練結(jié)果圖P327自適應(yīng)線性網(wǎng)絡(luò)還有另一個潛在的困難,當學(xué)習(xí)速率取得較

大時,可導(dǎo)致訓(xùn)練過程的不穩(wěn)定。[例5.5]輸入/目標矢量與[例5.1]相同。我們將以不同的學(xué)習(xí)

速率訓(xùn)練兩次網(wǎng)絡(luò)以展現(xiàn)兩種不希望的學(xué)習(xí)速率帶來的影響。以例5.1為樣本,1)對于第一個嘗試,學(xué)習(xí)速率1r取:

1r=1.7*maxlinlr(P);2)第二個嘗試是選用更大學(xué)習(xí)速率:

1r=2.5*maxlinlr(P);280Epoch

29(b)網(wǎng)絡(luò)訓(xùn)練過程中的誤差記錄Epoch(b)網(wǎng)絡(luò)訓(xùn)練過程中的誤差記錄W(a)

權(quán)矢量修正的變化過程(a)權(quán)矢量修正的變化過程W5

.5對比與分析感知器和自適應(yīng)線性網(wǎng)絡(luò)(1)網(wǎng)絡(luò)模型結(jié)構(gòu)上感知器和自適應(yīng)線性網(wǎng)絡(luò)而言,結(jié)構(gòu)上的主要區(qū)別在

于激活函數(shù):

一個是二值型的,

一個線性的。當把偏差與權(quán)值考慮成一體時,自適應(yīng)線性網(wǎng)絡(luò)的輸

入與輸出之間的關(guān)系可以寫成A=W*P。

如果P是滿秩的話,則可以寫成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論