《人工神經網絡設計 》 課件 第3、4章 感知器;徑向基函數神經網絡_第1頁
《人工神經網絡設計 》 課件 第3、4章 感知器;徑向基函數神經網絡_第2頁
《人工神經網絡設計 》 課件 第3、4章 感知器;徑向基函數神經網絡_第3頁
《人工神經網絡設計 》 課件 第3、4章 感知器;徑向基函數神經網絡_第4頁
《人工神經網絡設計 》 課件 第3、4章 感知器;徑向基函數神經網絡_第5頁
已閱讀5頁,還剩90頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

人工神經網絡設計03感知器目錄單層感知器01020304多層感知器多層感知器結構設計應用實例1957年,美國心理學家和計算機科學家FrankRosenblatt提出了一種結構簡單且具有學習能力的神經網絡——感知器(Perceptron)。感知器模型試圖模擬人類的視覺系統,通過感知輸入信息并通過神經沖動傳遞信息。單層感知器可以用于解決線性可分的分類問題,并為后來的多層神經網絡的發展奠定了基礎。01單層感知器

單層感知器介紹301單層感知器

單神經元感知器結構單神經元感知器結構與MP神經元結構十分相似,如下圖3-1所示。圖3-1單神經元感知器

:輸入向量

:權值向量

:感知器神經元的閾值

:感知器神經元的輸出

:求和函數401單層感知器

單神經元感知器工作原理單神經元感知器的凈輸入及輸出分別為:(3-1)令,則:為感知器神經元的激活函數,這里取階躍函數:(3-2)(3-3)5由于單神經元感知器的激活函數是階躍函數,其輸出只能是0或1。可見,單神經元感知器可以將輸入向量分為兩類,類別邊界為:圖3-2兩輸入單神經元感知器對二維樣本的分類對于兩輸入單神經元感知器,式(3-4)實質上在輸入向量空間中定義了一條直線,該直線將輸入向量分成了2類,如圖3-2所示。(3-4)601單層感知器

單神經元感知器工作原理

多神經元感知器結構由于單神經元感知器的輸出為0或1兩種狀態,因此只能解決二分類問題。而事實上輸入向量的類別可能有許多種,因此,可以建立由多個神經元組成的感知器來將它們有效地分開,其結構如圖3-3所示,其中:

:輸入向量圖3-3單層多神經元感知器結構

:輸出向量

:閾值向量

:連接權值向量

:連接權值向量701單層感知器8

多神經元感知器工作原理多神經元感知器的輸出可表示為:(3-5)以一個兩輸入兩神經元單層感知器為例,每個神經元的類別邊界是一條直線,這兩條直線將平面劃分為4個區域,將輸入向量分成了4類,如圖3-4所示:圖3-4兩輸入兩神經元感知器對二維樣本的分類對于一個由m個神經元構成的單層感知器,最多可以區分出2m種類別。01單層感知器

單層感知器的學習算法單層感知器學習的本質是通過調整輸入向量與神經元間的連接權值或神經元閾值,使感知器具有能夠正確區分目標數據的能力。美國學者FrankRosenblatt等人提出了一種學習規則來調整感知器的連接權值和閾值。單神經元感知器連接權值和神經元閾值的學習規則為:其中,η為學習率,用于控制每次調整的步長,e為目標輸出t與感知器輸出的誤差。(3-6)(3-7)單神經元感知器學習規則901單層感知器其中,為目標輸出與感知器輸出的誤差向量。多神經元感知器學習規則多神經元感知器的學習與上述單神經元感知器的學習類似,假設權值矩陣的第i行用表示,,多神經元感知器的學習規則為:用一個統一的形式表達出來,即:(3-8)(3-9)(3-10)(3-11)1001單層感知器

單層感知器的學習算法例題:設有樣本數據對為:學習率,閾值為0,初始的連接權值矩陣為。基于上述多神經元感知器的學習規則調整連接權值,使得該感知器能夠實現對樣本數據的正確分類。1101單層感知器

單層感知器的學習算法解:首先,將樣本數據輸入給感知器。將送入:感知器能對輸入向量進行正確的分類,根據多神經元感知器的學習規則,不需要調整連接權值向量。將輸入向量送入感知器,其輸出為:(3-13)(3-12)1201單層感知器

單層感知器的學習算法感知器的實際輸出為,而樣本輸入向量的目標值,說明感知器對輸入向量的分類是錯誤的,需要根據多神經元感知器的學習規則調整連接權值向量:權值調整后,感知器的輸出為:(3-15)(3-14)1301單層感知器

單層感知器的學習算法將輸入向量送入感知器,其輸出為:感知器對輸入向量的分類是錯誤的,需要根據多神經元感知器的學習規則調整連接權值向量:(3-17)(3-16)1401單層感知器

