前饋神經網絡精品_第1頁
前饋神經網絡精品_第2頁
前饋神經網絡精品_第3頁
前饋神經網絡精品_第4頁
前饋神經網絡精品_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、前饋神經網絡 前饋神經網絡是神經網絡中一種典型分層結構,信息 流從輸入層進入網絡后逐層向前傳遞至輸出層。根據前憒網絡中神經元轉移函數、隱層數以及權值調整規則的不同,可形成具有各種功能特點的神經網絡。3.1單層感知器 1958年,美國心理學家 Frank Rosenblatt 提出一種具有單層計算單元的神經網絡,稱 Perceptron ,即感知器。感知器是模擬人的視覺接受環境信息,并由神經沖動進行信息傳遞。感知器研究中首次提出了自組織、自學習的思想,而且對所能解決的問題存在著收斂算法,并能從數學上嚴格證明,因而對神經網絡的研究起了重要的推動作用。 單層感知器的結構與功能都很簡單,以至于目前很少

2、被應用來解決實際問題,但它是研究其他神經網絡的基礎。3.1.1 感知器模型y1yjymW1WjWmx1x2xixn單層感知器處理層輸入層處理層,m個神經接點,每節點均有信息處理能力,m個節點向外部處理輸出信息,構成輸出列向量Y。Y=Y1 Y2 .YjYmT輸入層,感知層,n個神經節點,無信息處理能力,只負責引入外部信息X。X=x1 x2 xi xnT兩層間連接權值用權值列向量Wj表示,m個權向量構成單層感知器的權值矩陣W。 Wj=w1j w2j wijwnjT W=W1 W2 WjWmT由神經元數學模型,處理層中任一節點,其凈輸入netj來自輸入層各節點的輸入加權和:離散型單計算層感知器采用符

3、號型轉移函數,則j節點輸出為:3.1.2 感知器的功能為便于直觀分析,現考慮單計算節點感知器的情況:yjWjx1x2xixnw1jw2jwijwnjj明顯看出:單計算節點感知器實際上就是一個M-P神經元模型。因為采用符號轉移函數,又稱符號單元。下面分三種情況討論單計算節點感知器的功能:(1)設輸入向量X=x1 x2T兩個輸入分量x1 和x2構成一個二維平面,輸入樣本X可用該平面上一個點表示。節點j的輸出yj為:則方程成為二維輸入樣本空間上的一條分界線。線上方的樣本用表示,它們使 , 的區域都會使yj =1;線下方樣本用表示,它們使 , 的區域都會使yj=-1.顯然,由感知器權值和閾值確定的直線

4、方程規定了分界線在樣本空間的位置,可將輸入樣本分為兩類。 x1x2(2)設輸入向量X=x1 x2 x3T,則x1,x2,x3幾何上構成一個三維空間。節點j的輸出為:方程確定的平面成為三維輸入樣本空間的一個分界面。把輸入樣本和正確分兩類(對應yj=1和-1)(3)推廣到n維空間的一般情況,輸入向量X=x1 x2 xnT,則n個輸入分量構成幾何n維空間。方程定義的n維空間超平面,將輸入樣本分為2類。看出,一個簡單的單計算節點感知器具有分類功能,其分類原理是將分類知識存儲于感知器的權向量(包括閾值)中,由權向量確定的分類判決界面(線),可將輸入模式分為兩類。但是,權重系數和閾值一般是不可事先預知的,

5、在初始人為給定的權值和閾值所確定的分界面也不可能將類別正確分開。只有用足夠多的已知其類別的輸入樣本X,對神經網絡進行訓練,讓神經元通過學習自動地找到那些權重系數和閾值,從而,確定的分界面,才是有實際意義的。神經元在實現其分類功能以前,必須有學習和訓練階段,在此階段向神經元送入足夠多數量的樣本X,并需要指明每個矢量X所屬類別。所以這是一種教師指導下的學習。單計算節點感知器實現邏輯運算問題:邏輯”與”功能:真值表:X1 x2 y0 0 00 1 0 0 01 1 14個樣本,兩種輸出01屬分類問題使用單節點感知器,用感知器規則訓練,得到連接權及閾值如圖:x1x2y0.50.50.75-1令計算節點

