hejianhua神經網絡講義part自組織網絡學習教案_第1頁
hejianhua神經網絡講義part自組織網絡學習教案_第2頁
hejianhua神經網絡講義part自組織網絡學習教案_第3頁
hejianhua神經網絡講義part自組織網絡學習教案_第4頁
hejianhua神經網絡講義part自組織網絡學習教案_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、會計學1hejianhua神經網絡講義神經網絡講義part自組織網絡自組織網絡第一頁,編輯于星期六:十三點 二十八分。第1頁/共41頁第二頁,編輯于星期六:十三點 二十八分。第2頁/共41頁第三頁,編輯于星期六:十三點 二十八分。圖8.1 格勞斯貝格內星模型圖 內星是通過聯接權矢量W接受一組輸入信號P 第3頁/共41頁第四頁,編輯于星期六:十三點 二十八分。圖82 格勞斯貝格外星模型圖 外星則是通過聯接權矢量向外輸出一組信號A。 它們之所以被稱為內星和外星,主要是因為其網絡的結構像星形,且內星的信號流向星的內部;而外星的信號流向星的外部。 第4頁/共41頁第五頁,編輯于星期六:十三點 二十八分

2、。單內星中對權值修正的格勞斯貝格內星學習規則為: (81) 由(81)式可見,內星神經元聯接強度的變化w1j是與輸出成正比的。如果內星輸出a被某一外部方式而維護高值時,那么通過不斷反復地學習,權值將能夠逐漸趨近于輸入矢量pj的值,并趨使w1j逐漸減少,直至最終達到w1jpj,從而使內星權矢量學習了輸入矢量P,達到了用內星來識別一個矢量的目的。另一方面,如果內星輸出保持為低值時,網絡權矢量被學習的可能性較小,甚至不能被學習。 第5頁/共41頁第六頁,編輯于星期六:十三點 二十八分。因為輸入矢量的模已被單位化為1,所以內星的加權輸入和等于輸入矢量p1和p2之間夾角的余弦。 第6頁/共41頁第七頁,

3、編輯于星期六:十三點 二十八分。第7頁/共41頁第八頁,編輯于星期六:十三點 二十八分。一層具有s個神經元的內星,可以用相似的方式進行訓練,權值修正公式為: MATLAB神經網絡工具箱中內星學習規則的執行是用函數learnis.m來完成上述權矢量的修正過程:dW1earnis(W,P,A,lr); W=W十dW; 第8頁/共41頁第九頁,編輯于星期六:十三點 二十八分。我們首先對網絡進行初始化處理: R,Qsize(P);S,Qsize(T);Wzeros(S,R);B-0.95* ones(S,1);max-epoch10;lr0.7;第9頁/共41頁第十頁,編輯于星期六:十三點 二十八分。

4、與內星不同,外星聯接強度的變化w是與輸入矢量P成正比的。這意味著當輸入矢量被保持高值,比如接近1時,每個權值wij將趨于輸出ai值,若pj1,則外星使權值產生輸出矢量。 當輸入矢量pj為0時,網絡權值得不到任何學習與修正。 第10頁/共41頁第十一頁,編輯于星期六:十三點 二十八分。其中:Wsr權值列矢量;lr學習速率;Asq外星輸出;Prq外星輸入。MATLAB工具箱中實現外星學習與設計的函數為learnos.m,其調用過程如下:dWlearnos(W,A,P,lr); WW十dW; 第11頁/共41頁第十二頁,編輯于星期六:十三點 二十八分。第12頁/共41頁第十三頁,編輯于星期六:十三點

5、 二十八分。科荷倫學習規則實際上是內星學習規則的一個特例,但它比采用內星規則進行網絡設計要節省更多的學習,因而常常用來替代內星學習規則。 第13頁/共41頁第十四頁,編輯于星期六:十三點 二十八分。在MATLAB工具箱中,在調用科荷倫學習規則函數learnk.m時,一般通過先尋找輸出為1的行矢量i,然后僅對與i相連的權矩陣進行修正。使用方法如下: ifind(A=1);dWlearnk(W,P,i,1r);WW十dW;一般情況下科荷倫學習規則比內星學習規則能夠提高訓練速度1到2個數量級。 第14頁/共41頁第十五頁,編輯于星期六:十三點 二十八分。第15頁/共41頁第十六頁,編輯于星期六:十三