單層感知器的學習算法權值調整后,感知器的輸出為:此時感知器能夠對輸入向量進行正確的分類。在經過對權值向量的三次調整后,多神經元感知器能夠對上述三個輸入向量實現正確的分類。(3-18)1501單層感知器

單層感知器的學習算法

單層感知器的局限性有一個重要的問題:單層感知器能夠求解哪些問題?圖3-5“異或”問題凡是具有線性邊界的兩類模式分類問題均可用單層感知器解決。單層感知器是否能解決線性不可分問題?異或問題是典型的線性不可分問題,可以用圖3-5來表示,是否存在一個單層感知器能解決該問題?1601單層感知器

單層感知器的局限性可以發現任何直線也不可能把圖3-5中的兩類樣本分開,即單層感知器無法解決線性不可分問題。圖3-5“異或”問題1969年,美國者MarvinMinsky和Seymour出版《感知器》(Perceptrons)一書,對感知器局限性進行了全面深入的分析,指出感知機網絡不能實現某些基本的功能(如異或等),導致神經網絡研究陷入低潮。1701單層感知器

多層感知器介紹單層感知器固有的局限性在于它只能解決線性可分的分類問題。1969年,美國學者MarvinMinsky和SeymourPapert在其所著的《感知器》一書中指出,能夠求解線性不可分問題的感知器應具有隱含層,即多層感知器能夠解決線性不可分問題。Perceptron1802多層感知器

多層感知器結構區別于單層感知器,多層感知器由輸入層、一層或多層隱含層、輸出層組成。為了便于理解,以一個含有一層隱含層感知器神經網絡為例,輸入層有n個神經元,隱含層有l個神經元,輸出層有1個神經元,結構如圖3-6所示,其中:圖3-6含有一層隱含層感知器神經網絡

:輸入向量

:感知器的輸出

:輸入層和隱含層之間的連接權值

:隱含層和輸出層之間的連接權值

:隱含層神經元的閾值

:輸出層神經元的閾值1902多層感知器

多層感知器工作原理含有一層隱含層感知器神經網絡各層的數學描述如下:輸入層:輸入層用于接收輸入數據,對于第i個神經元,其輸出為:隱含層:隱含層通過引入激活函數,對輸入數據進行處理,第j個神經元的輸入為:(3-19)(3-20)2002多層感知器隱含層第j個神經元的輸出為:輸出層:輸出層根據隱藏層的輸出進行進一步處理,輸出層的輸入和輸出為:其中,為隱含層第j個神經元的激活函數其中,是輸出層神經元的激活函數。(3-21)(3-23)(3-22)2102多層感知器

多層感知器工作原理

多層感知器解決“異或”問題例題:采用含有一層隱含層感知器解決“異或”問題,“異或”問題的輸入/輸出對如下:將這四個樣本標在坐標系中,如圖3-7所示:圖3-7“異或”問題2202多層感知器設計一個隱含層有2個神經元的感知器,如圖3-8所示。隱含層和輸出層激活函數采用階躍函數,隱含層與輸入層之間的連接權值為,閾值為,隱含層與輸出層之間的連接權值為,閾值為,具體計算如下:圖3-8隱含層有2個神經元的感知器(3-24)(3-25)(3-26)(3-27)2302多層感知器

多層感知器解決“異或”問題感知器隱含層中的2個神經元可以確定2個類別邊界,如圖3-9(a)和3-9(b)所示圖3-9“異或”問題的類別邊界(a)(b)(c)對于隱含層第一個神經元來說,可以將x2與其他輸入區分開,類別邊界上方的樣本的輸出為1,而類別邊界下方的樣本的輸出為0。對于隱含層第二個神經元來說,可以將x3與其他輸入區分開。2402多層感知器

多層感知器解決“異或”問題感知器隱含層中的2個神經元可以確定2個類別邊界,如圖3-9(a)和3-9(b)所示(a)(b)(c)輸出層以隱含層兩個神經元的輸出作為輸入,通過連接權值向前傳播到輸出層,可以實現邏輯“與”運算,將兩個類別邊界結合起來,從而解決“異或”問題,如圖3-

9(c)所示。圖3-9“異或”問題的類別邊界2502多層感知器

多層感知器解決“異或”問題

反向傳播算法DavidRumelhart和JamesMcClelland等學者在《ParallelDistributedProcessing》一書中詳細介紹了訓練多層感知器的反向傳播(backpropagation,BP)學習算法,為解決多層感知器的學習提供了保障。由于多層感知器的訓練經常采用誤差反向傳播算法,因此,人們也常把多層感知器直接稱為BP網絡。2602多層感知器BP算法學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成:在正向傳播過程中,輸入信息從輸入層經隱含層逐層處理,并傳向輸出層,每層神經元的狀態只影響下一層神經元的狀態。