6、凈輸出為0,得分類判決方程:0.5x1+0.5x2-0.75=0該直線方程正確地把兩類樣本分類.將輸出為1的樣本點作、輸出為0的樣本點作表示。按真值表作圖,得:(0,1)(1,0)(1,1)(0,0)x1x20.5x1+0.5x2-0.75=0該分類線不唯一,取決于具體的權值訓練邏輯”或”功能:真值表:X1 x2 y0 0 00 1 1 0 11 1 14個樣本,兩種輸出01屬分類問題x1x2y11-0.5-1學習訓練的w1=w2=1, =-0.5,凈輸入為0得分類判決方程:x1+x2-0.5=0(1,0)(1,1)x2(0,1)(0,0)x1x1+x2-0.5=0實現兩類樣本正確分類例:設計

7、一個感知器神經網絡,完成下列分類,以MATLAB編程仿真程序,并畫出分類線. 解(1)問題分析輸入向量2個元素,取值范圍-1,1;輸出向量一個元素,是一個二值節點,取值0或1.可確定單層感知器神經網絡結構:一個二維輸入向量,一個神經元,神經元轉移函數為hardlim(硬限幅函數)(2)程序設計已知:p1p2a-1%設計一個感知器神經網絡,實現二維向量分類功能clear all;%清除所有內存變量%初始化感知器網絡pr=-1 1;-1 1;%設置感知器網絡輸入向量每個元素的值域net=newp(pr,1);%定義感知器網絡,一個神經元net.layers1.transferFcn=hardlim

8、s;%指定感知層轉移函數為對稱硬限幅函數%訓練感知器網絡p=0.5 -1;1 0.5;-1 0.5;-1 -1;%輸入向量(訓練樣本值)t=0 1 1 0;%目標向量net,tr=train(net,p,t);%訓練感知器網絡%存儲訓練后的網絡save net35 net%Example35Simclear all;%清除所有內存變量%加載訓練后的網絡load net35 net%網絡仿真P=0.5 -1;1 0.5;-1 0.5;-1 -1%輸入向量(測試樣本)a=sim(net,P)%仿真結果%繪制網絡的分類結果及分類線v=-2 2 -2 2;%設置坐標的范圍plotpv(P,a,v);%

9、繪制分類結果plotpc(net.iw1,net.b1);%繪制分類線net.iw1%輸出權值net.b1%輸出閾值TRAINC, Epoch 0/100TRAINC, Epoch 2/100TRAINC, Performance goal met.P = 0.5000 1.0000 -1.0000 -1.0000 -1.0000 0.5000 0.5000 -1.0000a = 0 1 1 0ans = 0.5000 1.5000(權)ans = 0(閾值)3.1.3感知器的局限性“異或”問題真值表:X1 x2 y0 0 00 1 1 0 11 1 04個樣本,兩種輸出01也是二值分類問題(

10、1,0)(1,1)x2(0,1)(0,0)x1任何直線均不能將兩類樣本正確分開!感知器由于凈輸入為0,確定的分類判決方程是線性方程,因而只能解決線性可分問題的分類,不能解決線性不可分問題.這稱為單計算層感知器的局限性.3.1.4感知器的學習算法感知器采用感知器學習規則進行訓練,用t表示學習步的序號,權值看作t的函數. t =0對應學習開始前的初始狀態(此時權值為初始值),訓練過程如下:(1)對各初始權值w0j(0),w1j(0),wnj(0),j=1,2m(m為計算層的節點數)賦予較小的非零隨機數;(2)輸入樣本對Xp,dp,其中Xp=-1 x1p x2p xnpT,dp為期望輸出向量(教師信

11、號),下標p代表樣本對的模式序號,設樣本集中的樣本總數為P,則p=1,2, ,P;(3)計算各節點的實際輸出yjp(t)=sgnWjT(t)Xp, j=1,2, , m.(4)調整各節點對應的權值 Wj(t+1)=Wj(t)+djp-yjp(t)Xp j=1,2, ,m學習率,一般取0 1,用于調整控制速度,太大影響訓練穩定性,太小使訓練的收斂性變慢.(5)返回到步驟(2),輸入下一對樣本,周而復始直到所有樣本使感知器的實際輸出與期望輸出相等(dp-yp=0,p=1,2, ,P).已經得到證明,如果輸入樣本線性可分,無論感知器的初始權向量如何取值,經過有限次調整后,總能穩定到一個權向量,該權向

