神經網絡自適應線性元件_第1頁
神經網絡自適應線性元件_第2頁
神經網絡自適應線性元件_第3頁
神經網絡自適應線性元件_第4頁
神經網絡自適應線性元件_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第05章 自適應線性元件 自適應線性元件(Adaptive Linear Element,簡稱Adaline) 由威德羅(Widrow)和霍夫(Hoff)首先提出的 它與感知器的主要不同之處在于其神經元有一個線性激活函數,這允許輸出可以是任意值,而不僅僅只是像感知器中那樣只能取0或1。 它采用的是WH學習法則,也稱最小均方差(LMS)規則對權值進行訓練自適應線性元件的主要用途是線性逼近一個函數式而進行模式聯想。 51自適應線性神經元模型和結構 圖5. 1 自適應線性神經網絡的結構 52 WH學習規則 WH學習規則是由威德羅和霍夫提出的用來修正權矢量的學習規則 采用WH學習規則可以用來訓練一定網

2、絡的權值和偏差使之線性地逼近一個函數式而進行模式聯想(Pattern Association)。 定義一個線性網絡的輸出誤差函數為: 我們的目的是通過調節權矢量,使E(W,B)達到最小值。所以在給定E(W,B)后,利用WH學習規則修正權矢量和偏差矢量,使E(W,B)從誤差空間的某一點開始,沿著E(W,B)的斜面向下滑行。 ftp:/M 或表示為: (5. 3) 為學習速率。在一般的實際運用中,實踐表明,通常取一接近1的數,或取值為:(5.5) 學習速率的這一取法在神經網絡工具箱中用函數maxlinlr.m來實現。(55)式可實現為: WH學習規則的函數為:learnwh.m來實現,加上線性自適

3、應網絡輸出函數purelin.m,可以寫出WH學習規則的計算公式為: Apurelin(W*P);ETA;dW,dBlearnwh(P,E,h);WW十dW;BB十dB; 采用WH規則訓練自適應線性元件使其能夠得以收斂的必要條件是被訓練的輸入矢量必須是線性獨立的,且應適當地選擇學習速率以防止產生振蕩現象。 53 網絡訓練 自適應線性元件的網絡訓練過程可以歸納為以下三個步驟: 1)表達:計算訓練的輸出矢量AW*P十B,以及與期望輸出之間的誤差ETA; 2)檢查:將網絡輸出誤差的平方和與期望誤差相比較,如果其值小于期望誤差,或訓練已達到事先設定的最大訓練次數,則停止訓練;否則繼續; 3)學習:采用

4、WH學習規則計算新的權值和偏差,并返回到1)。 采用Matlab進行自適應線性元件網絡的訓練過程如下:trainwh.m 表達式A=purelin(W*P,B);E=T-A;SSEsumsqr(E);求誤差平方和for epoch1: max_epoch 循環訓練if SSEerr_goal比較誤差epochepoch1;break若滿足期望誤差要求,結束訓練enddW,dB1earnwh(P,E,lr);修正權值WW十dW;BB十dB;Apurelin(W*P,B);網絡輸出ET-A;SSEsumsqr(E);計算網絡誤差平方和end 54例題與分析 例51設計自適應線性網絡實現從輸入矢量到

5、輸出矢量的變換關系。其輸入矢量和輸出矢量分別為: P1.0 -1.2 T0.5 1.0wf1.mP1 -1.2;T0.5 1;R,Qsize(P);S,Qsize(T);W,Brands(S,R);max_epoch20;最大循環次數err_goal0.001;期望誤差1r0.4*maxlinlr(P);最佳學習速率disp_freq1;設置顯示頻率TPdisp_freq max_epoch err_goal lr;設置參數變量TPW,B,epochs,errortrainwh(W,B,P,T,TP) 進行線性網絡權值訓練在隨機初始值為:W00.9309;B00.8931的情況下,經過12次循

6、環訓練后,網絡的輸出誤差平方和達到0.000949,網絡的最終權值為:W-0.2354;B0.7066實際上,對于例5.1這個簡單的例題,它存在一個精確解,且可以用解二元一次方程的方式將P和T值分別對應地代入方程TW*P十B得: 可解出eT-A0的解為:W-0.2273;B0.7273由此看出,對于特別簡單的問題,采用自適應線性網絡的訓練不一定能夠得到足夠精確的解。因為當訓練誤差達到期望誤差值后,訓練即被終止。 對于具有零誤差的自適應線性網絡,即輸入/輸出矢量對存在著嚴格的線性關系,此時的自適應線性網絡的設計可以采用工具箱中另外一個名為solvelin.m的函數。W,Bsolvelin(P,T

7、) 然后可用simulin.m函數來檢測所設計的網絡: Asimulin(P,W,B) 還可以用sumsqr.m函數來求出誤差平方和: SSEsumsqr(T-A) 例52現在來考慮一個較大的多神經元網絡的模式聯想的設計問題。輸入矢量和目標矢量分別為: 解:由輸入矢量和目標輸出矢量可得:r3,s4,q4。所以網絡的結構如圖52所示。 這個問題的求解同樣可以采用線性方程組求出,即對每一個輸出節點寫出輸入和輸出之間的關系等式。 實際上要求出這16個方程的解是需要花費一定的時間的,甚至是不太容易的。對于一些實際問題,常常并不需要求出其完美的零誤差時的解。也就是說允許存在一定的誤差。在這種情況下,采用