如果在輸出層不能得到期望的輸出,則轉入反向傳播階段將誤差信號沿原來的通路返回,通過修改各層神經元的連接權值,使誤差信號減小。通過信號正向傳播與誤差反向傳播不斷調整權值,使感知器輸出逐步逼近目標輸出。2702多層感知器

反向傳播算法性能函數

(3-28)(3-29)2802多層感知器

反向傳播算法輸出層神經元連接權值修正輸出層神經元連接權值的迭代公式為:

式中,為調整輸出層神經元連接權值的學習率,。的計算如下(3-30)(3-31)(3-32)2902多層感知器

反向傳播算法定義輸出層神經元誤差反向傳播系數為: 可以求得: 因此,輸出層的神經元連接權值的調整量為:這樣可以得到輸出層與隱含層中第j個神經元之間的連接權值的迭代公式為:輸出層神經元連接權值修正(3-33)(3-34)(3-35)(3-36)3002多層感知器

反向傳播算法隱含層神經元連接權值修正隱含層神經元連接權值的迭代公式為:

式中,為調整輸出層神經元連接權值的學習率,。的計算如下(3-37)(3-38)(3-39)3102多層感知器

反向傳播算法隱含層神經元連接權值修正定義隱含層神經元誤差反向傳播系數為: 可以求得: 因此,隱含層的神經元連接權值的調整量為:這樣可以得到輸入層與隱含層中第j個神經元之間的連接權值的迭代公式為:(3-40)(3-41)(3-42)(3-43)3202多層感知器

反向傳播算法BP算法的計算過程初始化設置感知器神經網絡的初始連接權值,一般取較小的非零隨機數。提供訓練樣本提供訓練樣本,即:式中,為輸入向量和t為期望輸出。計算網絡輸出

3302多層感知器

反向傳播算法BP算法的計算過程計算均方誤差函數計算感知器神經網絡輸出與期望輸出之間的偏差:并給出評價準則:若滿足上述兩式之一,感知器神經網絡學習結束;否則,進行誤差反向傳播反向傳播計算按照梯度下降法計算各神經元連接權值的調整量,逐層逐個調整神經元的連接權值:繼續輸入數據進行訓練,直到感知器神經網絡輸出滿足要求。或3402多層感知器

反向傳播算法03多層感知器結構設計

多層感知器結構設計介紹多層感知器的結構設計對于模型性能有著決定性影響,合理的結構設計不僅可以提高模型的學習效率和泛化能力,還能有效減少計算資源的消耗。多層感知器的結構設計主要是解決設幾個隱含層和每個隱含層設幾個節點的問題。理論上已經證明,隱含層采用Sigmoid函數,輸出層采用線性函數的三層感知器神經網絡能夠以任意精度逼近任何非線性函數。因此,多層感知器的結構設計主要集中在三層感知器神經網絡中隱含層的結構設計上,隱含層神經元的作用是從樣本中提取內在的規律,隱含層神經元個數過少,感知器從樣本中獲取信息能力就較差,導致模型欠擬合;隱含層神經元個數過多,可能會把樣本中非規律性的內容如噪聲等記牢,從而導致模型過擬合。35

基于經驗公式的多層感知器結構設計首先設置較少的隱含層神經元訓練感知器,然后采用試湊法確定感知器隱含層最佳神經元個數,即逐漸增加隱含層神經元。可以根據以下幾個確定隱含層神經元個數的經驗公式得到隱含層神經元個數的初始值:式中,n為輸入層神經元個數,l為隱含層神經元個數,m為輸出層神經元個數,α在1~10之間。(3-44)(3-45)(3-46)3603多層感知器結構設計

基于經驗公式的多層感知器結構設計例題:考慮含一層隱含層的三層感知器,其中隱含層采用Sigmoid函數,輸出層采用線性函數。根據上述基于經驗公式的多層感知器結構設計方法,完成感知器結構設計,實現對以下函數的逼近:要求該感知器的均方誤差小于0.0001。解:首先,根據經驗公式確定隱含層初始神經元個數式中,n=1為,m為=1,α取1,那么,隱含層初始神經元個數為2。得到此時感知器的均方誤差為0.2835,當前感知器的性能還未達到要求,需要增加隱含層神經元。(3-47)(3-48)3703多層感知器結構設計

基于經驗公式的多層感知器結構設計

3803多層感知器結構設計圖3-10增加隱含層神經元個數的感知器擬合效果

修剪型多層感知器結構設計在多層感知器學習過程中,計算隱含層所有神經元的敏感度,刪除敏感度較小的神經元,從而減少多層感知器的復雜度,避免過擬合,同時提高多層感知器的泛化能力。神經元敏感度分析敏感度(Sensitivity),又稱為靈敏度,是指系統參數的變化對系統狀態(或輸出)的影響程度。敏感度的高低反映了系統在特性或參數改變時偏離正常運行狀態的程度。敏感度較高的神經元在網絡中扮演著更為重要的角色,而敏感度較低的神經元則可能成為修剪的目標。3903多層感知器結構設計