12、量確定的超平面能將兩類樣本正確分開.能夠將樣本正確分類的權向量并不唯一,一般初始權向量不同,訓練過程和所得到的結果也不同,但都可滿足誤差為零的要求.例. 單計算節點感知器有3個 輸入,現給定3對訓練樣本:X1=-1 1 -2 0T d1=1; X2=-1 0 1.5 -0.5T d2=-1;X3=-1 -1 1 0.5T d3=1.設初始權向量 W(0)=0.5 1 -1 0T =0.1注意:輸入向量中第一個分量x0恒等于-1,權向量中第一個分量為閾值,試訓練該感知器網絡.解:第一步,輸入X1WT(0)X1= 0.5 1 -1 0-1 1 -2 0T=2.5Y1(0)=sgn(2.5)=1W(

13、1)=W(0)+ d1-y1X1= 0.5 1 -1 0T +0.1(-1-1) -1 1 -2 0T =0.7 0.8 -0.6 0T第二步,輸入X2WT(1)X2= 0.7 0.8 -0.6 0 -1 0 1.5 -0.5T =-1.6Y2(1)=sgn(-1.6)=-1W(2)=W(1)+ d2-y2(1)X2=0.7 0.8 -0.6 0T +0.1-1-(-1) -1 0 1.5 -0.5T =0.7 0.8 -0.6 0T第三步,輸入X3WT(2)X3= 0.7 0.8 -0.6 0 -1 -1 1 0.5T =-2.1Y3(2)=sgn(-2.1)=-1W(3)=W(2)+ d3

14、-y3(2)X3=0.5 0.6 -0.4 0.1T第四步,返回到第一步,繼續訓練,直到dp-yp=0 p=1,2,33.2多層感知器單計算層感知器只能解決線性可分問題,多層感知器可解決線性不可分問題.如,采用兩計算層感知器解決”異或”問題:123-1-1x1x2y1y2y3w11w12w21w22312輸出層節點以隱層兩節點y1,y2的輸出作為輸入,其結構也相當于一個符號單元.隱層兩節點相當于兩個獨立的符號單元(單計算節點感知器).具有兩個計算層感知器x1、x2構成的平面上,1、2兩符號單元確定兩條分界直線s1和s2,可構成開放式凸域如圖.(1,0)(1,1)x2(0,1)(0,0)x1s1

15、s2通過網絡訓練,調整兩直線位置,可使“異或”兩類線性不可分樣本分別位于該開放式凸域內部和外部。(1,0)(1,1)x2(0,1)(0,0)x1s1s2123x1x2y1y2w11w12w21312y3y1=0y2=0y1=1y2=1對隱節點1:s1下面的樣本,使其輸出為y1=1,而s1上面樣本使y1=0;對隱節點2:s2上面的樣本,使其輸出為y2=1,而s2下面樣本使y2=0;這樣可實現:輸入類信息時有y1=1y2=1(在凸域內)輸入類樣本時有y1=0y2=1(同時處在s1、s2上方,即s1上面的)和有y1=1y2=0(同時處在s1、s2下方,即s2下方的)這樣,把輸出層節點3以隱層兩節點y