6、點 二十八分。第16頁/共41頁第十七頁,編輯于星期六:十三點 二十八分。2)來自競爭層內互相抑制的加權輸入和為: 第17頁/共41頁第十八頁,編輯于星期六:十三點 二十八分。而其他所有節點的輸出均為零,即: 此時 b)如果在競爭后,第i個節點“輸”了,而“贏”的節點為l,則有: 此時第18頁/共41頁第十九頁,編輯于星期六:十三點 二十八分。在判斷競爭網絡節點勝負的結果時,可直接采用ni,即:第19頁/共41頁第二十頁,編輯于星期六:十三點 二十八分。通過上面分析,可以將競爭網絡的工作原理總結如下:競爭網絡的激活函數使加權輸入和為最大的節點贏得輸出為1,而其他神經元的輸出皆為0。這個競爭過程

7、可用MATLAB描述如下: 第20頁/共41頁第二十一頁,編輯于星期六:十三點 二十八分。nW*P;S,Qsize(n);xn+b*ones(1,Q);ymax(x);for q1:Q找出最大加權輸入和y(q)所在的行; sfind(x(:, q)y(q);令元素a(z,q)1,其他值為零; a(z(1),q)1; end這個競爭過程的程序已被包含在競爭激活函數compet.m之中, Acompet(W*P,B); 第21頁/共41頁第二十二頁,編輯于星期六:十三點 二十八分。822競爭學習規則 競爭網絡在經過競爭而求得獲勝節點后,則對與獲勝節點相連的權值進行調整,調整權值的目的是為了使權值與

8、其輸入矢量之間的差別越來越小,從而使訓練后的競爭網絡的權值能夠代表對應輸入矢量的特征,把相似的輸入矢量分成了同一類,并由輸出來指示所代表的類別。 競爭網絡修正權值的公式為: 式中lr為學習速率,且0lr1,一般的取值范圍為0.01-0.3; pj為經過歸一化處理后的輸入。 第22頁/共41頁第二十三頁,編輯于星期六:十三點 二十八分。用MATLAB工具箱來實現上述公式的過程可以用內星學習規則:Acompet(W*P);dWlearnis(P,A,lr,W);WW十dW;更省時地是采用科荷倫學習規則如下:Acompet(W*P);ifind(A=1);dWlearnis(P,i,lr,W);WW

9、十dW; 不論采用哪種學習方法,層中每個最接近輸入矢量的神經元,通過每次權值調整而使權值矢量逐漸趨于這些輸入矢量。從而競爭網絡通過學習而識別了在網絡輸入端所出現的矢量,并將其分為某一類。 第23頁/共41頁第二十四頁,編輯于星期六:十三點 二十八分。823競爭網絡的訓練過程競爭網絡的學習和訓練過程,實際上是對輸入矢量的劃分聚類過程,使得獲勝節點與輸入矢量之間的權矢量代表獲勝輸入矢量。 這樣,當達到最大循環的值后,網絡已重復多次訓練了P中的所有矢量,訓練結束后,對于用于訓練的模式P,其網絡輸出矢量中,其值為1的代表一種類型,而每類的典型模式值由該輸出節點與輸入節點相連的權矢量表示。 競爭網絡的輸

10、入層節點r是由已知輸入矢量決定的,但競爭層的神經元數s是由設計者確定的,一般情況下,可以根據輸入矢量的維數及其估計,再適當地增加些數目來確定。 第24頁/共41頁第二十五頁,編輯于星期六:十三點 二十八分。另外還要事先確定的參數有:學習速率和最大循環次數。競爭網絡的訓練是在達到最大循環次數后停止,這個數一般可取輸入矢量數組的1520倍,即使每組輸入矢量能夠在網絡重復出現1520次。競爭網絡的權值要進行隨機歸一化的初始化處理,這個過程在MATLAB中用函數randnr.m實現:wrandnr(S,R);然后網絡則可以進入競爭以及權值的調整階段。 網絡的訓練全過程完全由計算機去做,工具箱中的競爭網

11、絡訓練函數為trainc.m,它的用法如下: 第25頁/共41頁第二十六頁,編輯于星期六:十三點 二十八分。競爭網絡比較適合用于具有大批相似數組的分類問題。競爭學習網絡的局限性: 競爭網絡適用于當具有典型聚類特性的大量數據的辨識,但當遇到大量的具有概率分布的輸入矢量時,競爭網絡就無能為力了,這時可以采用科荷倫網絡來解決。 第26頁/共41頁第二十七頁,編輯于星期六:十三點 二十八分。第27頁/共41頁第二十八頁,編輯于星期六:十三點 二十八分。第28頁/共41頁第二十九頁,編輯于星期六:十三點 二十八分。圖8.6 二維科荷倫網絡結構圖 第29頁/共41頁第三十頁,編輯于星期六:十三點 二十八分

12、。圖8.7 二維神經元層示意圖 科荷倫網絡的激活函數為二值型函數。一般情況下b值固定,其學習方法與普通的競爭學習算法相同。在競爭層,每個神經元都有自己的鄰域。一個直徑為1的鄰域包括主神經元及它的直接周圍神經元所組成的區域;直徑為2的鄰域包括直徑1的神經元以及它們的鄰域。 第30頁/共41頁第三十一頁,編輯于星期六:十三點 二十八分。圖88二維網絡鄰域形狀 在MATLAB工具箱中有一個求獲勝神經元的鄰域的函數:在二維競爭層中,鄰域函數為neighb2d.m。函數的用法如下:Np=x y;inneighb2d(i, Np, N); 第31頁/共41頁第三十二頁,編輯于星期六:十三點 二十八分。對于

13、一維競爭層,其中的鄰層函數為叫neighb1d.m,確定競爭層大小的參數就是神經元數S,即Np=S;inneighb1d(i,Np,N); 832網絡的訓練過程 訓練設計步驟(適用于輸入矢量P具有某種概率分布的數組): (1)初始化1) 由輸入矢量確定網絡結構:R, Qsize(P);2) 設置網絡競爭層神經元節點:一維S或二維的寬X和高Y,SX*Y;3) 將輸入模式P作歸一化處理:Pnormc(P);4) 歸一隨機化處理初始權值:Wrands(S, R)*0.1;并設置:第32頁/共41頁第三十三頁,編輯于星期六:十三點 二十八分。5) 最大循環次數(此數根據輸入數據的數目而乘一個倍數所得)