修剪型多層感知器結構設計定義敏感度為:式中,L為損失函數,為隱含層第i個神經元的輸出。損失函數,也稱為代價函數,衡量網絡預測值與實際值之間的不一致程度,是訓練過程中需要最小化的目標。通常,可選擇均方誤差作為損失函數因此,敏感度改寫為:(3-49)(3-50)(3-51)4003多層感知器結構設計

修剪型多層感知器結構設計修剪型多層感知器首先,根據下式設定感知器訓練的終止條件或式中,ε為預先給定的小正數,且ε>0,k為迭代次數,c為一給定常數。給定感知器初始網絡結構(感知器初始網絡結構需要適當給大一些),用梯度下降算法對感知器中的參數進行調整。計算隱含層所有神經元的敏感度,如果式中,β為設定的敏感度閾值,說明此時該神經元對多層感知器的整體影響較小,對其進行修剪,并根據梯度下降算法對網絡參數進行調整。4103多層感知器結構設計04應用實例

非線性函數逼近我們將逼近以下Hermite多項式具體實驗步驟如下:數據準備:為多層感知器訓練準備數據集,包括輸入值和對應的目標輸出值。定義Hermite多項式和生成數據集。x=linspace(-2,2,100);%輸入數據集H2_x=4.*x.^2-2;%期望輸出數據集,Hermite多項式(3-52)42

非線性函數逼近

4304應用實例

非線性函數逼近評估模型:用測試數據評估訓練好的神經網絡的逼近效果。繪制神經網絡逼近的結果和真實的Hermite多項式值,以直觀比較逼近效果。y=net(Xi);%網絡預測y=cell2mat(y);%將cell轉換為矩陣H2_x=cell2mat(Ts);%將目標輸出也轉換為矩陣進行比較figure;plot(x,H2_x,'b-','LineWidth',2);%真實的Hermite多項式holdon;plot(x,y,'r--','LineWidth',2);%多層感知器逼近的結果legend('真實值','逼近值');title('Hermite多項式H2(x)逼近');gridon;圖3-11Hermite多項式值逼近效果圖4404應用實例

鳶尾花分類鳶尾花(Iris)數據集是模式分類最著名的數據集之一,包含3類鳶尾花,每類50個樣本,每個樣本4個特征(萼片長度、萼片寬度、花瓣長度、花瓣寬度)。分類任務是根據這四個特征將鳶尾花分為三類:Setosa、Versicolour、Virginica。具體實驗步驟如下:數據準備:利用loadfisheriris加載鳶尾花數據集,包括meas矩陣和species數組。meas矩陣每行是一個樣本的4個特征值,species數組每個單元格包含一個字符串,表示該行樣本的鳶尾花類型。4504應用實例

鳶尾花分類構建修剪型多層感知器:首先給定感知器初始網絡結構,令隱含層初始神經元個數為15。利用MATLAB的神經網絡工具箱創建和配置多層感知器。input_layer_size=size(X,2);%輸入層神經元數為特征數,即4initial_hidden_layer_size=15;%初始設定15個隱含層神經元output_layer_size=3;%輸出層神經元數為類別數,即3訓練網絡:配置訓練參數,使用準備好的數據集訓練神經網絡。net.divideParam.trainRatio=70/100;net.divideParam.valRatio=15/100;net.divideParam.testRatio=15/100;[net,tr]=train(net,inputs,targets);%訓練感知器網絡4604應用實例

鳶尾花分類敏感度分析與神經元修剪:對隱含層每一個神經元輸出進行敏感度分析,計算其對輸出的貢獻值,刪除敏感度小于閾值的神經元,調整感知器網絡結構。=net.IW{1,1};%獲取網絡權值和偏置LW=net.LW{2,1};hidden_input=IW*X';hidden_output=logsig(hidden_input);%計算隱含層輸出output_input=LW*hidden_output;outputs=purelin(output_input);%計算輸出層輸出output_error=T-outputs;%計算輸出層誤差sensitivities=abs(mean(hidden_output.*(LW'*output_error),2));%計算的敏感度sensitivity_threshold=0.1;%設定敏感度閾值為0.14704應用實例

鳶尾花分類low_sensitivity_neurons=find(sensitivities<sensitivity_threshold);if~isempty(low_sensitivity_neurons)

net.IW{1,1}(:,low_sensitivity_neurons)=[];%低于敏感度閾值的神經元

net.LW{2,1}(low_sensitivity_neurons,:)=[];