16、1、y2為輸入,經訓練,使其具有邏輯“與非”功能,則“異或”問題得以解決。兩個計算層的感知器求解“異或”問題各節點輸出情況:x1 x2 y1 y2 y30 0 1 1 00 1 0 1 11 0 1 0 11 1 1 1 0實現 x1 , x2 y3( “異或”邏輯)采用 y1 , y2 y3(“與非”邏輯)看出:單隱層感知器可以求解異或問題,具有解決線性不可分問題的分類能力。就單隱層感知器,當輸入樣本為二維向量時,隱層中每個計算節點確定了二維平面上的一條分界直線。多條直線(隱層中多個節點)經輸出節點組合后會構成各種形狀凸域(凸域是指其邊界上任兩點連線均在域內)。開式凸域閉式凸域通過訓練調整凸

17、域形狀,可將兩類線性不可分樣本分為域內域外。單隱層節點數增加可以使多邊凸域邊數增加,從而在輸出層構建出任意形狀的凸域。如果再增加第二隱層,則該隱層的每節點確定一個凸域,各種凸域經輸出節點組合后,會得到任意形狀域,分類能力大大提高。 凸域組合的任意形狀已經過嚴格的數學證明,雙隱層感知器足以解決任何復雜分類問題。另,為提高感知器分類能力,可采用非線性連續函數作為神經元節點的轉移函數,使區域邊界變成曲線,可形成連續光滑曲線域。多層感知器從理論上講可解決線性不可分問題,但從感知器的學習規則看,其權值調整量取決于感知器期望輸出與實際輸出之差,即:Wj(t)=dj-yj(t)X對各隱層節點來說,期望輸出無

18、法確定,因而該學習規則對隱層權值不適用。為了改進學習過程,后來提出最小均方、BP算法等。盡管簡單的感知器學習算法有局限性,但這種神經元網絡模型在神經元網絡研究中有重要意義和地位,它提出了自組織、自學習的思想。簡單的感知器給出了單個神經元的學習和運行算法,如果把多個這樣的神經元連成一個網絡,那么這種網絡可能有很強的信息處理能力。3.3自適應線性單元(ADALINE)簡介1962年美國斯坦福大學教授widrow提出一種自適應可調的神經網絡,其基本構成單元稱為自適應線性單元,ADALINE(Adaptive Linear Neuron)。這種自適應可調的神經網絡主要使用于信號處理中的自適應濾波、預測

19、和模式識別。3.3.1ADALINE模型+1-1qy+-w0w1w2wiwnx0=-1x1x2xixnLMS算法模擬輸出二值輸出誤差Widrow-Hoff算法輸入向量X=x0 x1 xnT的每個輸入分量可以是數字量也可以是模擬量。ADALINE有兩種輸出情況:(1)轉移函數為線性函數,輸出模擬量:y=f(WTX)=WTX(2)轉移函數為符號函數,輸出為雙極數字量q=sgn(y)=y0-1 y 0數值輸出情況,ADALINE與感知器的符號單元完全相同,可進行線性分類。期望輸出 模擬輸出情況,主要實現調節誤差手段(如濾波)。由于模擬量輸出時的轉移函數為線性,故稱為自適應線性單元ADALINE。其功

20、能是將ADALINE的期望輸出與實際模擬輸出相比較,得到一個同為模擬量的誤差信號,根據誤差信號不斷在線調整權向量,以保證在任何時刻始終保持實際輸出與期望輸出相等(y=d)。從而可將一組輸入模擬信號轉變為任意期望的波形d.3.2.2 ADALINE學習算法 ADALINE學習算法采用widrow-Hoff 學習規則,也稱LMS(Least Mean Square),即最小二乘算法.下面以單個自適應線性單元為例,討論其學習算法.權向量調整量 W=(d-WTX)X輸出為模擬量時,ADALINE的轉移函數為單位線性函數,所以有: y=WTX定義輸出誤差 =d-y 則 W=(d-y)X= X實際修正權系