8、自適應線性網絡求解就顯示出它的優越性:因為它可以很快地訓練出滿足一定要求的網絡權值。 wf2.mP=1 1.5 1.2 0.3; -1 2 3 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;disp_freq=400;中間不顯示結果max_epoch=400;err_goal=0.001;lr=0.9*maxlinlr(P);W=1.9978 0.5959 0.3517; 1.5543 0.05331 1.3660;%初始權值1.0672 0.3645 0.9227; -0.77

9、47 1.3839 0.3384;B=0.0746; -0.0642; -0.4256; -0.6433;SSEsumsqr(T-purelin(W*P,B);%未訓練前誤差fprintf(Before trainihg, sum squared error=g. n, SSE)訓練網絡flops(0)tpdisp_freq max_epoch err_goal lr;%設置參數變量tpW, B, epochs,errorstrainwh(W, B, P, T, tp); %進行線性網絡權值訓練W顯示最終訓練權矢量B顯示最終訓練偏差矢量SSEsumsqr(T-purelin(W*P, B);最

10、終誤差顯示結果并給出結論ploterr(errors), fprintf (n After.0f epochs,sum squared e errorg. nn, SSE),fprintf (Training took .0f flops. n, flops),fprintf ( Trained network operates:); if SSEerr_goal disp(Adequately.) elsedisp(Inadequately.) endend訓練后的網絡權值為: 網絡訓練過程中的誤差記錄 對于存在零誤差的精確權值網絡,若用函數solvelin.m來求解,則更加簡單如下:wf3

11、.mP1 1.5 1.2 0.3; -1 2 3 0.5; 2 1 1.6 0.9;T0.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;W,Bsolvelin(P,T);Asimulin (P, W, B);SSEsumsqr (T-A)WBend由此可得零誤差的唯一精確解為: 例53設計訓練一個線性網絡實現下列從輸人矢量到目標矢量的變換: 所給出的輸入矢量元素之間是線性相關的:第三組元素等于第二組元素的兩倍減去第一組:P32P2P1。 由于輸入矢量的奇異性,用函數solvelin.m來設計時網絡會產生問題。只有在能夠

12、線性地解出問題的情況下,用函數solvelin.m才比較準確。 只要將前面已編寫的wf2.m程序中的輸入與目標矢量改變一下,并給出(l,1)之間的隨機初始值,即可運行看到本例的結果。其最終誤差在1.04左右,這就是本例題下的最小誤差平方和,而當采用完全線性函數的設計solvelin.m去求解網絡權值時,所得到的誤差是4.25。采用WH算法訓練出的誤差是它的14,由此可見其算法的優越性。 例54現在假定在例51的輸入輸出矢量中增加兩組元素,使其變為P1.0 1.5 3.0 -1.2T0.5 1.1 3.0 -1.0本例題的目的是在于了解自適應線性網絡的線性逼近求解的能力。 圖54給出了輸入輸出對

13、的位置以及網絡求解的結果。對于所設置的err_goal0.001, 在循環訓練了50次后所得的誤差平方和仍然為:SSE0.289。這個值即是本題所能達到的最小誤差平方和的值。當采用線性自適應線性網絡求解問題所得到的誤差特別大時,可以認為此問題不適宜用線性網絡來解決。 圖5. 4網絡訓練結果圖 自適應線性網絡還有另一個潛在的困難,當學習速率取得較大時,可導致訓練過程的不穩定。 例55輸入/目標矢量與例51相同。我們將以不同的學習速率訓練兩次網絡以展現兩種不希望的學習速率帶來的影響。以例5.1 為樣本,1)對于第一個嘗試,學習速率lr取:1r1.7*maxlinlr(P); 2)第二個嘗試是選用更

14、大學習速率:1r2.5*maxlinlr(P); 55對比與分析 感知器和自適應線性網絡 (1)網絡模型結構上網絡模型結構上 感知器和自適應線性網絡而言,結構上的主要區別在于激活函數:一個是二值型的,一個線性的。 當把偏差與權值考慮成一體時,自適應線性網絡的輸入與輸出之間的關系可以寫成AW*P。如果P是滿秩的話,則可以寫成AP-1W,或W=A/P。 (2)學習算法學習算法 感知器的算法是最早提出的可收斂的算法,它的自適應思想被威德羅和霍夫發展成使其誤差最小的梯度下降法。最后又在BP算法中得到進一步的推廣,它們屬于同一類算法。 (3)適用性與局限性適用性與局限性 感知器僅能夠進行簡單的分類。從前面的例題中已經看出,感知器可以將輸入分成兩類或四類等。它的局限性是僅能對線性可分的輸入進行分類。 自適應線性網絡除了像感知器一樣可以進行線性分類外,又多了線性逼近,這僅是由于其激活函數可以連續取值而不同于感知器的僅能取0或1的緣故。 作業 設計一個有三個輸入的單層線性網絡:P=2 3 2.4 -0.6; -2 4 6 -1; 4 2 -3.2 1.8T=1 6 -4.4 2.8; 2.2-2.4 3.

溫馨提示

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

評論

0/150

提交評論