導航:首頁 > 源碼編譯 > 神經網路的演算法流程圖

神經網路的演算法流程圖

發布時間:2023-05-28 04:42:46

❶ rbf神經網路演算法是什麼

RBF神經網路演算法是由三層結構組成,輸入層至隱層為非線性的空間變換,一般選用徑向基函數的高斯函數進行運算;從隱層至輸出層為線性空間變換,即矩陣與矩陣之間的變換。

RBF神經網路進行數據運算時需要確認聚類中心點的位置及隱層至輸出層的權重。通常,選用K-means聚類演算法或最小正交二乘法對數據大量的進行訓練得出聚類中心矩陣和權重矩陣。

一般情況下,最小正交二乘法聚類中心點的位置是給定的,因此比較適合分布相對規律的數據。而K-means聚類演算法則會自主選取聚類中心,進行無監督分類學習,從而完成空間映射關系。

RBF網路特點

RBF網路能夠逼近任意非線性的函數(因為使用的是一個局部的激活函數。在中心點附近有最大的反應;越接近中心點則反應最大,遠離反應成指數遞減;就相當於每個神經元都對應不同的感知域)。

可以處理系統內難以解析的規律性,具有很好的泛化能力,並且具有較快的學習速度。

有很快的學習收斂速度,已成功應用於非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等。

當網路的一個或多個可調參數(權值或閾值)對任何一個輸出都有影響時,這樣的網路稱為全局逼近網路。由於對於每次輸入,網路上的每一個權值都要調整,從而導致全局逼近網路的學習速度很慢,比如BP網路。

❷ 神經網路——BP演算法

對於初學者來說,了解了一個演算法的重要意義,往往會引起他對演算法本身的重視。BP(Back Propagation,後向傳播)算陸襲法,具有非凡的歷史意義和重大的現實意義。

1969年,作為人工神經網路創始人的明斯基(Marrin M insky)和佩珀特(Seymour Papert)合作出版了《感知器》一書,論證了簡單的線性感知器功能有限,不能解決如「異或」(XOR )這樣的基本問題,而且對多層網路也持悲觀態度。這些論點給神經網路研究以沉重的打擊,很多科學家紛紛離開這一領域,神經網路的研究走向長達10年的低潮時期。[1]

1974年哈佛大學的Paul Werbos發明BP演算法時,正值神經外網路低潮期,並未受到應有的重視。[2]

1983年,加州理工學院的物理學家John Hopfield利用神經網路,在旅行商這個NP完全問題的求解上獲得當時最好成績,引起了轟動[2]。然而,Hopfield的研究成果仍未能指出明斯基等人論點的錯誤所在,要推動神培判經網路研究的全面開展必須直接解除對感知器——多層網路演算法的疑慮。[1]

真正打破明斯基冰封魔咒的是,David Rumelhart等學者出版的《平行分布處理:認知的微觀結構探索》一書。書中完整地提出了BP演算法,系統地解決了多層網路中隱單元連接權的學習問題,並在數學上給出了完整的推導。這是神經網路發展史上的里程碑,BP演算法迅速走紅,掀起了神經網路的第二次高潮。[1,2]

因此,BP演算法的歷史意義:明確地否定了明斯基等人的錯誤觀點,對神經網路第二次高潮具有決定性意義。

這一點是說BP演算法在神經網路領域中的地位和意義。

BP演算法是迄今最成功的神經網路學習演算法,現實任務中使用神經網路時,大多是在使用BP演算法進行訓練[2],包括最近炙手可熱的深度學習概念下的卷積神經網路(CNNs)。

BP神經網路是這樣一種神經網路模型,它是由一個輸入層、一個輸出層和一個或多個隱層構成,它的激活函數採用sigmoid函數,採用BP演算法訓練的多層前饋神經網路。

BP演算法全稱叫作誤差反向傳播(error Back Propagation,或早中兄者也叫作誤差逆傳播)演算法。其演算法基本思想為:在2.1所述的前饋網路中,輸入信號經輸入層輸入,通過隱層計算由輸出層輸出,輸出值與標記值比較,若有誤差,將誤差反向由輸出層向輸入層傳播,在這個過程中,利用梯度下降演算法對神經元權值進行調整。

BP演算法中核心的數學工具就是微積分的 鏈式求導法則 。

BP演算法的缺點,首當其沖就是局部極小值問題。

BP演算法本質上是梯度下降,而它所要優化的目標函數又非常復雜,這使得BP演算法效率低下。

[1]、《BP演算法的哲學思考》,成素梅、郝中華著

[2]、《機器學習》,周志華著

[3]、 Deep Learning論文筆記之(四)CNN卷積神經網路推導和實現

2016-05-13 第一次發布

2016-06-04 較大幅度修改,完善推導過程,修改文章名

2016-07-23 修改了公式推導中的一個錯誤,修改了一個表述錯誤

❸ 神經網路應用分幾個具體步驟

【問題解答】
BP神經網路演算法步驟銷運攜
http://wenku..com/view/b75c5218b7360b4c2e3f64b4.html
BP神虧伏經網路在工悄森程項目管理中的應用
http://wenku..com/view/0de31434ee06eff9aef8072d.html

❹ 傷寒、副傷寒流行預測模型(BP神經網路)的建立

由於目前研究的各種數學模型或多或少存在使用條件的局限性,或使用方法的復雜性等問題,預測效果均不十分理想,距離實際應用仍有較大差距。NNT是Matlab 中較為重要的一個工具箱,在實際應用中,BP 網路用的最廣泛。神經網路具有綜合能力強,對數輪腔據的要求不高,適時學習等突出優點,其操作簡便,節省時間,網路初學者即使不了解其演算法的本質,也可以直接應用功能豐富的函數來實現自己的目的。因此,易於被基層單位預防工作者掌握和應用。以下幾個問題是建立理想的因素與疾病之間的神經網路模型的關鍵:

(1)資料選取

應盡可能地選取所研究地區系統連續的因素與疾病資料,最好包括有疾病高發年和疾病低發年的數據。在收集影響因素時,要抓住主要影響傷寒、副傷寒的發病因素。

(2)疾病發病率分級

神經網路預測法是按發病率高低來進行預測,在定義發病率等級時,要結合專業知識及當地情況而定,並根據網路學習訓練效果而適時調整,以使網路學習訓練達到最佳效果。

(3)資料處理問題

在實踐中發現,資料的特徵往往很大程度地影響網路學習和訓練槐鉛的穩定性,因此,數據的應用、納入、排出問題有待於進一步研究。

6.3.1 人工神經網路的基本原理

人工神經網路(ANN)是近年來發展起來的十分熱門的交叉學科,它涉及生物、電子、計算機、數學和物理等學科,有著廣泛的應用領域。人工神經網路是一種自適應的高度非線性動力系統,在網路計算的基礎上,經過多次重復組合,能夠完成多維空間的映射任務。神經網路通過內部連接的自組織結構,具有對數據的高度自適應能力,由計算機直接從實例中學習獲取知識,探求解決問題的方法,自動建立起復雜系統的控制規律及其認知模型。

人工神經網路就其結構而言,一般包括輸入層、隱含層和輸出層,不同的神經網路可以有不同的隱含層數,但他們都只有一層輸入和一層輸出。神經網路的各層又由不同數目的神經元組成,各層神經元數目隨解決問題的不同而有不同的神經元個數。

6.3.2 BP神經網路模型

BP網路是在1985年由PDP小組提出的反向傳播演算法的基礎上發展起來的,是一種多層次反饋型網路(圖6.17),它在輸入和輸出之間採用多層映射方式,網路按層排列,只有相鄰層的節點直接相互連接,傳遞之間信息。在正向傳播中,輸入信息從輸入層經隱含層逐層處理,並傳向輸出層,每層神經元的狀態隻影響下一層神經元的狀態。如果輸出層不能得到期望的輸出結果,則轉入反向傳播,將誤差信號沿原來的連同通路返回,通過修改各層神經元的權值,使誤差信號最小。

BP網路的學習演算法步驟如下(圖6.18):

圖6.17 BP神經網路示意圖

圖6.18 BP演算法流程圖

第一步:設置初始參數ω和θ,(ω為初始權重,θ為臨界值,均隨機設為較小的數)。

第二步:將已知的樣本加到網路上,利用下式可算出他們的輸出值yi,其值為

岩溶地區地下水與環境的特殊性研究

式中:xi為該節點的輸入;ωij為從I到j的聯接權;θj為臨界值;yj為實際算出的輸出數據。

第三步:將已知輸出數據與上面算出的輸出數據之差(dj-yj)調整權系數ω,調整量為

ΔWij=ηδjxj

式中:η為比例系數;xj為在隱節點為網路輸入,在輸出點則為下層(隱)節點的輸出(j=1,2…,n);dj為已知的輸出數據(學習樣本訓練數據);δj為一個與輸出偏差相關的值,對於輸出節點來說有