21、數中,采用輸入向量X除以其模的平方,即:看一下誤差改變量:此式表明, 永遠與符號相反,這意味著在訓練中, 的絕對值是單調下降的,即y總是不斷接近d。因此,LMS算法能保證ADALINE在自適應學習時的收斂性。下面舉例說明LMS算法的學習步驟:例 ADALINE模型,輸入向量X=-1 1.2 2.7 T , d=2.3, =0.6 ,初始權值賦予隨機數 W(0)=-1 0.5 1.1T,做LMS算法學習。解:第一步 計算初始輸出y(0)和初始誤差(0)y(0)=WT(0)X=-1 0.5 1.1 -1 1.2 2.7 T=4.57 (0)=d-y(0)=2.3-4.57=-2.27第二步 計算輸

22、出y(1)和誤差(1)y(1)=WT(1)X=-0.86 0.332 0.722-1 1.2 2.7T=3.21(1)=d-y(1)=2.3-3.21=-0.91第三步 計算輸出y(2)和誤差(2)得y(2)=2.518 ; (2)=-0.218; 繼續調整權值,看到:經兩步學習,誤差由-2.27降到-0.218;實際輸出由初始4.57調整到2.518,大大接近d=2.3,收斂速度很快。3.3.3 ADALINE應用 ADALINE主要應用于語音識別、天氣預報、心電圖診斷等醫學系統、信號處理以及系統辯識等方面。ADALINE自適應濾波器延遲延遲延遲x(t)x(t-1)x(t-2)x(t-m)w

23、0w1w2wmLMSd(t)y(t)期望輸出濾波輸出x(t)連續信號當前值;x(t),x(t-1)信號各時刻采樣值。 對語音波形和控制信號等隨時間連續變化的信息,可用其采樣后的離散信號序列作為網絡的輸入。ADALINE濾波器的作用是用期望輸出d(t)與實際輸出y(t)之間的誤差來調整權值,以達到使輸入波形x(t)得到期望波形d(t),從而達到濾波的目的。系統辯識(建模)未知系統 SADALINE 濾波器系統輸入xk系統輸出 yyky=y-ykS未知系統;xk已知輸入信號, 輸入給S和ADALINE 濾波器;y未知系統輸出,作為ADALINE濾波器期望響應;ykADALINE濾波器實際輸出;=y

24、-yk誤差,調節ADALINE濾波器的權值。通過調節權值wm(m=0,1n),則未知系統S的數學模型可表達為:如果未知系統是一個穩定時不變系統,輸入信號是頻譜較寬的白噪聲或脈沖,那么wm是可以收斂到定值。這樣,未知系統S就可以用此確定的線性模型來描述。ADALINE線性神經網絡用于噪聲對消如:醫學中對胎兒心率的測量問題,由于胎兒的心率一定會受到母體心率的干擾.而且母親的心率很強,但與胎兒的心率是互相獨立的.存在著如何將母體心率的影響消除的問題;采用ADALINE的線性神經網絡進行噪聲對消,可以得到十分滿意的結果.把母體心率、電話中自身的聲音作為噪聲源n1輸入ADALINE中,混有噪聲的胎兒心率

25、信號、混有對方聲音的信號作為目標響應,通過對消后,系統可以聽到清晰的胎兒心率、電話中可以清晰聽到來自對方的聲音。再如:電話中的回聲對消問題.在電話通話過程中,如果沒有回聲對消措施,那么,我們自身的聲音回聲和對方的聲音一起傳到聽筒中,而自身的聲音更強,影響通話質量.在工程中還有很多類似問題.對于一個優秀的濾波器,希望通過濾波將信號中的噪聲去掉,這對一般的濾波器很難做到。ADALINE自適應線性網絡實現噪聲對消原理:信號源噪聲源n1n0sS+n0yn1ADS原始輸入信號;n0與s不相關的隨機噪聲;n1與n0相關的信號;-系統輸出;s+n0為ADALINE期望輸出;yADALINE實際輸出。則 =s

