神經網路案例教學材料

2021-08-08 14:55:43 字數 4435 閱讀 4265

第9 章神經網路優化及故障診斷』

9.1 bp 網路學習演算法的改進

標準bp 演算法採用的是最速梯度下降法修正權值,訓練過程從某一起點沿誤差函式的斜面逐漸達到最小點使之誤差為零。而對於複雜的網路,誤差曲面在多維空間,這就像乙個碗一樣,碗底就是最小點。但這個碗的表面是凹凸不平的,因而在訓練過程中可能會陷入某個區域性最小點,由該點向多方向變化均會使誤差增加,以致無法逃出這個區域性最小點,由於標準bp 網路學習演算法存在與輸入樣本的順序有關、收斂速度緩慢、易陷入區域性極小等缺陷,為了克服演算法中的不足,下面幾節將給出一些改進演算法,這些改進演算法或者減少了輸入樣本順序的影響,或者收斂速度比標準梯度法快數十乃至數百倍。

9.1.1消除樣本輸入順序影響的改進演算法

前面描述的bp 網路標準學習演算法,在每輸入乙個學習樣本後,根據其產生的誤差立即對權值進行調整,屬於**學習方式。實驗表明,**學習方式,網路受後面輸入樣本的影響較大,嚴重時,會影響使用者要求的訓練精度。為了消除這種樣本順序對結果的影響,可以採用批處理學習方式,即使用一批學習樣本產生的總誤差來調整權值,用公式表示如下:

δwij=∑δpwij

式中,∑δpwij代表連線權wij關於一批學習樣本的調整量,表示由所有學習樣本產生的誤差,每乙個樣本產生的權值調整量可由相應的計算公式求得,從而有效地消除樣本順序對學習演算法的影響。

1 .網路初始化

給wih 、wh0分別賦乙個(-1,1)內的隨機數,設定誤差函式給定計算精度值ε和最大學習次數m。

2 .計算輸出層的權值的調整值

輸出層對於一批學習樣本的僅值調整按下式計算:

9-2)

3 .計算隱含層的權值調整

隱含層對於一批學習樣本的權值調整值按下式計算:

9-3)

4 .計算全域性誤差e

9-3)

5 .判斷網路誤差是否滿足要求

當e<ε或學習次數大於設定的最大次數m時,則結束演算法;否則,返回到2 步,進入下-輪學習過程。

上述改進演算法較好地解決了因樣本輸入順序引起的精度問題和訓練的抖動問題。但是,該演算法的收斂速度相對來說還是比較慢的。

9.1.2附加動量的改進演算法

該方法是在反向傳播法的基礎上在每乙個權值(或閥值)的變化上加上一項正比於一次權值(或閥值)變化量的值,並根據反射傳播法來產生新的權值(或閥值)變化。

帶有附加動量因子的權值調節公式為

δw(k+1)=(1-mc)η▽(w(k))+mc(w(k)-w(k-1))

式中 w——權值向量。

k——訓練次數。

mc(0≤mc≥1)——動量因子,一般取0.95左右。

η——學習速率。

▽(w(k))——誤差函式的梯度。

附加動量法的實質是將最後一次權值(或閥值)變化的影響,通過乙個動量因子來傳遞。當動量因子取值為零時,權值(或閥值)的變化僅根據梯度下降法產生;當動量因子取值為1 時,新的權值(或閥值)變化則設定為最後一次權值(或閥值)的變化,而依梯度法產生的變化部分則被忽略掉了。由此可以看出,增加動量項後,促使權值的調節向著誤差曲面底部的平均方向變化,當值的變化量為0 ,有助於使網路從誤差曲面的區域性極小值中跳出。

但對於大多數實際應用問題,該法訓練速度仍然很慢。

mat1ab 中的工具函式traingdm ( )即對應於附加動量法。

9.1.3採用自適應調整引數的改進演算法

採用自適應調整引數的改進演算法的基本設想是學習率η應根據誤差變化而自適應調整,以使權係數調整向誤差減小的方向變化,其迭代過程可表示為