δjj(1-yj)(dj-yj

對於隱節點來說,由於它的輸出無法進行比較,所以經過反向逐層計算有

岩溶地區地下水與環境的特殊性研究

其中k指要把上層(輸出層)節點取遍。誤差δj是從輸出層反向逐層計算的。各神經元的權值調整後為

ωij(t)=ωij(t-1)+Vωij

式中:t為學習次數。

這個演算法是一個迭代過程,每一輪將各W值調整一遍,這樣一直迭代下去,知道輸出誤差小於某一允許值為止,這樣一個好的網路就訓練成功了,BP演算法從本質上講是把一組樣本的輸入輸出問題變為一個非線鉛桐好性優化問題,它使用了優化技術中最普遍的一種梯度下降演算法,用迭代運算求解權值相當於學習記憶問題。

6.3.3 BP 神經網路模型在傷寒、副傷寒流行與傳播預測中的應用

傷寒、副傷寒的傳播與流行同環境之間有著一定的聯系。根據桂林市1990年以來鄉鎮為單位的傷寒、副傷寒疫情資料,傷寒、副傷寒疫源地資料,結合現有資源與環境背景資料(桂林市行政區劃、土壤、氣候等)和社會經濟資料(經濟、人口、生活習慣等統計資料)建立人工神經網路數學模型,來逼近這種規律。

6.3.3.1 模型建立

(1)神經網路的BP演算法

BP網路是一種前饋型網路,由1個輸入層、若干隱含層和1個輸出層構成。如果輸入層、隱含層和輸出層的單元個數分別為n,q1,q2,m,則該三層網路網路可表示為BP(n,q1,q2,m),利用該網路可實現n維輸入向量Xn=(X1,X2,…,Xn)T到m維輸出向量Ym=(Y1,Y2,…,Ym)T的非線性映射。輸入層和輸出層的單元數n,m根據具體問題確定。

(2)樣本的選取

將模型的輸入變數設計為平均溫度、平均降雨量、岩石性質、岩溶發育、地下水類型、飲用水類型、正規自來水供應比例、集中供水比例8個輸入因子(表6.29),輸出單元為傷寒副傷寒的發病率等級,共一個輸出單元。其中q1,q2的值根據訓練結果進行選擇。

表6.29 桂林市傷寒副傷寒影響因素量化表

通過分析,選取在傷寒副傷寒有代表性的縣鎮在1994~2001年的環境參評因子作為樣本進行訓練。利用聚類分析法對疫情進行聚類分級(Ⅰ、Ⅱ、Ⅲ、Ⅳ),傷寒副傷寒發病最高級為Ⅳ(BP網路中輸出定為4),次之的為Ⅲ(BP網路中輸出定為3),以此類推,最低為Ⅰ(BP網路中輸出定為1)

(3)數據的歸一化處理

為使網路在訓練過程中易於收斂,我們對輸入數據進行了歸一化處理,並將輸入的原始數據都化為0~1之間的數。如將平均降雨量的數據乘以0.0001;將平均氣溫的數據乘以0.01;其他輸入數據也按類似的方法進行歸一化處理。

(4)模型的演算法過程

假設共有P個訓練樣本,輸入的第p個(p=1,2,…,P)訓練樣本信息首先向前傳播到隱含單元上。

經過激活函數f(u)的作用得到隱含層1的輸出信息:

岩溶地區地下水與環境的特殊性研究

經過激活函數f(u)的作用得到隱含層2的輸出信息:

岩溶地區地下水與環境的特殊性研究

激活函數f(u)我們這里採用Sigmoid型,即

f(u)=1/[1+exp(-u)](6.5)

隱含層的輸出信息傳到輸出層,可得到最終輸出結果為

岩溶地區地下水與環境的特殊性研究

以上過程為網路學習的信息正向傳播過程。

另一個過程為誤差反向傳播過程。如果網路輸出與期望輸出間存在誤差,則將誤差反向傳播,利用下式來調節網路權重和閾值:

岩溶地區地下水與環境的特殊性研究

式中:Δω(t)為t次訓練時權重和閾值的修正;η稱為學習速率,0<η<1;E為誤差平方和。

岩溶地區地下水與環境的特殊性研究

反復運用以上兩個過程,直至網路輸出與期望輸出間的誤差滿足一定的要求。

該模型演算法的缺點:

1)需要較長的訓練時間。由於一些復雜的問題,BP演算法可能要進行幾小時甚至更長的時間的訓練,這主要是由於學習速率太小造成的,可採用變化的學習速率或自適應的學習速率加以改進。

2)完全不能訓練。主要表現在網路出現的麻痹現象上,在網路的訓練過程中,當其權值調的過大,可能使得所有的或大部分神經元的加權總和n偏大,這使得激活函數的輸入工作在S型轉移函數的飽和區,從而導致其導數f′(n)非常小,從而使得對網路權值的調節過程幾乎停頓下來。

3)局部極小值。BP演算法可以使網路權值收斂到一個解,但它並不能保證所求為誤差超平面的全局最小解,很可能是一個局部極小解。這是因為BP演算法採用的是梯度下降法,訓練從某一起點沿誤差函數的斜面逐漸達到誤差的最小值。

考慮到以上演算法的缺點,對模型進行了兩方面的改進:

(1)附加動量法

為了避免陷入局部極小值,對模型進行了改進,應用了附加動量法。附加動量法在使網路修正及其權值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,其作用如同一個低通濾波器,它允許網路忽略網路上的微小變化特性。在沒有附加動量的作用下,網路可能陷入淺的局部極小值,利用附加動量的作用則有可能滑過這些極小值。

該方法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比於前次權值變化量的值,並根據反向傳播法來產生心的權值變化。促使權值的調節向著誤差曲面底部的平均方向變化,從而防止了如Δω(t)=0的出現,有助於使網路從誤差曲面的局部極小值中跳出。

這種方法主要是把式(6.7)改進為

岩溶地區地下水與環境的特殊性研究

式中:A為訓練次數;a為動量因子,一般取0.95左右。

訓練中對採用動量法的判斷條件為

岩溶地區地下水與環境的特殊性研究

(2)自適應學習速率

對於一個特定的問題,要選擇適當的學習速率不是一件容易的事情。通常是憑經驗或實驗獲取,但即使這樣,對訓練開始初期功效較好的學習速率,不見得對後來的訓練合適。所以,為了盡量縮短網路所需的訓練時間,採用了學習速率隨著訓練變化的方法來找到相對於每一時刻來說較差的學習速率。

下式給出了一種自適應學習速率的調整公式:

岩溶地區地下水與環境的特殊性研究

通過以上兩個方面的改進,訓練了一個比較理想的網路,將動量法和自適應學習速率結合起來,效果要比單獨使用要好得多。

6.3.3.2 模型的求解與預測

採用包含了2個隱含層的神經網路BP(4,q1,q2,1),隱含層單元數q1,q2與所研究的具體問題有關,目前尚無統一的確定方法,通常根據網路訓練情況採用試錯法確定。在滿足一定的精度要求下一般認小的數值,以改善網路的概括推論能力。在訓練中網路的收斂採用輸出值Ykp與實測值tp的誤差平方和進行控制:

岩溶地區地下水與環境的特殊性研究

1)將附加動量法和自適應學習速率結合應用,分析桂林市36個鄉鎮地質條件各因素對傷寒副傷寒發病等級的影響。因此訓練樣本為36個,第一個隱含層有19個神經元,第二個隱含層有11個神經元,學習速率為0.001。

A.程序(略)。

B.網路訓練。在命令窗口執行運行命令,網路開始學習和訓練,其學習和訓練過程如下(圖6.19)。

圖6.19 神經網路訓練過程圖

C.模型預測。

a.輸入未參與訓練的鄉鎮(洞井鄉、兩水鄉、延東鄉、四塘鄉、嚴關鎮、靈田鄉)地質條件數據。

b.預測。程序運行後網路輸出預測值a3,與已知的實際值進行比較,其預測結果整理後見(表6.30)。經計算,對6個鄉鎮傷寒副傷寒發病等級的預測符合率為83.3%。

表6.30 神經網路模型預測結果與實際結果比較

c.地質條件改進方案。在影響疾病發生的地質條件中,大部分地質條件是不會變化的,而改變發病地區的飲用水類型是可以人為地通過改良措施加以實施的一個因素。因此,以靈田鄉為例對發病率較高的鄉鎮進行分析,改變其飲用水類型,來看發病等級的變化情況。

表6.31顯示,在其他地質條件因素不變的情況下,改變當地的地下水類型(從原來的岩溶水類型改變成基岩裂隙水)則將發病等級從原來的最高級4級,下降為較低的2級,效果是十分明顯的。因此,今後在進行傷寒副傷寒疾病防治的時候,可以通過改變高發區飲用水類型來客觀上減少疫情的發生。

表6.31 靈田鄉改變飲用水類型前後的預測結果

2)選取桂林地區1994~2000年月平均降雨量、月平均溫度作為輸入數據矩陣,進行樣本訓練,設定不同的隱含層單元數,對各月份的數據進行BP網路訓練。在隱含層單元數q1=13,q2=9,經過46383次數的訓練,誤差達到精度要求,學習速率0.02。

A.附加動量法程序(略)。

B.網路訓練。在命令窗口執行運行命令,網路開始學習和訓練,其學習和訓練過程如下(圖6.20)。

C.模型預測。

a.輸入桂林市2001年1~12月桂林市各月份的平均氣溫和平均降雨量。預測程度(略)。

b.預測。程序運行後網路輸出預測值a2,與已知的實際值進行比較,其預測結果整理後見(表6.32)。經計算,對2001年1~12月傷寒副傷寒發病等級進行預測,12個預測結果中,有9個符合,符合率為75%。

圖6.20 神經網路訓練過程圖

表6.32 神經網路模型預測結果與實際值比較

6.3.3.3 模型的評價

本研究採用BP神經網路對傷寒、副傷寒發病率等級進行定量預測,一方面引用數量化理論對不確定因素進行量化處理;另一方面利用神經網路優點,充分考慮各影響因素與發病率之間的非線性映射。

實際應用表明,神經網路定量預測傷寒、副傷寒發病率是理想的。

其主要優點有:

1)避免了模糊或不確定因素的分析工作和具體數學模型的建立工作。

2)完成了輸入和輸出之間復雜的非線性映射關系。

3)採用自適應的信息處理方式,有效減少人為的主觀臆斷性。

雖然如此,但仍存在以下缺點:

1)學習演算法的收斂速度慢,通常需要上千次或更多,訓練時間長。

2)從數學上看,BP演算法有可能存在局部極小問題。

本模型具有廣泛的應用范圍,可以應用在很多領域。從上面的結果可以看出,實際和網路學習數據總體較為接近,演化趨勢也基本一致。說明選定的氣象因子、地質條件因素為神經單元獲得的傷寒、副傷寒發病等級與實際等級比較接近,從而證明傷寒、副傷寒流行與地理因素的確存在較密切的相關性。