26、+n0-y+-通過ADALINE濾波調節,可得:Emin2=Emins2+Emin(n0-y)2當 Emin(n0-y)20時,yn0 ,其輸出為s,則噪聲抵消。設傳輸信號為正弦波信號,噪聲信號為隨機信號,正弦波信號與隨機信號之和為ADALINE神經元的目標向量;輸出信號為網絡調整過程中的誤差信號。現做噪聲對消自適應線性神經網絡程序實驗:%自適應線性神經網絡實現噪聲對消clear all; %清楚所有內存變量%定義輸入向量和目標向量time=0.01:0.01:10; %時間變量noise=(rand(1,1000)-0.5)*4; %隨機噪聲input=sin(time); %信號p=noi

27、se; %將噪聲作為ADALINE的輸入向量t=input+noise; %將噪聲+信號作為目標向量%創建線性ADALINE神經網絡net=newlin(-1 1,1,0,0.0005);%線性神經網絡自適應調整(訓練)net.adaptparam.passes=70;net,y,output=adapt(net,p,t);%輸出信號output為網絡調整過程中的誤差%繪制信號、迭加隨機噪聲信號、輸出信號的波形hold on%繪制信號波形subplot(3,1,1);plot(time,input,b);xlabel(t,position,10.5,-1);ylabel(信號波形 sin(t)

28、,fontsize,8)subplot(3,1,2);%繪制迭加隨機信號波形plot(time,t,m);xlabel(t,position,10.5,-5);ylabel(隨機噪聲波形 sin(t)+noise(t),fontsize,8)%繪制輸出信號波形subplot(3,1,3);plot(time,output,g);xlabel(t,position,10.5,-2);ylabel(輸出信號波形 y(t),fontsize,8)hold off網絡運行結果如下圖:看出輸出信號除含有一定直流分量外,其波形與輸入信號波形基本一致,消除了迭加的隨機噪聲。3.4多層前饋神經網絡(BP網絡)

29、 多層前饋神經網絡的典型結構如圖。它包含一個輸出層和一個輸入層,一個或多個隱含層。隱含層的變換函數一般為非線性函數,如S型函數或雙曲線正切函數(tanh(x))。輸出層的變換函數可以是非線性的,也可以是線性的,這由輸入、輸出映射關系的需要而定。多層前饋神經網絡需要解決的關鍵問題是學習算法。以Rumelhart和McClelland為首的科研小組提出的誤差反向傳播(Error Back PropagationBP)算法,為多層前饋神經網絡的研究奠定了基礎。BP學習算法已在許多科學技術領域中得到成功的應用。在優化設計中,對復雜非線性優化等問題收到了良好應用效果。人們也常將多層前饋網絡直接稱為BP網

30、。 BP算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成,如圖所示。正向傳播時,輸入樣本經各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。信號正向傳播與誤差反向傳播的權值調整過程,周而復始地進行。權值不斷調整的過程,也就是網絡的學習訓練過程。此過程一直進行到網絡輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。 3.4.1 基于BP算法的多層前饋網絡模型 采用BP算法的多層前饋網絡是至今為止應用最廣泛的神經網絡,在多層前饋網的應用中,以圖3所示的單隱層網絡的應用最為普遍。三層BP網絡結構 一般習慣將單隱層前饋網稱為三層前饋網或三層感知器,所謂三層包括了輸入層、隱層和輸出層。為分析方便,現指定輸入層、隱層、輸出層分別以i 、j、 k 表示描述此三層前饋BP網絡: 輸入向量,加入 ,隱層單元可引入閾值; 隱層輸出向量,加入 ,輸出層單

溫馨提示

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

最新文檔

評論

0/150

提交評論