w(k+1)=w(k)—η▽(w(k9-6 )

通過研究發現,在一定範圍內增大學習率η,可大大加快學習效率,得到比標準bp 演算法更快的收斂速度。然而,在▽(w(k))很小的情況下,採用自適應調整引數的改進演算法仍然存在權值的修正量很小的問題,致使學習率降低。

mat1ab 中的工具函式traingda()即對應於自適應調整引數法。

9.1.4使用彈勝方法的改進演算法

bp 網路通常採用sigm0id 隱含層。當輸入的函式很大時,斜率接近於零,這將導致演算法中的梯度幅值很小,可能使網路權值的修正過程幾乎停頓下來。彈性方法只取偏導數的符號,而不考慮偏導數的幅值。

其權值修正的迭代過程可表示為

w(k+1)=(w(k)-w(k))-w(k-1)sign(▽(w(k9-7)

式中 sign(·)─符號函式。

在彈性bp 演算法中,當訓練發生振盪時,權值的變化量將減小;當在幾次迭代過程中權朝乙個方向變化時,權值的變化量將增大。因此,使用彈性方法的改進演算法,其收斂速的度要比前幾種方法快得多,而且演算法並不複雜,也不需要消耗更多的記憶體。

9.1.5基於共扼梯度法改進法

梯度下降法收斂速度較慢,而擬牛頓法計算又較複雜,共軛梯度法則力圖避免兩者的缺點。共軛梯度法也是一種改進搜尋方向的方法,它是把前一點的梯度乘以適當的係數,加到該點的梯度上,得到新的搜尋方向。其迭代方程為

δw(k+1)=w(k)+ ρ(k)s(k9-8)

式中ρ(k)——最佳步長。

s(k)= —▽(w(k))+v(k-1) s(k-1)

v(k-1)=

共軛梯度法比大多數常規的梯度下降法收斂快,並且只需增加很少的儲存量和計算量。對於權值很多的網路,採用共軛梯度法不失為一種較好的選擇。

mat1ab 中的工具函式traincgb( )、traincgf()、traincgp( )即對應於共軛梯度法。

9.1.6基於1evenberg-marq11ardt 法的改進演算法

眾所周知,梯度下降法在最初幾步下降較快,但隨著接近最優值,由於梯度趨於零,致使誤差函式下降緩慢,而牛頓法則可在最優值附近產生乙個理想的搜尋方向。1evenberg-marquardt 法實際上是梯度下降法和牛頓法的結合,它的優點在於網路權值數目較小時收斂非常迅速。應用1evenberg -marquardt 優化演算法比傳統的bp 及其他改進演算法(如共軛梯度法,附加動量法、自適應調整法等)迭代次數少,收斂速度快,精確度高。

因此,1evenberg-marquardt 優化演算法在bp 網路學習中具有一定優越性。在mat1ab 神經網路**工具函式中,1evenberg 一marq11ardt 法被作為bp 神經網路預設的訓練函式,下面將給出其演算法。

演算法基本思想是使其每次迭代不再沿著單一的負梯度方向,而是允許誤差沿著惡化的方向進行搜尋,同時通過在最速梯度下降法和高斯牛頓法之間自適應調整來優化網路權值,使網路能夠有效收斂,大大提高了網路的收斂速度和泛化能力。

1-m優化演算法,又稱為阻尼最小二乘法,其權值調整公式為

9-9)

式中 ——誤差向量

——誤差對權值微分的雅可比矩陣。

——乙個標量,當增加時,它接近於具有較小的學習速率的最速下降法,當下降到0時,該演算法就變成高斯-牛頓法了。

因此,1-m演算法是在最速梯度下降法和高斯-牛頓法之間的平滑調和。

1-m演算法具體的迭代步驟為:

1)將所有輸入送到網路並計算出網路的輸入,另用誤差函式計算出訓練集中所有目標的誤差平方和。

2)計算出誤差對權值微分的雅可比矩陣。

首先,定義marquardt敏感度:

9-10)

從式(9-10)可以看出,敏感度為誤差函式e對m層輸入的第i個元素變化的敏感性,其中n為每層網路的加權和。

敏感度的遞推關係式為

9-11)

可見敏感度可由最後一層通過網路被反向傳播到第一層:

9-12)

然後,用式(9-12)計算雅可比矩陣的元素:

(9-13)

3)用式(9-9)求出δw。

4)用w+δw重複計算誤差的平方和。如果新的和小於1)中計算的和,則用除以θ(θ>1),並有w=w+δw,轉1);否則,用乘以θ,轉3)。當誤差平方和減小到某一目標誤差時,演算法即被認為收斂。

mat1ab中的工具函式train1m()即對應1evenberg-marquardt法的改進演算法。

9 . 2 基於遺傳演算法的神經網路優化方法

9.2.1概述

bp 神經網路是人工神經網路中應用最廣泛的演算法,但是也存在著一些缺陷:一是學習收斂速度太慢;二是不能保證收斂到全域性最小點:三是網路結構不易確定。

9 . 1 節中講述的各種改進演算法雖然能夠改善bp 網路演算法的一些不足,但是在實際應用中仍然不夠完善,不能完全克服bp 演算法固有的缺陷。另外,網路結構、初始連線權值和閾值的選擇對網路訓練的影響很大,但是又無法準確獲得,針對這些特點可以採用遺傳演算法對神經網路進行優化。

遺傳演算法應用於神經網路的乙個方面是用優化人工神經網路(ann )的結構,另乙個方面是用遺傳演算法學習神經網路的權值,也就是用遺傳演算法取代一些傳統的學習演算法。

遺傳演算法(genetic a1g0rithm, ga )是模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型,它是由美國密執根(michigan)大學的j.h011and 教授於1975 年首先提出的,遺傳演算法具有很強的巨集觀搜尋能力和良好的全域性優化效能,因此將遺傳演算法與bp 網路相結合,訓練時先用遺傳演算法對神經網路的權值進行尋找,將搜尋範圍縮小後,再利用bp 網路來進行精確求解,可以達到全域性尋找和快速高效的目的,並且可以避免區域性極小問題。該演算法不僅具有全域性搜尋能力,而且提高了區域性搜尋能力,從而增強了在搜尋過程中自動獲取和積累搜尋空間知識及自應用地控制搜尋過程的能力,從而使結果的性質得以極大的改善。

bp神經網路

實驗四計算智慧型 1 1 實驗目的 理解反向傳播網路的結構和原理,掌握反向傳播演算法對神經元的訓練過程,了解反向傳播公式。通過構建bp網路例項,熟悉前饋網路的原理及結構。2 實驗內容 編寫乙個bp神經網路程式,實現簡單的分類。3 實驗報告要求 1 簡述實驗原理及方法,並請給出程式設計流程圖。bp演算...

BP神經網路

目標函式 y sin 2x sin x x 5,5 其影象為 程式 clc clear all x 5 0.01 5 y sin pi x sin 2 x net newff minmax x 10,1 traingd net train net,x,y y1 sim net,x plot x,y ...

神經網路評價法

第五章第一節思想和原理 第二節模型和步驟 第三節應用和案例 第一節思想和原理 在當今社會,面臨許許多多的選擇或決策問題。人們通過分析各種影響因素,建立相應的數學模型,通過求解最優解來得到最佳方案。由於數學模型有較強的條件限制,導致得出的最佳方案與現實有較大誤差。只有重新對各種因素進行分析,重新建立模...