❺ 神經網路Kohonen模型

一、Kohonen模型概述

1981年芬蘭赫爾辛基大學Kohonen教授提出了一個比較完整的,分類性能較好的自組織特徵影射(Self-Organizing Feature Map)人工神經網路(簡稱SOM網路)方案。這種網路也稱為Kohonen特徵影射網路。

這種網路模擬大腦神經系統自組織特徵影射功能,它是一種競爭式學習網路,在學習中能無監督地進行自組織學習。

二、Hohonen模型原理

1.概述

SOM網路由輸入層和競爭層組成。輸入層神經元數為N,競爭層由M=R×C神經元組成,構成一個二維平面陣列或一個一維陣列(R=1)。輸入層和競爭層之間實現全互連接。

SOM網路的基本思想是網路競爭層各神經元競爭對輸入模式的響應機會,最後僅有一個神經元成為競爭的勝者,並對那些與獲勝神經元有關的各連接權朝著更有利於它競爭的方向調整,這一獲勝神經元就表示對輸入模式的分類。

SOM演算法是一種無教師示教的聚類方法,它能將任意輸入模式在輸出層映射成一維或二維離散圖形,並保持其拓撲結構不變。即在無教師的情況下,通過對輸入模式的自組織學習,在競爭層將分類結果表示出來。此外,網路通過對輸入模式的反復學習,可以使連接權矢量空間分布密度與輸入模式的概率分布趨於一致,即連接權矢量空間分布能反映輸入模式的統計特徵。

2.網路權值初始化

因為網路輸入很可能出現在中間區,因此,如果競爭層的初始權值選擇在輸入空間的中間區,則其學習效果會更加有效。

3.鄰域距離矩陣

SOM網路中的神經元可以按任何方式排列,這種排列可以用表示同一層神經元間的Manhattan距離的鄰域距離矩陣D來描述,而兩神經元的Manhattan距離是指神經元坐標相減後的矢量中,其元素絕對值之和。

4.Kohonen競爭學習規則

設SOM網路的輸入模式為Xp=(

,…,

),p=1,2.…,P。競爭層神經元的輸出值為Yj(j=1,2,…,M),競爭層神經元j與輸入層神經元之間的連接權矢量為

Wj=(wj1,wj2,…,wjN),j=1,2,…,M。

Kohonen網路自組織學習過程包括兩個部分:一是選擇最佳匹配神經元,二是權矢量自適應變化的更新過程。

確定輸入模式Xp與連接權矢量Wj的最佳匹配的評價函數是兩個矢量的歐氏距離最小,即

,j=1,2,…,M,]]

g,確定獲勝神經元g。

dg=mjin(dj),j=1,2,…,M。

求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的輸出。

中國礦產資源評價新技術與評價新模型

dgm為鄰域距離矩陣D的元素,為競爭層中獲勝神經元g與競爭層中其它神經元的距離。

求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的權值修正值。

中國礦產資源評價新技術與評價新模型

式中:i=1,2,…,N;

lr為學習速率;

t為學習循環次數。

Δwjt(t+1)的其餘元素賦值為0。

進行連接權的調整

wji(t+1)=wji(t)+Δwji(t+1)。

5.權值學習中學習速率及鄰域距離的更新

(1)SOM網路的學習過程分為兩個階段

第一階段為粗學習與粗調整階段。在這一階段內,連接權矢量朝著輸入模式的方向進行調整,神經元的權值按照期望的方向在適應神經元位置的輸入空間建立次序,大致確定輸入模式在競爭層中所對應的影射位置。一旦各輸入模式在競爭層有了相對的影射位置後,則轉入精學習與細調整階段,即第二階段。在這一階段內,網路學習集中在對較小的范圍內的連接權進行調整,神經元的權值按照期望的方向在輸入空間伸展,直到保留到他們在粗調整階段所建立的拓撲次序。

學習速率應隨著學習的進行不斷減小。

(2)鄰域的作用與更新

在SOM網路中,腦神經細胞接受外界信息的刺激產生興奮與抑制的變化規律是通過鄰域的作用來體現的鄰域規定了與獲勝神經元g連接的權向量Wg進行同樣調整的其他神經元的范圍。在學習的最初階段,鄰域的范圍較大,隨著學習的深入進行,鄰域的范圍逐漸縮小。

(3)學習速率及鄰域距離的更新

在粗調整階段,

學習參數初始化

最大學習循環次數 MAX_STEP1=1000,

粗調整階段學習速率初值 LR1=1.4,

細調整階段學習速率初值 LR2=0.02,

最大鄰域距離 MAX_ND1=Dmax,

Dmax為鄰域距離矩陣D的最大元素值。

粗調階段

學習循環次數step≤MAX_STEP1,

學習速率lr從LR1調整到LR2,

鄰域距離nd 從MAX_ND1調整到1,

求更新系數r,

r=1-step/MAX_STEP1,

鄰域距離nd更新,

nd=1.00001+(MAX_ND1-1)×r。

學習速率lr更新,

lr=LR2+(LR1-LR2)×r。

在細調整階段,

學習參數初始化,

最大學習循環次數 MAX_STEP2=2000,

學習速率初值 LR2=0.02,

最大鄰域距離 MAX_ND2=1。

細調階段

MAX_STEP1<step≤MAX_STEP1+MAX_STEP2,

學習速率lr慢慢從LR2減少,

鄰域距離nd設為1,

鄰域距離nd更新,

nd=MAX_ND2+0.00001。

學習速率lr更新,

lr=LR2×(MAX_STEP1/step)。

6.網路的回想——預測

SOM網路經學習後按照下式進行回想:

中國礦產資源評價新技術與評價新模型

Yj=0,j=1,2,…,M,(j≠g)。

將需要分類的輸入模式提供給網路的輸入層,按照上述方法尋找出競爭層中連接權矢量與輸入模式最接近的神經元,此時神經元有最大的激活值1,而其它神經元被抑制而取0值。這時神經元的狀態即表示對輸入模式的分類。

三、總體演算法

1.SOM權值學習總體演算法

(1)輸入參數X[N][P]。

(2)構造權值矩陣W[M][N]。

1)由X[N][P]求Xmid[N],

2)由Xmid[N]構造權值W[M][N]。

(3)構造競爭層。

1)求競爭層神經元數M,

2)求鄰域距離矩陣D[M][M],

3)求矩陣D[M][M]元素的最大值Dmax。

(4)學習參數初始化。

(5)學習權值W[M][N]。

1)學習參數學習速率lr,鄰域距離nd更新,分兩階段:

(i)粗調階段更新;

(ii)細調階段更新。

2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

(i)求X[N][p]與W[m][N]的歐氏距離dm;

(ii)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

3)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其在鄰域距離nd內的神經元的輸出Y[m][p]。

4)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其

在鄰域距離nd內的神經元的權值修正值ΔW[m][N],

從而得到輸入模式X[N][p]產生的權值修正值ΔW[M][N]。

5)權值修正W[M][N]=W[M][N]+ΔW[M][N]。

6)學習結束條件:

(i)學習循環到MAX_STEP次;

(ii)學習速率lr達到用戶指定的LR_MIN;

(iii)學習時間time達到用戶指定的TIME_LIM。

(6)輸出。

1)學習得到的權值矩陣W[M][N];

2)鄰域距離矩陣D[M][M]。

(7)結束。

2.SOM預測總體演算法

(1)輸入需分類數據X[N][P],鄰域距離矩陣D[M][M]。

(2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

1)求X[N][p]與W[m][N]的歐氏距離dm;

2)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

(3)求獲勝神經元win[p]在競爭層排列的行列位置。

(4)輸出與輸入數據適應的獲勝神經元win[p]在競爭層排列的行列位置,作為分類結果。

(5)結束。

四、總體演算法流程圖

Kohonen總體演算法流程圖見附圖4。

五、數據流圖

Kohonen數據流圖見附圖4。

六、無模式識別總體演算法

假定有N個樣品,每個樣品測量M個變數,則有原始數據矩陣:

X=(xij)N×M,i=1,2,…,N,j=1,2,…,M。

(1)原始數據預處理

X=(xij)N×M處理為Z=(zij)N×M

分3種處理方法:

1)襯度;

2)標准化;

3)歸一化。

程序默認用歸一化處理。

(2)構造Kohonen網

競爭層與輸入層之間的神經元的連接權值構成矩陣WQ×M

WQ×M初始化。

(3)進入Kohonen網學習分類循環,用epoch記錄循環次數,epoch=1。

(4)在每個epoch循環中,對每個樣品n(n=1,2,…,N)進行分類。從1個樣品n=1開始。

(5)首先計算輸入層的樣品n的輸入數據znm(m=1,2,…,M)與競爭層Q個神經元對應權值wqm的距離。

(6)尋找輸入層的樣品n與競爭層Q個神經元的最小距離,距離最小的神經元Win[n]為獲勝神經元,將樣品n歸入獲勝神經元Win[n]所代表的類型中,從而實現對樣品n的分類。

(7)對樣品集中的每一個樣品進行分類:

n=n+1。

(如果n≤N,轉到5。否則,轉到8。)

(8)求分類後各神經元所對應的樣品的變數的重心,用對應的樣品的變數的中位數作為重心,用對應的樣品的變數的重心來更新各神經元的連接權值。

(9)epoch=epoch+1;

一次學習分類循環結束。

(10)如果滿足下列兩個條件之一,分類循環結束,轉到11;

否則,分類循環繼續進行,轉到4。

1)全部樣品都固定在某個神經元上,不再改變了;

2)學習分類循環達到最大迭代次數。

(11)輸出:

1)N個樣品共分成多少類,每類多少樣品,記錄每類的樣品編號;

2)如果某類中樣品個數超過1個,則輸出某類的樣品原始數據的每個變數的均值、最小值、最大值和均方差;

3)如果某類中樣品個數為1個,則輸出某類的樣品原始數據的各變數值;