14、:max_cycle6) 基本學習速率lr:一般取0.010.3,視具體情況而定;7)最大鄰層數max_neighb: 一維max_neighbS-1;二維max_neighbmax(X Y)-1; (2)循環訓練for cycle=1:max_cycle1)學習速率是線性下降的:xcycle/max_cycle;LR(1x)*lr;這使得學習速率隨著循環次數的增加,從lr*(max_cycle-1)/max_cycle逐漸降至0;2)鄰層數也是遞減的:n=max(ceil(max_neighb*(1-x*4) 1);第33頁/共41頁第三十四頁,編輯于星期六:十三點 二十八分。3)計算輸入矢

15、量加權和,并通過競爭求出獲勝節點Acompet(W*P);4)根據獲勝節點求出相鄰層(以二維為例),并進行權值修正:i=find(A1);in=neighb2d(i, X, Y, n);dWlearn(W, P, in, LR)WW+dw;(3)輸出或顯示結果。MATLAB工具箱中用于訓練設計科荷倫網絡權矢量的函數為trainfm.m,它能執行上述的訓練步驟的全過程。第34頁/共41頁第三十五頁,編輯于星期六:十三點 二十八分。最大鄰域數應設置為層的最大直徑數減去l。例如,對一維特性圖max_neighb應為S-1;對二維特性圖,其層神經元寬為X高為Y時,max_neighb應當等于兩者中的較大值減去1。函數trainfm.m的訓練開始于學習速度lr和最大鄰域max_neighb,然后,其學習速率線性地遞減,以致于最后的訓練周期里的學習速率為0。鄰域數也是線性地減少,但在達到四分之一訓練周期后,其值保持為最大值1直到最終訓練結束。 給定一個特性圖的權矩陣W,它的鄰域函數F(作為一個字符串),以及競爭層大小Np,可以用函數plotmap.m畫出特性圖。第35頁/共41頁第三十六頁,編輯于星期六:十三點 二十八分。第

溫馨提示

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

評論

0/150

提交評論