net.layers{1}.size=size(net.IW{1,1},2);%更新隱含層神經元數end[net,tr]=train(net,X',T);%采用梯度下降法調整感知器參數view(net);%觀察網絡評估模型:利用測試集評估模型的性能,并通過混淆矩陣可視化結果。4804應用實例人工神經網絡設計04徑向基函數神經網絡目錄局部映射特性01020304徑向基函數神經網絡工作原理徑向基函數神經網絡學習算法徑向基函數神經網絡結構設計05應用實例01

局部映射特性對于生物神經元來說,局部映射特性是指神經元對輸入空間的局部區域產生響應的特性。具體來說,生物神經元的感受野(指在神經元接收到刺激時,該刺激所在的空間區域)具有近興奮遠抑制(NearExcitationFarInhibition)的特征。在神經元的感受野內,刺激的出現會引發神經元的興奮反應,而在感受野外的區域,刺激則會被抑制。這種近興奮遠抑制的機制使得神經元能夠更好地區分和響應局部特征,并提高對復雜刺激的辨別能力。

局部映射特性51以人眼接收信息這為例,生物視覺神經元的“近興奮遠抑制”特征如下:

具體實例眼睛作為人類主要的感知器官,用于接收外部信息。光線經過眼睛折射后,在視網膜上形成圖像,然后通過神經沖動傳遞到大腦皮層的視區,從而形成視覺感知。視網膜是感光系統,能夠感受到光的刺激并發出神經沖動,它包含了一級神經元(感光細胞)、二級神經元(雙極細胞)和三級神經元(神經節細胞)。感光細胞與雙極細胞形成突觸連接,雙極細胞與神經節細胞相連,而神經節細胞的軸突組成了視神經束。來自兩側的視神經在腦下垂體前方會合成交叉,在這里組成每一根視神經的神經纖維束在進一步進入腦部之前被重新分組。從視神經交叉再發出的神經束稱為視束。5201

局部映射特性在重新分組時,來自兩眼視網膜右側的纖維合成一束,傳向腦的右半部,來自兩眼視網膜左側的纖維合成另一束,傳向腦的左半部。這兩束經過改組的纖維視束繼續向右腦內行進,大部分終止于丘腦的兩個被分成外側膝狀體的神經核。外膝體完成輸入信息處理上的第一次分離,然后傳送到大腦的第一視區核第二視區(外膝體屬丘腦,是眼睛到視皮層的中繼站),這就是視覺通路。視網膜上的感光細胞通過光化學和光生物化學反應產生光感受器電位和神經脈沖,沿著視覺通路傳播。視神經元反應的視網膜或視野的區域稱為中樞神經元的感受野。通過電生理學試驗記錄感受野的形狀發現,當光照射到視網膜上時,如果該細胞被激活,通過該區域的電脈沖就會增加;相反,如果該細胞被抑制,通過該區域的電脈沖就會減少。5301

局部映射特性

具體實例每個視皮層、外側膝狀體的神經元以及視網膜神經細胞在視網膜上都有特定的感受野,通常呈圓形,并具有近興奮遠抑制的功能。對于每一個這樣的近興奮遠抑制神經元,可以用以下函數進行表示:

式中,x為輸入(光束照在視網膜上的位置),c為感受野的中心,對應于視網膜上使神經元最興奮的光照位置。感受野的近興奮遠抑制特性有助于人眼在視覺系統中對視覺信息進行選擇性處理。它能夠增強對視覺刺激的局部特征的響應,同時抑制對遠距離或無關刺激的響應。(4-1)5401

局部映射特性

具體實例①標準Gaussian函數:②反常S型Reflectedsigmoid函數:③逆多二次元(InversMultiquadrie)函數:④柯西(Cauchy)徑向基函數:徑向基函數神經網絡的最顯著的特點是采用徑向基函數作為隱含層激活函數。與生物神經元近興奮遠抑制特性相同,徑向基函數關于n維空間的一個中心點具有徑向對稱性,神經元的輸入離該中心點越遠,神經元的激活程度就越低;反之,則越高。隱含層神經元的這一特性被稱為“局部特性”。圖1幾種常見的徑向基函數(4-2)(4-3)(4-4)(4-5)式中,x為輸入向量,c為徑向基函數中心,為神經元寬度。

徑向基函數5501

局部映射特性基于數學和生物學的研究成果,Moody和Darken于20世紀80年代末提出了徑向基函數神經網絡(RadialBasisFunctionNeuralNetwork,

RBFNN)。RBF神經網絡是一種模擬了人腦中局部調整、相互覆蓋接受域的前饋神經網絡結構。

徑向基函數神經網絡圖2RBF神經網絡結構x=[x1,x2,…,xm]

為輸入向量;w=[w0,

w1,w2,…,wJ]

為隱含層與輸出層間連接權值;為隱含層第j個神經元的輸出;y

為輸出層神經元的輸出。5602

徑向基函數神經網絡工作原理隱含層:使用距離函數(如歐氏距離)作為基函數,并采用徑向基函數(如Gaussian函數)作為激活函數,對輸入信號進行處理。這種處理方式使得輸入信號離隱含層神經元的中心點越遠,隱含層神經元的激活程度越低。可以描述為:

其中,和為第j個隱含層神經元的中心值和方差。輸出層:對隱含層神經元輸出的信號響應加權求和,計算如下:

徑向基函數神經網絡結構輸入層:接收信號輸入,并將輸入信號傳遞到隱含層。(4-6)(4-7)5702

徑向基函數神經網絡工作原理

例題圖3“異或”問題試用含有2個隱含層神經元的RBF神經網絡解決下述“異或”問題,RBF神經網絡隱含層的激活函數為解:根據問題描述,建立輸入層神經元個數為2、隱含層神經元個數為2、輸出層神經元個數為1的RBF神經網絡。所建立RBF神經網絡結構如下:58(4-8)02

徑向基函數神經網絡工作原理

例題為確定RBF神經網絡參數,將部分樣本的輸入分別作為隱含層神經元的中心,同時考慮到其余樣本與中心的距離,將寬度設為1。通過調整隱含層與輸出層的連接權值以實現分類樣本的目的。最終,所構建RBF神經網絡參數為:將四個樣本輸入分別送入所建立的RBF神經網絡得到四個樣本的網絡輸出如下:59(4-9)(4-10)(4-11)(4-12)(4-13)02

徑向基函數神經網絡工作原理1991年,Park和Sandberg證明只要給予網絡足夠數量的隱藏單元,RBF神經網絡可以以任意精度逼近任意可測函數,具有萬能逼近能力。目前RBF網絡已成功地用于非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等多個領域。

萬能逼近能力6002

徑向基函數神經網絡工作原理

例題例:采用三層RBF神經網絡實現對以下函數的逼近:要求所建立RBF神經網絡包含隱含層神經元個數為3,激活函數為:圖4y=x2函數圖像(4-14)(4-15)下面將通過RBF神經網絡對非線性函數進行逼近這一例題進一步說明RBF神經網絡的相關工作原理及具體特性。6102

徑向基函數神經網絡工作原理所構建具有3個隱含層神經元的RBF神經網絡結構如下:

例題為確定RBF神經網絡參數,在輸入范圍內選擇等間距的三個樣本點:-2,0,2。將其作為隱含層神經中心,并設置中心點間的距離作為寬度。同時為實現函數逼近,對連接權值進行確定。最終,所構建RBF神經網絡參數為:62(4-16)02

徑向基函數神經網絡工作原理為驗證所建立神經網絡的逼近性質,在輸入范圍內分別取5個不同的x值,計算RBF神經網絡的輸出:

例題當x為-3時:當x為-1時:當x為0時:(4-17)(4-18)(4-19)6302

徑向基函數神經網絡工作原理

例題當x為1時:當x為3時:x期望輸出網絡輸出-398.9950-110.9642000.0354110.9642398.9950由此得出,通過設計合理的RBF神經網絡結構及參數可以實現對非線性函數的精確逼近。(4-20)(4-21)64圖5網絡訓練結果02

徑向基函數神經網絡工作原理RBF神經網絡設計包括結構設計和參數學習。在隱含層神經元個數確定之后,可以通過對網絡參數的學習,來提高網絡的學習精度。RBF神經網絡的參數學習過程主要是根據樣本,利用參數學習算法對隱含層神經元中心、寬度以及隱含層到輸出層的連接權值進行確定。常見的幾種參數學習算法:

徑向基函數神經網絡學習算法線性最小二乘法:梯度下降算法:LM算法:65(4-22)(4-23)(4-24)03

徑向基函數神經網絡學習算法對于訓練樣本中的每一個輸入

,所對應的隱含層輸出計算為:假定RBF神經網絡的隱含層神經元中心與寬度已根據訓練樣本的輸入確定且固定,只需考慮對隱含層與輸出層連接權值進行確定,那么對連接權值的更新就等價于線性網絡的訓練。考慮如下訓練數據點:

線性最小二乘法網絡輸出為:

隱含層中的中心和寬度值不再調整,所以隱含層到輸出層的訓練樣本變為66(4-25)(4-26)(4-27)(4-28)03

徑向基函數神經網絡學習算法為了簡化討論,將需要調整的所有參數(包括閾值)整合到一個向量:為了確定連接權值和閾值,首先定義神經網絡的性能評價指標(誤差平方和):

線性最小二乘法此時性能評價指標的表達式為:

類似地,將閾值的輸入“1”作為輸入向量的一部分:67(4-29)(4-30)(4-31)(4-32)03

徑向基函數神經網絡學習算法為了簡化討論,將需要調整的所有參數(包括閾值)整合到一個向量:

線性最小二乘法此時性能評價指標的表達式為:

類似地,將閾值的輸入“1”作為輸入向量的一部分:為了將其以矩陣形式表示,定義如下矩陣:68(4-33)(4-34)(4-35)(4-36)03

徑向基函數神經網絡學習算法現在,可將誤差寫為:

線性最小二乘法確定性能評價指標的駐點。可知,梯度為

使用正則化方法防止過擬合,可以得到如下形式的性能指標:因此,最優權值w*可以求得:可通過將梯度置為0得到F(x)的駐點:69(4-37)(4-38)(4-39)(4-40)(4-41)03

徑向基函數神經網絡學習算法

梯度下降算法

RBF神經網絡的梯度下降方法與BP算法訓練多層感知器神經網絡的原理類似,也是通過最小化性能評價指標函數實現對各隱含層神經元的中心、寬度和連接權值的調節。首先,定義網絡評價函數:誤差定義為計算神經網絡輸出函數對各隱含層神經元的數中心、寬度和連接權值的梯度:70(4-42)(4-43)(4-44)03

徑向基函數神經網絡學習算法

梯度下降算法

考慮所有訓練樣本的影響,各隱含層神經元的中心c、寬度、連接權值w的調節量為確定每個參數的調整量,則RBF神經網絡的參數更新規則為:71(4-45)(4-46)03

徑向基函數神經網絡學習算法

LM算法

由于一階學習算法收斂時間較長,因此在許多研究中二階學習算法被用于訓練RBF神經網絡以及其它前饋型神經網絡。常見的二階梯度算法主要包括牛頓算法和在其基礎上改進的Levenberg-Marquardt(LM)算法。經典的Levenberg-Marquardt(LM)算法公式如下:其中為取值為正常數的學習率參數;I是單位矩陣,H為海森矩陣,g為梯度向量,k為迭代次數,為網絡中需要調整的參數。

網絡性能評價指標函數??(??)為:72(4-47)(4-48)03

徑向基函數神經網絡學習算法

LM算法

根據所給出的性能指標函數,計算當前的海森矩陣和梯度向量,海森矩陣計算為:當性能評價指標函數接近最小值時,中的元素變得很小可忽略不計,因此,海森矩陣可以近似為:梯度矩陣計算為:73(4-49)(4-50)(4-51)03

徑向基函數神經網絡學習算法

LM算法

J為雅可比矩陣,定義如下:因此,選用LM算法對于神經網絡進行訓練時,網絡參數調整如下:算法執行過程中,學習率參數可以根據當前性能評價指標E的值進行調整。當性能評價指標達到預期設定值時網絡完成參數調整。74(4-52)(4-53)03徑向基函數神經網絡學習算法04徑向基函數神經網絡結構設計

徑向基函數神經網絡結構設計

RBF神經網絡結構設計主要解決的問題是如何確定網絡的隱含層神經元。基于訓練樣本,RBF神經網絡的結構設計方法可分為兩類。在第一類方法中,隱含層神經元中心直接根據樣本輸入確定。在選取樣本輸入過程中,可在樣本密集處多選,稀疏處少選。若樣本數據本身是均勻分布其中心點樣本的選取也可以均勻分布。寬度可以手動設置或通過一定的規則進行確定。這類方法簡單直觀,但存在構建的網絡結構龐大及網絡學習精度較差的問題。在第二類方法中,相關學者利用訓練樣本對神經網絡結構進行自組織設計,以提高網絡精度。75

例題

隨機選取[0,6]區間內的60個訓練樣本,利用其設計RBF神經網絡,要求網絡隱含層神經元中心取自訓練樣本,以實現神經網絡對y=sinx函數的逼近,并利用均方根誤差(rootmeansquareerror,RMSE)評價網絡學習精度。76圖4-6sinx函數04徑向基函數神經網絡結構設計

例題

解網絡構建過程中,將訓練樣本進行排序后分別等間隔選取6或12個樣本輸入作為隱含層神經元中心,寬度分別設為1與0.5,連接權值由通過線性最小二乘法進行確定。神經元個數=6時,RMSE=0.0411神經元個數=12時,RMSE=0.024977圖4-7網絡訓練結果圖4-8網絡訓練結果04徑向基函數神經網絡結構設計

基于聚類算法的徑向基函數神經網絡結構設計

(1)選擇個互不相同的向量作為初始聚類中心:1989年,MoodyJohn和ChristianJ.Darken提出一種基于聚類的徑向基函數神經網絡結構設計,利用K-means聚類算法為隱含層神經元確定合適的中心,并根據各中心之間的距離確定神經元寬度。利用聚類算法確定隱含層神經元中心之前,需要是預設聚類中心的個數(隱含層神經元個數)。應用K-means聚類算確定神經網絡結構的具體過程如下:

(2)計算輸入樣本與聚類中心的歐氏距離78(4-55)(4-54)04徑向基函數神經網絡結構設計

(3)進行相似匹配,將全部樣本劃分為J個子集:。對每一個輸入樣本xp根據其與聚類中心的最小歐氏距離確定其歸類:(4)更新各類的聚類中心,采用各聚類域中的樣本取均值。表示第j個聚類域,為第j個聚類域中的樣本數,則(5)各聚類中心確定后,可根據各中心之間的距離確定對應神經元寬度最后,利用聚類算法得到中心和寬度后,可采用線性最小二乘算法等確定權值。79(4-57)(4-56)(4-58)04徑向基函數神經網絡結構設計

基于聚類算法的徑向基函數神經網絡結構設計

設計基于聚類算法的RBF神經網絡,以實現對y=sinx函數的逼近。解本例建立了兩種RBF神經網絡(預設聚類中心為6或12)。通過K-mean聚類算法確定中心及寬度后,利用線性最小二乘算法確定連接權值。神經元個數=6時,RMSE=0.0268神經元個數=12時,RMSE=0.021980圖4-9網絡訓練結果圖4-10網絡訓練結果04徑向基函數神經網絡結構設計

例題

增長型徑向基函數神經網絡結構設計

本節介紹一種增長型RBF神經網絡結構增長型設計方法,該方法核心思想是通過不斷新增神經元來提高網絡的處理能力。具體步驟如下:初始時刻,網絡隱含層神經元個數為0。尋找當前網絡最大絕對殘差所對應的數據樣本即最大絕對期望輸出的樣本k1:依據樣本k1確定第一個RBF神經元參數如下:81(4-59)(4-60)04徑向基函數神經網絡結構設計

在t時刻,新增第t個隱含層神經元。此時,對所有訓練集樣本,計算殘差向量如下:第p個樣本的殘差值計算如下:尋找當前殘差峰值點所在位置:可認為當前網絡對第個樣本的學習能力不夠。因而需要增加一個RBF神經元對當前樣本進行學習,新增神經元中心向量和連接權值設置如下:82(4-61)(4-62)(4-63)(4-64)04徑向基函數神經網絡結構設計

增長型徑向基函數神經網絡結構設計

RBF神經元模擬了生物神經元局部響應特性,若兩個神經元距離較近且徑向作用范圍都較大,則易產生相同的作用,進而造成網絡結構上的冗余。為了避免結構冗余的問題,則希望已有RBF神經元對當前新增神經元影響較小。當滿足下式時,已有神經元對新增神經元影響較小。最后,當達到預設的網絡結構或者網絡精度后,RBF神經網絡構建完成。因此,新增第t個隱含層神經元的寬度為:cmin表示距離新增神經元最近的既有隱含層神經元:83(4-65)(4-66)(4-67)04徑向基函數神經網絡結構設計

增長型徑向基函數神經網絡結構設計

例題

例設計結構增長型的RBF神經網絡,以實現對y=sinx函數(圖4-5)的逼近。解為解決上述問題,同樣選取訓練樣本,預設網絡精度為RMSE=0.001,最大神經元個數為10。RBF神經網絡構建過程如下:初始時刻,網絡隱含層神經元個數置0。然后,新增第一個隱含層神經元。第一個隱含層神經元的初始中心為1.5619,初始寬度為1。利用LM算法對當前神經網絡參數進行更新,具體過程如下:8404徑向基函數神經網絡結構設計

例題

利用當前RBF神經網絡逼近y=sinx函數。如下圖所示,分別為當前網絡(含有一個隱含層神經元)訓練結果與誤差。結果顯示,原誤差最大點已被消除。當前誤差峰值點已變為x=6,y=-0.2794。圖4-11當前神經網絡(含有一個隱含層神經元)的訓練結果與誤差8504徑向基函數神經網絡結構設計

例題

當前網絡精度為RMSE=0.1434,未達到預設精度。因此,在此基礎上繼續新增神經元。尋找當前網絡誤差峰值點所在的樣本為x=6,因此設第二個神經元的初始中心為6,初始寬度為2.2252(這里取:),同樣利用LM算法對參數進行更新,具體過程如下所示:8604徑向基函數神經網絡結構設計

例題

利用當前RBF神經網絡逼近y=sinx函數。下圖為當前網絡(含有兩個隱含層神經元)訓練結果與誤差:圖4-12當前神經網絡(含有兩個隱含層神經元)的訓練結果與誤差8704徑向基函數神經網絡結構設計

例題

可以看出,原誤差峰值點已消除。當前網絡精度RMSE=0.0051,仍未達到預設精度。再次按上述過程,通過不斷尋找當前網絡最大絕對殘差所對應的樣本,并新增神經元,擴大RBF網絡規模,可以使得網絡誤差逐漸減小。表4-1給出不斷新增神經元后網絡的誤差變化。表4-1新增神經元后網絡訓練誤差變化神經元個數12345RMSE0.14340.00510.00210.00100.0005當隱含層神經元個數為5時,網絡精度達到預設精度,神經元

溫馨提示

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

評論

0/150

提交評論