4)輸出原始數據每個變數(j=1,2,…,M)的均值,最小值,最大值和均方差。

(12)結束。

七、無模式識別總體演算法流程圖

Kohonen無模式總體演算法流程圖見附圖5。

❻ BP神經演算法是什麼能給點既通俗易懂又比較詳細的回答嗎

BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。

BP神經網路演算法是在BP神經網路現有演算法的基礎上提出的,是通過任意選定一組權值,將給定的目標輸出直接作為線性方程的代數和來建立線性方程組,解得待求權,不存在傳統方法的局部極小及收斂速度慢的問題,且更易理解。
1 傳統的BP演算法簡述
BP演算法是一種有監督式的學習演算法,其主要思想是:輸入學習樣本,使用反向傳播演算法對網路的權值和偏差進行反復的調整訓練,使輸出的向量與期望向量盡可能地接近,當網路輸出層的誤差平方和小於指定的誤差時訓練完成,保存網路的權值和偏差。具體步驟如下: (1)初始化,隨機給定各連接權[w],[v]及閥值θi,rt。 (2)由給定的輸入輸出模式對計算隱層、輸出層各單元輸出 bj=f(■wijai-θj) ct=f(■vjtbj-rt) 式中:bj為隱層第j個神經元實際輸出;ct為輸出層第t個神經元的實際輸出;wij為輸入層至隱層的連接權;vjt為隱層至輸出層的連接權。 dtk=(ytk-ct)ct(1-ct) ejk=[■dtvjt] bj(1-bj) 式中:dtk為輸出層的校正誤差;ejk為隱層的校正誤差。 (3)計算新的連接權及閥值,計算公式如下: vjt(n+1)=vjt(n)+?琢dtkbj wij(n+1)=wij(n)+?茁ejkaik rt(n+1)=rt(n)+?琢dtk θj(n+1)=θj(n)+?茁ejk 式中:?琢,?茁為學習系數(0<?琢<1,0<?茁<1)。 (4)選取下一個輸入模式對返回第2步反復訓練直到網路設輸出誤差達到要求結束訓練。 傳統的BP演算法,實質上是把一組樣本輸入/輸出問題轉化為一個非線性優化問題,並通過負梯度下降演算法,利用迭代運算求解權值問題的一種學習方法,但其收斂速度慢且容易陷入局部極小,為此提出了一種新的演算法,即高斯消元法。
2 改進的BP網路演算法
2.1 改進演算法概述 此前有人提出:任意選定一組自由權,通過對傳遞函數建立線性方程組,解得待求權。本文在此基礎上將給定的目標輸出直接作為線性方程等式代數和來建立線性方程組,不再通過對傳遞函數求逆來計算神經元的凈輸出,簡化了運算步驟。沒有採用誤差反饋原理,因此用此法訓練出來的神經網路結果與傳統演算法是等效的。其基本思想是:由所給的輸入、輸出模式對通過作用於神經網路來建立線性方程組,運用高斯消元法解線性方程組來求得未知權值,而未採用傳統BP網路的非線性函數誤差反饋尋優的思想。 2.2 改進演算法的具體步驟 對給定的樣本模式對,隨機選定一組自由權,作為輸出層和隱含層之間固定權值,通過傳遞函數計算隱層的實際輸出,再將輸出層與隱層間的權值作為待求量,直接將目標輸出作為等式的右邊建立方程組來求解。 現定義如下符號(見圖1):x (p)輸入層的輸入矢量;y (p)輸入層輸入為x (p)時輸出層的實際輸出矢量;t (p)目標輸出矢量;n,m,r分別為輸入層、隱層和輸出層神經元個數;W為隱層與輸入層間的權矩陣;V為輸出層與隱層間的權矩陣。具體步驟如下: (1)隨機給定隱層和輸入層間神經元的初始權值wij。 (2)由給定的樣本輸入xi(p)計算出隱層的實際輸出aj(p)。為方便起見將圖1網路中的閥值寫入連接權中去,令:隱層閥值θj=wnj,x(n)=-1,則: aj(p)=f(■wijxi(p)) (j=1,2…m-1)。 (3)計算輸出層與隱層間的權值vjr。以輸出層的第r個神經元為對象,由給定的輸出目標值tr(p)作為等式的多項式值建立方程,用線性方程組表示為: a0(1)v1r+a1(1)v2r+…+am(1)vmr=tr(1)a0(2)v1r+a1(2)v2r+…+am(2)vmr=tr(2) ……a0(p)v1r+a1(p)v2r+…+am(p)vmr=tr(p) 簡寫為: Av=T 為了使該方程組有唯一解,方程矩陣A為非奇異矩陣,其秩等於其增廣矩陣的秩,即:r(A)=r(A┊B),且方程的個數等於未知數的個數,故取m=p,此時方程組的唯一解為: Vr=[v0r,v2r,…vmr](r=0,1,2…m-1) (4)重復第三步就可以求出輸出層m個神經元的權值,以求的輸出層的權矩陣加上隨機固定的隱層與輸入層的權值就等於神經網路最後訓練的權矩陣。
3 計算機運算實例
現以神經網路最簡單的XOR問題用VC編程運算進行比較(取神經網路結構為2-4-1型),傳統演算法和改進BP演算法的誤差(取動量因子α=0.001 5,步長η=1.653)

❼ 極端氣溫、降雨-洪水模型(BP神經網路)的建立

極端氣溫、降雨與洪水之間有一定的聯系。根據1958~2007年廣西西江流域極端氣溫、極端降雨和梧州水文站洪水數據,以第5章相關分析所確定的顯著影響梧州水文站年最大流量的測站的相應極端氣候因素(表4.22)為輸入,建立人工神經網路模型。

4.5.1.1 BP神經網路概述

(1)基於BP演算法的多層前饋網路模型

採用BP演算法的多層前饋網路是至今為止應用最廣泛的神經網路,在多層的前饋網的應用中,如圖4.20所示的三層前饋網的應用最為普遍,其包括了輸入層、隱層和輸出層型凳。

圖4.20 典型的三層BP神經網路結構

在正向傳播中,輸入信息從輸入層經隱含層逐層處理,並傳向輸出層。如果輸出層不能得到期望的輸出結果,則轉入反向傳播,將誤差信號沿原來的連同通路返回,通過修改各層神經元的權值,使得誤差最小。BP演算法流程如圖4.21所示。

圖4.21 BP演算法流程圖

容易看出,BP學習演算法中,各層權值調整均由3個因素決定,即學習率、本層輸出的誤差信號以及本層輸入信號y(或x)。其中,輸出層誤差信號同網路的期望輸出與實際輸出之差有關,直接反映了輸出誤差,而各隱層的誤差信號與前面各層的誤差信號都有關,是從輸出層開始逐層反傳過來的。

1988年,Cybenko指出兩個隱含層就可表示輸入圖形的任意輸出函數。如果BP網路只有兩個隱層,且輸入層、第一隱含層、第二隱層和輸出層的單元個數分別為n,p,q,m,則該網路可表示為BP(n,p,q,m)。

(2)研究區極端氣溫、極端降雨影響年最大流量過程概化

極端氣溫、極端降雨影響年最大流量的過程極其復雜,從極端降雨到年最大流量,中間要經過蒸散發、分流、下滲等環節,受到地形、地貌、下墊面、土壤地質以及人類活動等多種因素的影響。可將一個極端氣候-年最大流量間復雜的水過程概化為小尺度的水系統,該水系統的主要影響因子可通過對年最大流量影響顯著的站點的極端氣溫和極端降雨體現出來,而其中影響不明顯的站點可忽略,從而使問題得以簡化。

BP神經網路是一個非線形系統,可用於逼近非線形映射關系,也可用於逼近一個極為復雜的函數關系。極端氣候-年最大流量水系統是一個非常復雜的映射關系,可將之概化為一個系統。BP神經網路與研究流域的極端氣候-年最大流量水系統的結構是相似的,利用BP神經網路,對之進行模擬逼近。

(3)隱含層單元數的確定

隱含層單元數q與所研究的具體問題有關,目前尚無統一的確定方法,通常根據網路訓練情況採用試錯法確定。在訓練中網路的收斂採用輸出值Ykp與實測值tp的誤差平方和進行控制

變環境條件下的水資源保護與可持續利用研究

作者認為,雖然現今的BP神經網路還是一個黑箱模型,其參數沒有水文物理意義,在本節的研究過程中,將嘗試著利用極端氣候空間分析的結果來指導隱含層神經元個數的選取。

(4)傳遞函數的選擇

BP神經網路模型演算法存在需要較長的訓練時間、完全不能訓練、易陷入局部極小值等缺點,可通過對模型附加動量項或設置自適應學習速率來改良。本節採用MATLAB工具箱中帶有自適應學習速率進行反向傳播訓練的traingdm()函數來實現。

(5)模型數據的歸一化處理

由於BP網路的輸入層物理量及數值相差甚遠,為了加快網路收斂的速度,使網路在訓練過卜圓旅程中易於收斂,對輸入數據進行歸一化處理,即將輸入的原始數據都化為0~1之間的數。本節將年極端最高氣溫的數據乘以0.01;將極端最低氣溫的數據乘以0.1;年最大1d、3d、7d降雨量的數據乘以0.001;梧州水文站年最大流量的數腔侍據乘以0.00001,其他輸入數據也按類似的方法進行歸一化處理。

(6)年最大流量的修正

梧州水文站以上的流域集水面積為32.70萬km2,廣西境內流域集水面積為20.24萬km2,廣西境內流域集水面積占梧州水文站以上的流域集水面積的61.91%。因此,選取2003~2007年梧州水文站年最大流量和紅水河的天峨水文站年最大流量,分別按式4.10計算每年的貢獻率(表4.25),取其平均值作為廣西西江流域極端降雨對梧州水文站年最大流量的平均貢獻率,最後確定平均貢獻率為76.88%。

變環境條件下的水資源保護與可持續利用研究

表4.25 2003~2007年極端降雨對梧州水文站年最大流量的貢獻率

建立「年極端氣溫、降雨與梧州年最大流量模型」時,應把平均貢獻率與梧州水文站年最大流量的乘積作為模型輸入的修正年最大流量,而預測的年最大流量應該為輸出的年最大流量除以平均貢獻率76.88%,以克服極端氣溫和降雨研究范圍與梧州水文站集水面積不一致的問題。

4.5.1.2年極端氣溫、年最大1d降雨與梧州年最大流量的BP神經網路模型

(1)模型的建立

以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大1d降雨量與梧州水文站年最大流量作為學習樣本擬合、建立「年極端氣溫、年最大1d降雨-梧州年最大流量BP神經網路模型」。以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數取2,建立(19,p,q,1)BP神經網路模型,其中神經元數目p,q經試算分別取16和3,第一隱層、第二隱層的神經元採用tansig傳遞函數,輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.0001,最大訓練次數取200000。BP網路模型參數見表4.26,結構如圖4.22所示。

圖4.22年極端氣溫、年最大1d降雨-梧州年最大流量BP模型結構圖

表4.26 BP網路模型參數一覽表

從結構上分析,梧州水文站年最大流量產生過程中,年最高氣溫、年最低氣溫和各支流相應的流量都有其閾值,而極端氣溫和極端降雨是其輸入,年最大流量是其輸出,這類似於人工神經元模型中的閾值、激活值、輸出等器件。輸入年最大1d降雨時選用的雨量站分布在14條支流上(表4.27),極端降雨發生後,流經14條支流匯入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,選用的雨量站分布在年最大1d降雨四個自然分區的Ⅱ、Ⅲ、Ⅳ3個區。該過程可與BP神經網路結構進行類比(表4.28),其中, 14條支流相當於第一隱含層中的14個神經元,年最高氣溫和年最低氣溫相當於第一隱含層中的2個神經元,年最大1d降雨所在的3個分區相當於第二隱含層的3個神經元,年最高氣溫、年最低氣溫的影響值和各支流流量的奉獻值相當於隱含層中人工神經元的閾值,從整體上來說,BP神經網路的結構已經灰箱化。

表4.27 選用雨量站所在支流一覽表

表4.28 BP神經網路構件物理意義一覽表

(2)訓練效果分析

訓練樣本為40個,經過113617次訓練,達到精度要求。在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.23所示,訓練結果見表4.29和圖4.24。

表4.29年最大流量訓練結果

圖4.23 神經網路訓練過程圖

圖4.24年最大流量神經網路模型訓練結果

從圖4.26可知,訓練後的BP網路能較好地逼近給定的目標函數。從訓練樣本檢驗結果(表4.5)可得:1958~1997年40年中年最大流量模擬值與實測值的相對誤差小於10%和20%的分別為39年,40年,合格率為100%。說明「年極端氣溫、年最大1d降雨- 梧州年最大流量預測模型」的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模擬結果較可靠。

(3)模型預測檢驗

把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量輸入到「年極端氣溫、年最大1d降雨梧州年最大流量BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測檢驗結果見圖4.25,表4.30。

圖4.25年最大流量神經網路模型預測檢驗結果

表4.30 神經網路模型預測結果與實際結果比較

從預測檢驗結果可知:1998~2007年10年中年最大流量模擬值與實測值的相對誤差小於20%的為9年,合格率為90%,效果較好。

4.5.1.3年極端氣溫、年最大7d降雨與梧州年最大流量的BP神經網路模型

(1)模型的建立

以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大7d降雨量和梧州水文站年最大流量作為學習樣本來擬合、建立「年極端氣溫、年最大7d降雨- 梧州年最大流量BP神經網路模型」。以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五將雨量站的年最大7d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數取2,建立(12,p,q,1)BP神經網路模型,其中,神經元數目p,q經試算分別取10和4,第一隱層、第二隱層的神經元採用tansig傳遞函數,輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.0001,最大訓練次數取200000。BP網路模型參數見表4.31,結構如圖4.26所示。

表4.31 BP網路模型參數一覽表

圖4.26年極端氣溫、年最大7d降雨-梧州年最大流量BP模型結構圖

本節輸入年最大7d降雨時選用的雨量站分布在8條支流上(表4.32),在發生極端降雨後,流經8條支流匯入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,且選用的雨量站分布在年最大7d降雨四個自然分區的Ⅰ、Ⅱ、Ⅲ、Ⅳ4個區中。該過程可與BP神經網路結構進行類比(表4.33),其中,8條支流相當於第一隱含層中的8個神經元,年最高氣溫和年最低氣溫相當於第一隱含層中的2個神經元,年最大7d降雨所在的4個分區相當於第二隱含層的4個神經元,整體上來說,BP神經網路的結構已經灰箱化。

表4.32 選用雨量站所在支流一覽表

表4.33 BP神經網路構件物理意義一覽表

(2)訓練效果分析

訓練樣本為40個,經過160876次的訓練,達到精度要求,在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.27所示,訓練結果見表4.34,圖4.28。

圖4.27 神經網路訓練過程圖

表4.34年最大流量訓練結果

圖4.28年最大流量神經網路模型訓練結果

從圖4.28可知,訓練後的BP網路能較好地逼近給定的目標函數。由訓練樣本檢驗結果(表4.34)可得:1958~1997年40年中年最大流量模擬值與實測值的相對誤差小於10%和20%的,分別為38年、40年,合格率為100%。說明「年極端氣溫、年最大7d降雨-梧州年最大流量BP神經網路模型」的泛化能力較好,模擬的結果較可靠。

(3)模型預測檢驗

把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五將雨量站的年最大7d降雨量輸入到「年極端氣溫、年最大7d降雨- 梧州年最大流量BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測結果見圖4.29和表4.35。

圖4.29年最大流量神經網路模型預測檢驗結果

表4.35 神經網路模型預測結果與實際結果比較

由預測檢驗結果可知:1998~2007年10年中年最大流量模擬值與實測值的相對誤差小於20%的為7年,合格率為70%,效果較好。

4.5.1.4 梧州年最大流量-年最高水位的BP神經網路模型

(1)模型的建立

以1941~1997年梧州水文站的年最大流量與年最高水位作為學習樣本來擬合、建立梧州水文站的「年最大流量-年最高水位BP神經網路模型」。以年最大流量為輸入,年最高水位為輸出,隱含層層數取1,建立(1,q,1)BP神經網路模型,其中,神經元數目q經試算取7,隱含層、輸出層的神經元採用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目標取0.00001,最大訓練次數取200000。BP網路模型參數見表4.36,結構如圖4.30所示。

表4.36 BP網路模型參數一覽表

圖4.30 梧州年最大流量—年最高水位BP模型結構圖

廣西西江流域主要河流有南盤江、紅水河、黔潯江、鬱江、柳江、桂江、賀江。7條主要河流相當於隱含層中的7個神經元(表4.37),整體上來說,BP神經網路的結構已經灰箱化。

表4.37 BP神經網路構件物理意義一覽表

(2)訓練效果分析

訓練樣本為57個,經過3327次訓練,誤差下降梯度已達到最小值,但誤差為3.00605×10-5,未達到精度要求。在命令窗口執行運行命令,網路開始學習和訓練,其訓練過程如圖4.31所示,訓練結果見圖4.32和表4.38。

表4.38年最高水位訓練結果

從圖4.32和表4.19可看出,訓練後的BP網路能較好地逼近給定的目標函數。對於訓練樣本,從檢驗結果可知:1941~1997年57年中年最高水位模擬值與實測值的相對誤差小於10%和20%的分別為56a,57a,合格率為100%。說明「年最大流量-年最高水位BP神經網路模型」的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模擬的結果比較可靠。

圖4.31 神經網路訓練過程圖

圖4.32年最高水位神經網路模型訓練結果

(3)模型預測檢驗

把1998~2007年梧州水文站年最大流量輸入到「年最大流量-年最高水位BP神經網路模型」。程序運行後網路輸出預測值與已知的實際值進行比較,其預測結果見圖4.33,表4.39。

表4.39 神經網路模型預測結果與實際結果比較

從預測檢驗結果可知:1998~2007年10年中,年最高水位模擬值與實測值的相對誤差小於20%的為10年,合格率為100%,效果較好。

圖4.33年最高水位量神經網路模型預測檢驗結果

❽ 神經網路(Neural Network)

(1)結構:許多樹突(dendrite)用於輸入,一個軸突 (axon)用於輸出。

(2)特性:興奮性和傳導性。興奮性是指當信號量超過某個閾值時,細胞體就會被激活,產生電脈沖。傳導性是指電脈沖沿著軸突並通過突觸傳遞到其它神經元。

(3)有兩種狀態的機器:激活時為「是」,不激活時為「否」。神經細胞的狀態取決於從其他神經細胞接收到的信號量,以及突觸的性質(抑制或加強)。

(1)神經元——不重要

① 神經元是包含權重和偏置項的 函數 :接收數據後,執行一些計算,然後使用激活函數將數據限制在一個范圍內(多數情況下)。

② 單個神經元:線性可分的情況下,本質是一條直線, ,這條直線將數據劃分為兩類。而線性分類器本身就是一個單層神經網路。

③ 神經網路:非線性可分的情況下,神經網路通過多個隱層的方法來實現非線性的函數。

(2)權重/參數/連接(Weight)——最重要

每一個連接上都有一個權重。一個神經網路的訓練演算法就是讓權重的值調整到最佳,以使得整個網路的預測效果最好。

(3)偏置項(Bias Units)——必須

① 如果沒有偏置項,所有的函數都會經過原點。

② 正則化偏置會導致欠擬合:若對偏置正則化,會爛猛導致激活變得更加簡單,偏差就會上升,學習的能力就會下降。

③ 偏置的大小度量了神經元產生激勵(激活)的難易程度。

(1)定義:也稱為轉換函數,是一種將輸入 (input) 轉成輸出 (output) 的函數。

(2)作用:一般直線擬合的精確度要比曲線差很多,引入激活嫌虧函數能給神經網路 增加一些非線性 的特性。

(3)性質:

① 非線性:導數不是常數,否則就退化成直線。對於一些畫一條直線仍然無法分開的問題,非線性可以把直線變彎,就能包羅萬象;

② 可微性:當優化方法是基於梯度的時候,處處可導為後向傳播演算法提供了核心芹歷神條件;

③ 輸出范圍:一般限定在[0,1],使得神經元對一些比較大的輸入會比較穩定;

④ 非飽和性:飽和就是指,當輸入比較大的時候輸出幾乎沒變化,會導致梯度消失;

⑤ 單調性:導數符號不變,輸出不會上躥下跳,讓神經網路訓練容易收斂。

(1)線性函數 (linear function)—— purelin()

(2)符號函數 (sign function)—— hardlim() 

① 如果z值高於閾值,則激活設置為1或yes,神經元將被激活。

② 如果z值低於閾值,則激活設置為0或no,神經元不會被激活。

(3)對率函數 (sigmoid function)—— logsig()

① 優點:光滑S型曲線連續可導,函數閾值有上限。

② 缺點:❶ 函數飽和使梯度消失,兩端梯度幾乎為0,更新困難,做不深;

                ❷ 輸出不是0中心,將影響梯度下降的運作,收斂異常慢;

                ❸ 冪運算相對來講比較耗時

(4)雙曲正切函數(hyperbolic tangent function)—— tansig()

① 優點:取值范圍0中心化,防止了梯度偏差

② 缺點:梯度消失現象依然存在,但相對於sigmoid函數問題較輕

(5)整流線性單元 ReLU 函數(rectified linear unit)

① 優點:❶ 分段線性函數,它的非線性性很弱,因此網路做得很深;

                ❷ 由於它的線性、非飽和性, 對於隨機梯度下降的收斂有巨大的加速作用;

② 缺點:❶ 當x<0,梯度都變成0,參數無法更新,也導致了數據多樣化的丟失;

                ❷ 輸出不是0中心

(6)滲漏型整流線性單元激活函數 Leaky ReLU 函數

① 優點:❶ 是為解決「ReLU死亡」問題的嘗試,在計算導數時允許較小的梯度;

                ❷ 非飽和的公式,不包含指數運算,計算速度快。

② 缺點:❶ 無法避免梯度爆炸問題; (沒有體現優於ReLU)

                ❷ 神經網路不學習 α 值。

(7)指數線性單元 ELU (Exponential Linear Units)

① 優點:❶ 能避免「死亡 ReLU」 問題;

                ❷ 能得到負值輸出,這能幫助網路向正確的方向推動權重和偏置變化;

                ❸ 在計算梯度時能得到激活,而不是讓它們等於 0。

② 缺點:❶ 由於包含指數運算,所以計算時間更長;

                ❷ 無法避免梯度爆炸問題; (沒有體現優於ReLU)

                ❸ 神經網路不學習 α 值。

(8)Maxout(對 ReLU 和 Leaky ReLU的一般化歸納)

① 優點:❶ 擁有ReLU的所有優點(線性和不飽和)

                ❷ 沒有ReLU的缺點(死亡的ReLU單元)

                ❸ 可以擬合任意凸函數

② 缺點 :參數數量增加了一倍。難訓練,容易過擬合

(9)Swish

① 優點:❶ 在負半軸也有一定的不飽和區,參數的利用率更大

                ❷ 無上界有下界、平滑、非單調

                ❸ 在深層模型上的效果優於 ReLU

每個層都包含一定數量的單元(units)。增加層可增加神經網路輸出的非線性。

(1)輸入層:就是接收原始數據,然後往隱層送

(2)輸出層:神經網路的決策輸出

(3)隱藏層:神經網路的關鍵。把前一層的向量變成新的向量,讓數據變得線性可分。

(1)結構:僅包含輸入層和輸出層,直接相連。

(2)作用:僅能表示 線性可分 函數或決策,且一定可以在有限的迭代次數中收斂。

(3)局限:可以建立與門、或門、非門等,但無法建立更為復雜的異或門(XOR),即兩個輸入相同時輸出1,否則輸出0。 (「AI winter」)

(1)目的:擬合某個函數      (兩層神經網路可以逼近任意連續函數)

(2)結構:包含輸入層、隱藏層和輸出層 ,由於從輸入到輸出的過程中不存在與模型自身的反饋連接,因此被稱為「前饋」。    (層與層之間全連接)

(3)作用: 非線性 分類、聚類、預測等,通過訓練,可以學習到數據中隱含的知識。

(4)局限:計算復雜、計算速度慢、容易陷入局部最優解,通常要將它們與其他網路結合形成新的網路。

(5)前向傳播演算法(Forward Propagation)

① 方法:從左至右逐級依賴的演算法模型,即網路如何根據輸入X得到輸出Y,最終的輸出值和樣本值作比較, 計算出誤差 。

② 目的:完成了一次正反向傳播,就完成了一次神經網路的訓練迭代。通過輸出層的誤差,快速求解對每個ω、b的偏導,利用梯度下降法,使Loss越來越小。

② 局限:為使最終的誤差達到最小,要不斷修改參數值,但神經網路的每條連接線上都有不同權重參數,修改這些參數變得棘手。

(6)誤差反向傳播(Back Propagation)

① 原理:梯度下降法求局部極值

② 方法:從後往前,從輸出層開始計算 L 對當前層的微分,獲得各層的誤差信號,此誤差信號即作為修正單元權值的依據。計算結束以後,所要的兩個參數矩陣的 梯度 就都有了。

③ 局限:如果激活函數是飽和的,帶來的缺陷就是系統迭代更新變慢,系統收斂就慢,當然這是可以有辦法彌補的,一種方法是使用 交叉熵函數 作為損失函數。

(1)原理:隨著網路的層數增加,每一層對於前一層次的抽象表示更深入。在神經網路中,每一層神經元學習到的是前一層神經元值的更抽象的表示。通過抽取更抽象的特徵來對事物進行區分,從而獲得更好的區分與分類能力。

(2)方法:ReLU函數在訓練多層神經網路時,更容易收斂,並且預測性能更好。

(3)優點:① 易於構建,表達能力強,基本單元便可擴展為復雜的非線性函數

                      ② 並行性號,有利於在分布是系統上應用

(4)局限:① 優化演算法只能獲得局部極值,性能與初始值相關

                      ② 調參理論性缺乏

                      ③ 不可解釋,與實際任務關聯性模糊

(1)原理:由手工設計卷積核變成自動學習卷積核

(2)卷積(Convolutional layer): 輸入與卷積核相乘再累加 (內積、加權疊加)

① 公式:

② 目的:提取輸入的不同特徵,得到維度很大的 特徵圖(feature map)

③ 卷積核:需要訓練的參數。一般為奇數維,有中心像素點,便於定位卷積核

④ 特點:局部感知、參數變少、權重共享、分層提取

(3)池化(Pooling Layer):用更高層的抽象表達來表示主要特徵,又稱「降采樣」

① 分類: 最大 (出現與否)、平均(保留整體)、隨機(避免過擬合)

② 目的:降維,不需要訓練參數,得到新的、維度較小的特徵

(4)步長(stride):若假設輸入大小是n∗n,卷積核的大小是f∗f,步長是s,則最後的feature map的大小為o∗o,其中

(5)填充(zero-padding)

① Full模式:即從卷積核(fileter)和輸入剛相交開始做卷積,沒有元素的部分做補0操作。

② Valid模式:卷積核和輸入完全相交開始做卷積,這種模式不需要補0。

③ Same模式:當卷積核的中心C和輸入開始相交時做卷積。沒有元素的部分做補0操作。

(7)激活函數:加入非線性特徵

(8)全連接層(Fully-connected layer)

如果說卷積層、池化層和激活函數層等是將原始數據映射到隱層特徵空間(決定計算速度),全連接層則起到將學到的「分布式特徵表示」映射到樣本標記空間的作用(決定參數個數)。

參考:

[1]  神經網路(入門最詳細)_ruthy的博客-CSDN博客_神經網路演算法入門

[2]  神經網路(容易被忽視的基礎知識) - Evan的文章 - 知乎

[3]  人工神經網路——王的機器

[4]  如何簡單形象又有趣地講解神經網路是什麼? - 舒小曼的回答 - 知乎

[5]  神經網路15分鍾入門!足夠通俗易懂了吧 - Mr.括弧的文章 - 知乎

[6]  神經網路——最易懂最清晰的一篇文章_illikang的博客-CSDN博客_神經網路

[7]  直覺化深度學習教程——什麼是前向傳播——CSDN

[8]  「反向傳播演算法」過程及公式推導(超直觀好懂的Backpropagation)_aift的專欄-CSDN

[9]  卷積、反卷積、池化、反池化——CSDN

[10]  浙大機器學習課程- bilibili.com

❾ 神經網路BP模型

一、BP模型概述

誤差逆傳播(Error Back-Propagation)神經網路模型簡稱為BP(Back-Propagation)網路模型。

Pall Werbas博士於1974年在他的博士論文中提出了誤差逆傳播學習演算法。完整提出並被廣泛接受誤差逆傳播學習演算法的是以Rumelhart和McCelland為首的科學家小組。他們在1986年出版「Parallel Distributed Processing,Explorations in the Microstructure of Cognition」(《並行分布信息處理》)一書中,對誤差逆傳播學習演算法進行了詳盡的分析與介紹,並對這一演算法的潛在能力進行了深入探討。

BP網路是一種具有3層或3層以上的階層型神經網路。上、下層之間各神經元實現全連接,即下層的每一個神經元與上層的每一個神經元都實現權連接,而每一層各神經元之間無連接。網路按有教師示教的方式進行學習,當一對學習模式提供給網路後,神經元的激活值從輸入層經各隱含層向輸出層傳播,在輸出層的各神經元獲得網路的輸入響應。在這之後,按減小期望輸出與實際輸出的誤差的方向,從輸入層經各隱含層逐層修正各連接權,最後回到輸入層,故得名「誤差逆傳播學習演算法」。隨著這種誤差逆傳播修正的不斷進行,網路對輸入模式響應的正確率也不斷提高。

BP網路主要應用於以下幾個方面:

1)函數逼近:用輸入模式與相應的期望輸出模式學習一個網路逼近一個函數;

2)模式識別:用一個特定的期望輸出模式將它與輸入模式聯系起來;

3)分類:把輸入模式以所定義的合適方式進行分類;

4)數據壓縮:減少輸出矢量的維數以便於傳輸或存儲。

在人工神經網路的實際應用中,80%~90%的人工神經網路模型採用BP網路或它的變化形式,它也是前向網路的核心部分,體現了人工神經網路最精華的部分。

二、BP模型原理

下面以三層BP網路為例,說明學習和應用的原理。

1.數據定義

P對學習模式(xp,dp),p=1,2,…,P;

輸入模式矩陣X[N][P]=(x1,x2,…,xP);

目標模式矩陣d[M][P]=(d1,d2,…,dP)。

三層BP網路結構

輸入層神經元節點數S0=N,i=1,2,…,S0;

隱含層神經元節點數S1,j=1,2,…,S1;

神經元激活函數f1[S1];

權值矩陣W1[S1][S0];

偏差向量b1[S1]。

輸出層神經元節點數S2=M,k=1,2,…,S2;

神經元激活函數f2[S2];

權值矩陣W2[S2][S1];

偏差向量b2[S2]。

學習參數

目標誤差ϵ;

初始權更新值Δ0

最大權更新值Δmax

權更新值增大倍數η+

權更新值減小倍數η-

2.誤差函數定義

對第p個輸入模式的誤差的計算公式為

中國礦產資源評價新技術與評價新模型

y2kp為BP網的計算輸出。

3.BP網路學習公式推導

BP網路學習公式推導的指導思想是,對網路的權值W、偏差b修正,使誤差函數沿負梯度方向下降,直到網路輸出誤差精度達到目標精度要求,學習結束。

各層輸出計算公式

輸入層

y0i=xi,i=1,2,…,S0;

隱含層

中國礦產資源評價新技術與評價新模型

y1j=f1(z1j),

j=1,2,…,S1;

輸出層

中國礦產資源評價新技術與評價新模型

y2k=f2(z2k),

k=1,2,…,S2。

輸出節點的誤差公式

中國礦產資源評價新技術與評價新模型

對輸出層節點的梯度公式推導

中國礦產資源評價新技術與評價新模型

E是多個y2m的函數,但只有一個y2k與wkj有關,各y2m間相互獨立。

其中

中國礦產資源評價新技術與評價新模型

中國礦產資源評價新技術與評價新模型

設輸出層節點誤差為

δ2k=(dk-y2k)·f2′(z2k),

中國礦產資源評價新技術與評價新模型

同理可得

中國礦產資源評價新技術與評價新模型

對隱含層節點的梯度公式推導

中國礦產資源評價新技術與評價新模型

E是多個y2k的函數,針對某一個w1ji,對應一個y1j,它與所有的y2k有關。因此,上式只存在對k的求和,其中

中國礦產資源評價新技術與評價新模型

中國礦產資源評價新技術與評價新模型

設隱含層節點誤差為

中國礦產資源評價新技術與評價新模型

中國礦產資源評價新技術與評價新模型

同理可得

中國礦產資源評價新技術與評價新模型

4.採用彈性BP演算法(RPROP)計算權值W、偏差b的修正值ΔW,Δb

1993年德國 Martin Riedmiller和Heinrich Braun 在他們的論文「A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm」中,提出Resilient Backpropagation演算法——彈性BP演算法(RPROP)。這種方法試圖消除梯度的大小對權步的有害影響,因此,只有梯度的符號被認為表示權更新的方向。

權改變的大小僅僅由權專門的「更新值」

確定

中國礦產資源評價新技術與評價新模型

其中

表示在模式集的所有模式(批學習)上求和的梯度信息,(t)表示t時刻或第t次學習。

權更新遵循規則:如果導數是正(增加誤差),這個權由它的更新值減少。如果導數是負,更新值增加。

中國礦產資源評價新技術與評價新模型

RPROP演算法是根據局部梯度信息實現權步的直接修改。對於每個權,我們引入它的

各自的更新值

,它獨自確定權更新值的大小。這是基於符號相關的自適應過程,它基

於在誤差函數E上的局部梯度信息,按照以下的學習規則更新

中國礦產資源評價新技術與評價新模型

其中0<η-<1<η+

在每個時刻,如果目標函數的梯度改變它的符號,它表示最後的更新太大,更新值

應由權更新值減小倍數因子η-得到減少;如果目標函數的梯度保持它的符號,更新值應由權更新值增大倍數因子η+得到增大。

為了減少自由地可調參數的數目,增大倍數因子η+和減小倍數因子η被設置到固定值

η+=1.2,

η-=0.5,

這兩個值在大量的實踐中得到了很好的效果。

RPROP演算法採用了兩個參數:初始權更新值Δ0和最大權更新值Δmax

當學習開始時,所有的更新值被設置為初始值Δ0,因為它直接確定了前面權步的大小,它應該按照權自身的初值進行選擇,例如,Δ0=0.1(默認設置)。

為了使權不至於變得太大,設置最大權更新值限制Δmax,默認上界設置為

Δmax=50.0。

在很多實驗中,發現通過設置最大權更新值Δmax到相當小的值,例如

Δmax=1.0。

我們可能達到誤差減小的平滑性能。

5.計算修正權值W、偏差b

第t次學習,權值W、偏差b的的修正公式

W(t)=W(t-1)+ΔW(t)

b(t)=b(t-1)+Δb(t)

其中,t為學習次數。

6.BP網路學習成功結束條件每次學習累積誤差平方和

中國礦產資源評價新技術與評價新模型

每次學習平均誤差

中國礦產資源評價新技術與評價新模型

當平均誤差MSE<ε,BP網路學習成功結束。

7.BP網路應用預測

在應用BP網路時,提供網路輸入給輸入層,應用給定的BP網路及BP網路學習得到的權值W、偏差b,網路輸入經過從輸入層經各隱含層向輸出層的「順傳播」過程,計算出BP網的預測輸出。

8.神經元激活函數f

線性函數

f(x)=x,

f′(x)=1,

f(x)的輸入范圍(-∞,+∞),輸出范圍(-∞,+∞)。

一般用於輸出層,可使網路輸出任何值。

S型函數S(x)

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍(0,1)。

f′(x)=f(x)[1-f(x)],

f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,

]。

一般用於隱含層,可使范圍(-∞,+∞)的輸入,變成(0,1)的網路輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。

在用於模式識別時,可用於輸出層,產生逼近於0或1的二值輸出。

雙曲正切S型函數

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍(-1,1)。

f′(x)=1-f(x)·f(x),

f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,1]。

一般用於隱含層,可使范圍(-∞,+∞)的輸入,變成(-1,1)的網路輸出,對較大的輸入,放大系數較小;而對較小的輸入,放大系數較大,所以可用來處理和逼近非線性的輸入/輸出關系。

階梯函數

類型1

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。

f′(x)=0。

類型2

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍{-1,1}。

f′(x)=0。

斜坡函數

類型1

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍[0,1]。

中國礦產資源評價新技術與評價新模型

f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。

類型2

中國礦產資源評價新技術與評價新模型

f(x)的輸入范圍(-∞,+∞),輸出范圍[-1,1]。

中國礦產資源評價新技術與評價新模型

f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。

三、總體演算法

1.三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b初始化總體演算法

(1)輸入參數X[N][P],S0,S1,f1[S1],S2,f2[S2];

(2)計算輸入模式X[N][P]各個變數的最大值,最小值矩陣 Xmax[N],Xmin[N];

(3)隱含層的權值W1,偏差b1初始化。

情形1:隱含層激活函數f( )都是雙曲正切S型函數

1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];

2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];

3)計算W,b的幅度因子Wmag

4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];

5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];

6)計算W[S1][S0],b[S1];

7)計算隱含層的初始化權值W1[S1][S0];

8)計算隱含層的初始化偏差b1[S1];

9))輸出W1[S1][S0],b1[S1]。

情形2:隱含層激活函數f( )都是S型函數

1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];

2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];

3)計算W,b的幅度因子Wmag;

4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];

5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];

6)計算W[S1][S0],b[S1];

7)計算隱含層的初始化權值W1[S1][S0];

8)計算隱含層的初始化偏差b1[S1];

9)輸出W1[S1][S0],b1[S1]。

情形3:隱含層激活函數f( )為其他函數的情形

1)計算輸入模式X[N][P]的每個變數的范圍向量Xrng[N];

2)計算輸入模式X的每個變數的范圍均值向量Xmid[N];

3)計算W,b的幅度因子Wmag

4)產生[-1,1]之間均勻分布的S0×1維隨機數矩陣Rand[S1];

5)產生均值為0,方差為1的正態分布的S1×S0維隨機數矩陣Randnr[S1][S0],隨機數范圍大致在[-1,1];

6)計算W[S1][S0],b[S1];

7)計算隱含層的初始化權值W1[S1][S0];

8)計算隱含層的初始化偏差b1[S1];

9)輸出W1[S1][S0],b1[S1]。

(4)輸出層的權值W2,偏差b2初始化

1)產生[-1,1]之間均勻分布的S2×S1維隨機數矩陣W2[S2][S1];

2)產生[-1,1]之間均勻分布的S2×1維隨機數矩陣b2[S2];

3)輸出W2[S2][S1],b2[S2]。

2.應用彈性BP演算法(RPROP)學習三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b總體演算法

函數:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)

(1)輸入參數

P對模式(xp,dp),p=1,2,…,P;

三層BP網路結構;

學習參數。

(2)學習初始化

1)

2)各層W,b的梯度值

初始化為零矩陣。

(3)由輸入模式X求第一次學習各層輸出y0,y1,y2及第一次學習平均誤差MSE

(4)進入學習循環

epoch=1

(5)判斷每次學習誤差是否達到目標誤差要求

如果MSE<ϵ,

則,跳出epoch循環,

轉到(12)。

(6)保存第epoch-1次學習產生的各層W,b的梯度值

(7)求第epoch次學習各層W,b的梯度值

1)求各層誤差反向傳播值δ;

2)求第p次各層W,b的梯度值

3)求p=1,2,…,P次模式產生的W,b的梯度值

的累加。

(8)如果epoch=1,則將第epoch-1次學習的各層W,b的梯度值

設為第epoch次學習產生的各層W,b的梯度值

(9)求各層W,b的更新

1)求權更新值Δij更新;

2)求W,b的權更新值

3)求第epoch次學習修正後的各層W,b。

(10)用修正後各層W、b,由X求第epoch次學習各層輸出y0,y1,y2及第epoch次學習誤差MSE

(11)epoch=epoch+1,

如果epoch≤MAX_EPOCH,轉到(5);

否則,轉到(12)。

(12)輸出處理

1)如果MSE<ε,

則學習達到目標誤差要求,輸出W1,b1,W2,b2

2)如果MSE≥ε,

則學習沒有達到目標誤差要求,再次學習。

(13)結束

3.三層BP網路(含輸入層,隱含層,輸出層)預測總體演算法

首先應用Train3lBP_RPROP( )學習三層BP網路(含輸入層,隱含層,輸出層)權值W、偏差b,然後應用三層BP網路(含輸入層,隱含層,輸出層)預測。

函數:Simu3lBP( )。

1)輸入參數:

P個需預測的輸入數據向量xp,p=1,2,…,P;

三層BP網路結構;

學習得到的各層權值W、偏差b。

2)計算P個需預測的輸入數據向量xp(p=1,2,…,P)的網路輸出 y2[S2][P],輸出預測結果y2[S2][P]。

四、總體演算法流程圖

BP網路總體演算法流程圖見附圖2。

五、數據流圖

BP網數據流圖見附圖1。

六、實例

實例一 全國銅礦化探異常數據BP 模型分類

1.全國銅礦化探異常數據准備

在全國銅礦化探數據上用穩健統計學方法選取銅異常下限值33.1,生成全國銅礦化探異常數據。

2.模型數據准備

根據全國銅礦化探異常數據,選取7類33個礦點的化探數據作為模型數據。這7類分別是岩漿岩型銅礦、斑岩型銅礦、矽卡岩型、海相火山型銅礦、陸相火山型銅礦、受變質型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。

3.測試數據准備

全國化探數據作為測試數據集。

4.BP網路結構

隱層數2,輸入層到輸出層向量維數分別為14,9、5、1。學習率設置為0.9,系統誤差1e-5。沒有動量項。

表8-1 模型數據表

續表

5.計算結果圖

如圖8-2、圖8-3。

圖8-2

圖8-3 全國銅礦礦床類型BP模型分類示意圖

實例二 全國金礦礦石量品位數據BP 模型分類

1.模型數據准備

根據全國金礦儲量品位數據,選取4類34個礦床數據作為模型數據,這4類分別是綠岩型金礦、與中酸性浸入岩有關的熱液型金礦、微細浸染型型金礦、火山熱液型金礦(表8-2)。

2.測試數據准備

模型樣本點和部分金礦點金屬量、礦石量、品位數據作為測試數據集。

3.BP網路結構

輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學習率設置為0.8,系統誤差1e-4,迭代次數5000。

表8-2 模型數據

4.計算結果

結果見表8-3、8-4。

表8-3 訓練學習結果

表8-4 預測結果(部分)

續表

❿ 神經網路的具體演算法

神經網路和粗集理論是智能信息處理的兩種重要的方法,其任務是從大量觀察和實驗數據中獲取知識、表達知識和推理決策規則。粗集理論是基於不可分辯性思想和知識簡化方法,從數據中推理邏輯規則,適合於數據簡化、數據相關性查找、發現數據模式、從數據中提取規則等。神經網路是利用非線性映射的思想和並行處理方法,用神經網路本身的結構表達輸入與輸出關聯知識的隱函數編碼,具有較強的並行處理、逼近和分類能力。在處理不準確、不完整的知識方面,粗集理論和神經網路都顯示出較強的適應能力,然而兩者處理信息的方法是不同的,粗集方法模擬人類的抽象邏輯思維,神經網路方法模擬形象直覺思維,具有很強的互補性。
首先,通過粗集理論方法減少信息表達的屬性數量,去掉冗餘信息,使訓練集簡化,減少神經網路系統的復雜性和訓練時間;其次利用神經網路優良的並行處理、逼近和分類能力來處理風險預警這類非線性問題,具有較強的容錯能力;再次,粗集理論在簡化知識的同時,很容易推理出決策規則,因而可以作為後續使用中的信息識別規則,將粗集得到的結果與神經網路得到的結果相比較,以便相互驗證;最後,粗集理論的方法和結果簡單易懂,而且以規則的形式給出,通過與神經網路結合,使神經網路也具有一定的解釋能力。因此,粗集理論與神經網路融合方法具有許多優點,非常適合處理諸如企業戰略風險預警這類非結構化、非線性的復雜問題。

關於輸入的問題--輸入模塊。
這一階段包括初始指標體系確定,根據所確定的指標體系而形成的數據採集系統及數據預處理。企業戰略風險的初始評價指標如下:
企業外部因素:政治環境(法律法規及其穩定性),經濟環境(社會總體收入水平,物價水平,經濟增長率),產業結構(進入產業障礙,競爭對手數量及集中程度),市場環境(市場大小)。
企業內部因素:企業盈利能力(銷售利潤率,企業利潤增長率),產品競爭能力(產品銷售率,市場佔有率),技術開發能力(技術開發費比率,企業專業技術人才比重),資金籌措能力(融資率),企業職工凝聚力(企業員工流動率),管理人才資源,信息資源;戰略本身的風險因素(戰略目標,戰略重點,戰略措施,戰略方針)。
本文所建立的預警指標系統是針對普遍意義上的企業,當該指標系統運用於實際企業時,需要對具體指標進行適當的增加或減少。因為各個企業有其具體的戰略目標、經營活動等特性。
計算處理模塊。這一模塊主要包括粗集處理部分和神經網路處理部分。
粗集處理階段。根據粗集的簡化規則及決策規則對數據進行約簡,構造神經網路的初始結構,便於神經網路的訓練。
企業戰略風險分析需要解決的問題是在保證對戰略風險狀態評價一致的情況下,選擇最少的特徵集,以便減少屬性維數、降低計算工作量和減少不確定因素的影響,粗集理論中的屬性約簡演算法可以很好地解決這個問題。

然後是輸出模塊~
該模塊是對將發生的戰略風險問題發出警報。
按照戰略風險大小強弱程度的不同,可將其分為三個層次。第一層次是輕微戰略風險,是損失較小、後果不甚明顯,對企業的戰略管理活動不構成重要影響的各類風險。這類風險一般情況下無礙大局,僅對企業形成局部和微小的傷害。第二層次是一般戰略風險,是損失適中、後果明顯但不構成致命性威脅的各類風險。這類風險的直接後果使企業遭受一定損失,並對其戰略管理的某些方面帶來較大的不利影響或留有一定後遺症。第三層次是致命性戰略風險,指損失較大,後果嚴重的風險。這類風險的直接後果往往會威脅企業的生存,導致重大損失,使之一時不能恢復或遭受破產。在實際操作中,每個企業應根據具體的狀況,將這三個層次以具體的數值表現出來。

下面回答你的問題:

總的來說,神經網路輸入的是初始指標體系;輸出的是風險。

你所說的風險應該說屬於輸出范疇,具體等級分為三級:無警、輕警、重警,並用綠、黃、紅三種顏色燈號表示。其中綠燈區表示企業綜合指標所反映的實際運行值與目標值基本一致,運行良好;黃燈區表示企業綜合指標所反映的實際運行值與目標值偏離較大,要引起企業的警惕。若採取一定的措施可轉為綠燈區,若不重視可在短期內轉為紅燈區;紅燈區則表示這種偏離超過企業接受的可能,並給企業帶來整體性的重大損失。例如:銷售利潤率極低、資產負債率過高,資源配置不合理、缺乏發展後勁等,必須找出原因,繼而採取有效措施,使企業的戰略管理活動始終處於「安全」的狀態。

希望以上答案能夠幫到你,祝你好運~

閱讀全文

與神經網路的演算法流程圖相關的資料

熱點內容
搜索pdf內容 瀏覽:497
程序員裝機必備的軟體 瀏覽:9
php微信第三方登錄demo 瀏覽:536
上海php工具開發源碼交付 瀏覽:790
哪裡有求購黃頁的源碼 瀏覽:194
商城礦機源碼礦場系統 瀏覽:196
單片機的led燈熄滅程序 瀏覽:224
洛陽python培訓 瀏覽:702
小鍵盤命令 瀏覽:194
單片機c語言返回主程序 瀏覽:816
dockerpythonweb 瀏覽:970
程序員演算法有多強 瀏覽:717
pythonworkbook模塊 瀏覽:245
什麼app能查醫生 瀏覽:175
輕量級的編程語言 瀏覽:338
程序員那麼可愛生孩子 瀏覽:432
後綴him3加密文件是什麼軟體 瀏覽:986
堅果隱藏app為什麼要140版本才能用 瀏覽:315
淘寶dns伺服器地址 瀏覽:259
領英轉型app哪個好用 瀏覽:943