2021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈_第1頁
2021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈_第2頁
2021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈_第3頁
2021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈_第4頁
2021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈_第5頁
已閱讀5頁,還剩80頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈BPneuralnetworkmachinelearningMarkovchain8/23/202412021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈引言利用機器模仿人類的智能是長期以來人們認識自然、改造自然和認識自身的理想。研究ANN目的:(1)探索和模擬人的感覺、思維和行為的規律,設計具有人類智能的計算機系統。(2)探討人腦的智能活動,用物化了的智能來考察和研究人腦智能的物質過程及其規律。8/23/202422021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈ANN的研究內容(1)理論研究:ANN模型及其學習算法,試圖從數學上描述ANN的動力學過程,建立相應的ANN模型,在該模型的基礎上,對于給定的學習樣本,找出一種能以較快的速度和較高的精度調整神經元間互連權值,使系統達到穩定狀態,滿足學習要求的算法。(2)實現技術的研究:探討利用電子、光學、生物等技術實現神經計算機的途徑。(3)應用的研究:探討如何應用ANN解決實際問題,如模式識別、故障檢測、智能機器人等。8/23/202432021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈研究ANN方法(1)生理結構的模擬:用仿生學觀點,探索人腦的生理結構,把對人腦的微觀結構及其智能行為的研究結合起來即人工神經網絡(ArtificialNeuralNetwroks,簡稱ANN)方法。(2)宏觀功能的模擬:從人的思維活動和智能行為的心理學特性出發,利用計算機系統來對人腦智能進行宏觀功能的模擬,即符號處理方法。8/23/202442021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈ANN研究的目的和意義(1)通過揭示物理平面與認知平面之間的映射,了解它們相互聯系和相互作用的機理,從而揭示思維的本質,探索智能的本源。(2)爭取構造出盡可能與人腦具有相似功能的計算機,即ANN計算機。(3)研究仿照腦神經系統的人工神經網絡,將在模式識別、組合優化和決策判斷等方面取得傳統計算機所難以達到的效果。

8/23/202452021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經網絡研究的發展(1)第一次熱潮(40-60年代未)1943年,美國心理學家W.McCulloch和數學家W.Pitts在提出了一個簡單的神經元模型,即MP模型。1958年,F.Rosenblatt等研制出了感知機(Perceptron)。(2)低潮(70-80年代初):(3)第二次熱潮1982年,美國物理學家J.J.Hopfield提出Hopfield模型,它是一個互聯的非線性動力學網絡.他解決問題的方法是一種反復運算的動態過程,這是符號邏輯處理方法所不具備的性質.1987年首屆國際ANN大會在圣地亞哥召開,國際ANN聯合會成立,創辦了多種ANN國際刊物。1990年12月,北京召開首屆學術會議。8/23/202462021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈人工神經網絡研究的局限性(1)ANN研究受到腦科學研究成果的限制。(2)ANN缺少一個完整、成熟的理論體系。(3)ANN研究帶有濃厚的策略和經驗色彩。(4)ANN與傳統技術的接口不成熟。

8/23/202472021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈人工神經網絡概述

什么是人工神經網絡?T.Koholen的定義:“人工神經網絡是由具有適應性的簡單單元組成的廣泛并行互連的網絡,它的組織能夠模擬生物神經系統對真實世界物體所作出的交互反應。”

8/23/202482021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈二、神經元與神經網絡

大腦可視作為1000多億神經元組成的神經網絡圖3神經元的解剖圖8/23/202492021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經元的信息傳遞和處理是一種電化學活動.樹突由于電化學作用接受外界的刺激;通過胞體內的活動體現為軸突電位,當軸突電位達到一定的值則形成神經脈沖或動作電位;再通過軸突末梢傳遞給其它的神經元.從控制論的觀點來看;這一過程可以看作一個多輸入單輸出非線性系統的動態過程神經網絡研究的兩個方面從生理上、解剖學上進行研究從工程技術上、算法上進行研究8/23/2024102021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈腦神經信息活動的特征(1)巨量并行性。(2)信息處理和存儲單元結合在一起。(3)自組織自學習功能。

8/23/2024112021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經網絡基本模型8/23/2024122021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經元的數學模型

圖4神經元的數學模型8/23/2024132021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈其中x=(x1,…xm)T輸入向量,y為輸出,wi是權系數;輸入與輸出具有如下關系:θ為閾值,f(X)是激發函數;它可以是線性函數,也可以是非線性函數.8/23/2024142021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈例如,若記

取激發函數為符號函數

S型激發函數:

8/23/2024152021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈或

注:若將閾值看作是一個權系數,-1是一個固定的輸入,另有m-1個正常的輸入,則(1)式也可表示為:

(1)

參數識別:假設函數形式已知,則可以從已有的輸入輸出數據確定出權系數及閾值。

8/23/2024162021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈2、神經網絡的數學模型

眾多神經元之間組合形成神經網絡,例如下圖的含有中間層(隱層)的B-P網絡

8/23/2024172021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈基本BP網絡的拓撲結構b1bia1c1cqcjahbpan………………Wp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp輸出層LC隱含層LB輸入層LAWV8/23/2024182021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈ANN類型與功能8/23/2024192021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈一般而言,ANN與經典計算方法相比并非優越,只有當常規方法解決不了或效果不佳時ANN方法才能顯示出其優越性。尤其對問題的機理不甚了解或不能用數學模型表示的系統,如故障診斷、特征提取和預測等問題,ANN往往是最有利的工具。另一方面,ANN對處理大量原始數據而不能用規則或公式描述的問題,表現出極大的靈活性和自適應性。8/23/2024202021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈人工神經網絡

(ArtificialNeuronNets=ANN)

1981年生物學家格若根(W.Grogan)和維什(W.Wirth)發現了兩類蚊子(或飛蠓midges).他們測量了這兩類蚊子每個個體的翼長和觸角長,數據如下:翼長觸角長類別1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af翼長觸角長類別1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.36Af8/23/2024212021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈問:如果抓到三只新的蚊子,它們的觸角長和翼長分別為(l.24,1.80);

(l.28,1.84);(1.40,2.04).問它們應分別屬于哪一個種類?

解法一:把翼長作縱坐標,觸角長作橫坐標;那么每個蚊子的翼長和觸角決定了坐標平面的一個點.其中6個蚊子屬于APf類;用黑點“·”表示;9個蚊子屬Af類;用小圓圈“。”表示.得到的結果見圖1圖1飛蠓的觸角長和翼長8/23/2024222021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈思路:作一直線將兩類飛蠓分開

例如;取A=(1.44,2.10)和B=(1.10,1.16),過AB兩點作一條直線:y=1.47x-0.017其中X表示觸角長;y表示翼長.

分類規則:設一個蚊子的數據為(x,y)如果y≥1.47x-0.017,則判斷蚊子屬Apf類;

如果y<1.47x-0.017;則判斷蚊子屬Af類.

8/23/2024232021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈分類結果:(1.24,1.80),(1.28,1.84)屬于Af類;(1.40,2.04)屬于Apf類.圖2分類直線圖

8/23/2024242021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈?缺陷:根據什么原則確定分類直線?

若取A=(1.46,2.10),B=(1.1,1.6)不變,則分類直線變為y=1.39x+0.071分類結果變為:(1.24,1.80),(1.40,2.04)屬于Apf類;(1.28,1.84)屬于Af類

哪一分類直線才是正確的呢?

因此如何來確定這個判別直線是一個值得研究的問題.一般地講,應該充分利用已知的數據信息來確定判別直線.8/23/2024252021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈再如,如下的情形已經不能用分類直線的辦法:

新思路:將問題看作一個系統,飛蠓的數據作為輸入,飛蠓的類型作為輸出,研究輸入與輸出的關系。8/23/2024262021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈基本BP網絡的拓撲結構b1bia1c1cqcjahbpan………………Wp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp輸出層LC隱含層LB輸入層LAWV8/23/2024272021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈四、反向傳播算法(B-P算法)

Backpropagationalgorithm1.簡單網絡的B-P算法

算法的目的:根據實際的輸入與輸出數據,計算模型的參數(權系數)圖6簡單網絡8/23/2024282021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈假設有P個訓練樣本,即有P個輸入輸出對(Ip,Tp),p=1,…,P,其中

輸入向量為:目標輸出向量為(實際上的):

網絡輸出向量為

(理論上的)

8/23/2024292021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈(p=1,…,P)

(2)

記wij為從輸入向量的第j(j=1,…,m)個分量到輸出向量的第i(i=1,…,n)個分量的權重。通常理論值與實際值有一誤差,網絡學習則是指不斷地把與比較,并根據極小原則修改參數wij,使誤差平方和達最小:記Delta學習規則:

(4)

(3)

表示遞推一次的修改量,則有稱為學習的速率

8/23/2024302021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈ipm=-1,wim=(第i個神經元的閾值)(5)注:由(1)式,第i個神經元的輸出可表示為特別當f是線性函數時

(6)8/23/2024312021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈8/23/2024322021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈圖7多層前饋網絡

2.多層前饋網絡

(l)輸入層不計在層數之內,它有N0個神經元.設網絡共有L層;輸出層為第L層;第k層有Nk個神經元.假設:(2)設表示第k層第i神經元所接收的信息wk(i,j)表示從第k-1層第j個元到第k層第i個元的權重,表第k層第i個元的輸出8/23/2024332021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈(3)設層與層間的神經元都有信息交換(否則,可設它們之間的權重為零);但同一層的神經元之間無信息傳輸.(4)設信息傳輸的方向是從輸入層到輸出層方向;因此稱為前向網絡.沒有反向傳播信息.(5)表示輸入的第j個分量.假設:8/23/2024342021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈在上述假定下網絡的輸入輸出關系可以表示為:(7)

其中表示第k層第i個元的閾值.8/23/2024352021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈定理2

對于具有多個隱層的前饋神經網絡;設激發函數為S函數;且指標函數取

(8)(9)則每個訓練循環中按梯度下降時;其權重迭代公式為(10)表示第-1層第個元對第層第個元輸入的第次迭代時的權重

其中(11)(12)8/23/2024362021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈BP算法

Step1

選定學習的數據,p=1,…,P,隨機確定初始權矩陣W(0)Step2

用(10)式反向修正,直到用完所有學習數據.用學習數據計算網絡輸出Step3

8/23/2024372021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈五.應用之例:蚊子的分類已知的兩類蚊子的數據如表1:

翼長觸角長類別1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.36Af目標值0.90.90.90.10.90.90.90.1

翼長觸角長類別1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af目標t0.10.10.10.10.10.10.1

8/23/2024382021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈輸入數據有15個,即,p=1,…,15;j=1,2;對應15個輸出。建模:(輸入層,中間層,輸出層,每層的元素應取多少個?)建立神經網絡8/23/2024392021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈規定目標為:當t(1)=0.9時表示屬于Apf類,t(2)=0.1表示屬于Af類。設兩個權重系數矩陣為:為閾值

其中8/23/2024402021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈分析如下:

為第一層的輸出,同時作為第二層的輸入。其中,為閾值,為激勵函數若令

(作為一固定輸入)(閾值作為固定輸入神經元相應的權系數)

8/23/2024412021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈則有:取激勵函數為=則同樣,取

8/23/2024422021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈(1)隨機給出兩個權矩陣的初值;例如用MATLAB軟件時可以用以下語句:

令p=0具體算法如下:=rand(2,3);=rand(1,3);(2)根據輸入數據利用公式算出網絡的輸出

=8/23/2024432021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈取(3)計算因為所以

(4)取

(或其他正數,可調整大小)

8/23/2024442021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈(5)計算

j=1,2,3,i=1,2,3,計算

j=1,2,3j=1,2,38/23/2024452021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈(6)p=p+1,轉(2)

注:僅計算一圈(p=1,2,…,15)是不夠的,直到當各權重變化很小時停止,本例中,共計算了147圈,迭代了2205次。最后結果是:8/23/2024462021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈即網絡模型的解為:

=8/23/2024472021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈BP網絡建模特點:非線性映照能力:神經網絡能以任意精度逼近任何非線性連續函數。在建模過程中的許多問題正是具有高度的非線性。并行分布處理方式:在神經網絡中信息是分布儲存和并行處理的,這使它具有很強的容錯性和很快的處理速度。自學習和自適應能力:神經網絡在訓練時,能從輸入、輸出的數據中提取出規律性的知識,記憶于網絡的權值中,并具有泛化能力,即將這組權值應用于一般情形的能力。神經網絡的學習也可以在線進行。數據融合的能力:神經網絡可以同時處理定量信息和定性信息,因此它可以利用傳統的工程技術(數值運算)和人工智能技術(符號處理)。多變量系統:神經網絡的輸入和輸出變量的數目是任意的,對單變量系統與多變量系統提供了一種通用的描述方式,不必考慮各子系統間的解耦問題。8/23/2024482021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經網絡的應用人工神經網絡以其具有自學習、自組織、較好的容錯性和優良的非線性逼近能力,受到眾多領域學者的關注。在實際應用中,80%~90%的人工神經網絡模型是采用誤差反傳算法或其變化形式的網絡模型(簡稱BP網絡),目前主要應用于函數逼近、模式識別、分類和數據壓縮或數據挖掘。8/23/2024492021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈基本BP網絡的拓撲結構b1bia1c1cqcjahbpan………………Wp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp輸出層LC隱含層LB輸入層LAWV8/23/2024502021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈1.樣本數據1.1收集和整理分組采用BP神經網絡方法建模的首要和前提條件是有足夠多典型性好和精度高的樣本。而且,為監控訓練(學習)過程使之不發生“過擬合”和評價建立的網絡模型的性能和泛化能力,必須將收集到的數據隨機分成訓練樣本、檢驗樣本(10%以上)和測試樣本(10%以上)3部分。此外,數據分組時還應盡可能考慮樣本模式間的平衡。8/23/2024512021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈1.2輸入/輸出變量的確定及其數據的預處理一般地,BP網絡的輸入變量即為待分析系統的內生變量(影響因子或自變量)數,一般根據專業知識確定。若輸入變量較多,一般可通過主成份分析方法壓減輸入變量,也可根據剔除某一變量引起的系統誤差與原系統誤差的比值的大小來壓減輸入變量。輸出變量即為系統待分析的外生變量(系統性能指標或因變量),可以是一個,也可以是多個。一般將一個具有多個輸出的網絡模型轉化為多個具有一個輸出的網絡模型效果會更好,訓練也更方便。8/23/2024522021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈由于BP神經網絡的隱層一般采用Sigmoid轉換函數,為提高訓練速度和靈敏性以及有效避開Sigmoid函數的飽和區,一般要求輸入數據的值在0~1之間。因此,要對輸入數據進行預處理。一般要求對不同變量分別進行預處理,也可以對類似性質的變量進行統一的預處理。如果輸出層節點也采用Sigmoid轉換函數,輸出變量也必須作相應的預處理,否則,輸出變量也可以不做預處理。預處理的方法有多種多樣,各文獻采用的公式也不盡相同。但必須注意的是,預處理的數據訓練完成后,網絡輸出的結果要進行反變換才能得到實際值。再者,為保證建立的模型具有一定的外推能力,最好使數據預處理后的值在0.2~0.8之間。8/23/2024532021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈2.神經網絡拓撲結構的確定2.1隱層數

一般認為,增加隱層數可以降低網絡誤差(也有文獻認為不一定能有效降低),提高精度,但也使網絡復雜化,從而增加了網絡的訓練時間和出現“過擬合”的傾向。Hornik等早已證明:若輸入層和輸出層采用線性轉換函數,隱層采用Sigmoid轉換函數,則含一個隱層的MLP網絡能夠以任意精度逼近任何有理函數。顯然,這是一個存在性結論。在設計BP網絡時可參考這一點,應優先考慮3層BP網絡(即有1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對于沒有隱層的神經網絡模型,實際上就是一個線性或非線性(取決于輸出層采用線性或非線性轉換函數型式)回歸模型。因此,一般認為,應將不含隱層的網絡模型歸入回歸分析中,技術已很成熟,沒有必要在神經網絡理論中再討論之。8/23/2024542021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈2.2隱層節點數在BP網絡中,隱層節點數的選擇非常重要,它不僅對建立的神經網絡模型的性能影響很大,而且是訓練時出現“過擬合”的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。目前多數文獻中提出的確定隱層節點數的計算公式都是針對訓練樣本任意多的情況,而且多數是針對最不利的情況,一般工程實踐中很難滿足,不宜采用。事實上,各種計算公式得到的隱層節點數有時相差幾倍甚至上百倍。為盡可能避免訓練時出現“過擬合”現象,保證足夠高的網絡性能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結構,即取盡可能少的隱層節點數。研究表明,隱層節點數不僅與輸入/輸出層的節點數有關,更與需解決的問題的復雜程度和轉換函數的型式以及樣本數據的特性等因素有關。8/23/2024552021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈

在確定隱層節點數時必須滿足下列條件:隱層節點數必須小于N-1(其中N為訓練樣本數),否則,網絡模型的系統誤差與訓練樣本的特性無關而趨于零,即建立的網絡模型沒有泛化能力,也沒有任何實用價值。同理可推得:輸入層的節點數(變量數)必須小于N-1。(2)訓練樣本數必須多于網絡模型的連接權數,一般為2~10倍,否則,樣本必須分成幾部分并采用“輪流訓練”的方法才可能得到可靠的神經網絡模型。8/23/2024562021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈總之,若隱層節點數太少,網絡可能根本不能訓練或網絡性能很差;若隱層節點數太多,雖然可使網絡的系統誤差減小,但一方面使網絡訓練時間延長,另一方面,訓練容易陷入局部極小點而得不到最優點,也是訓練時出現“過擬合”的內在原因。因此,合理隱層節點數應在綜合考慮網絡結構復雜程度和誤差大小的情況下用節點刪除法和擴張法確定。8/23/2024572021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈3.神經網絡的訓練3.1訓練BP網絡的訓練就是通過應用誤差反傳原理不斷調整網絡權值使網絡模型輸出值與已知的訓練樣本輸出值之間的誤差平方和達到最小或小于某一期望值。雖然理論上早已經證明:具有1個隱層(采用Sigmoid轉換函數)的BP網絡可實現對任意函數的任意逼近。但遺憾的是,迄今為止還沒有構造性結論,即在給定有限個(訓練)樣本的情況下,如何設計一個合理的BP網絡模型并通過向所給的有限個樣本的學習(訓練)來滿意地逼近樣本所蘊含的規律(函數關系,不僅僅是使訓練樣本的誤差達到很小)的問題,目前在很大程度上還需要依靠經驗知識和設計者的經驗。因此,通過訓練樣本的學習(訓練)建立合理的BP神經網絡模型的過程,在國外被稱為“藝術創造的過程”,是一個復雜而又十分煩瑣和困難的過程。8/23/2024582021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈由于BP網絡采用誤差反傳算法,其實質是一個無約束的非線性最優化計算過程,在網絡結構較大時不僅計算時間長,而且很容易限入局部極小點而得不到最優結果。目前雖已有改進BP法、遺傳算法(GA)和模擬退火算法等多種優化方法用于BP網絡的訓練(這些方法從原理上講可通過調整某些參數求得全局極小點),但在應用中,這些參數的調整往往因問題不同而異,較難求得全局極小點。這些方法中應用最廣的是增加了沖量(動量)項的改進BP算法。8/23/2024592021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈3.2學習率和沖量系數學習率影響系統學習過程的穩定性。大的學習率可能使網絡權值每一次的修正量過大,甚至會導致權值在修正過程中超出某個誤差的極小值呈不規則跳躍而不收斂;但過小的學習率導致學習時間過長,不過能保證收斂于某個極小值。所以,一般傾向選取較小的學習率以保證學習過程的收斂性(穩定性),通常在0.01~0.8之間。增加沖量項的目的是為了避免網絡訓練陷于較淺的局部極小點。理論上其值大小應與權值修正量的大小有關,但實際應用中一般取常量。通常在0~1之間,而且一般比學習率要大。8/23/2024602021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈4網絡的初始連接權值BP算法決定了誤差函數一般存在(很)多個局部極小點,不同的網絡初始權值直接決定了BP算法收斂于哪個局部極小點或是全局極小點。因此,要求計算程序(建議采用標準通用軟件,如Statsoft公司出品的StatisticaNeuralNetworks軟件和Matlab軟件)必須能夠自由改變網絡初始連接權值。由于Sigmoid轉換函數的特性,一般要求初始權值分布在-0.5~0.5之間比較有效。8/23/2024612021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈5.網絡模型的性能和泛化能力

訓練神經網絡的首要和根本任務是確保訓練好的網絡模型對非訓練樣本具有好的泛化能力(推廣性),即有效逼近樣本蘊含的內在規律,而不是看網絡模型對訓練樣本的擬合能力。從存在性結論可知,即使每個訓練樣本的誤差都很小(可以為零),并不意味著建立的模型已逼近訓練樣本所蘊含的規律。因此,僅給出訓練樣本誤差(通常是指均方根誤差RSME或均方誤差、AAE或MAPE等)的大小而不給出非訓練樣本誤差的大小是沒有任何意義的。8/23/2024622021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈

要分析建立的網絡模型對樣本所蘊含的規律的逼近情況(能力),即泛化能力,應該也必須用非訓練樣本(本文稱為檢驗樣本和測試樣本)誤差的大小來表示和評價,這也是之所以必須將總樣本分成訓練樣本和非訓練樣本而絕不能將全部樣本用于網絡訓練的主要原因之一。判斷建立的模型是否已有效逼近樣本所蘊含的規律,最直接和客觀的指標是從總樣本中隨機抽取的非訓練樣本(檢驗樣本和測試樣本)誤差是否和訓練樣本的誤差一樣小或稍大。非訓練樣本誤差很接近訓練樣本誤差或比其小,一般可認為建立的網絡模型已有效逼近訓練樣本所蘊含的規律,否則,若相差很多(如幾倍、幾十倍甚至上千倍)就說明建立的網絡模型并沒有有效逼近訓練樣本所蘊含的規律,而只是在這些訓練樣本點上逼近而已,而建立的網絡模型是對訓練樣本所蘊含規律的錯誤反映。8/23/2024632021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈

因為訓練樣本的誤差可以達到很小,因此,用從總樣本中隨機抽取的一部分測試樣本的誤差表示網絡模型計算和預測所具有的精度(網絡性能)是合理的和可靠的。值得注意的是,判斷網絡模型泛化能力的好壞,主要不是看測試樣本誤差大小的本身,而是要看測試樣本的誤差是否接近于訓練樣本和檢驗樣本的誤差。8/23/2024642021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈6.合理網絡模型的確定

對同一結構的網絡,由于BP算法存在(很)多個局部極小點,因此,必須通過多次(通常是幾十次)改變網絡初始連接權值求得相應的極小點,才能通過比較這些極小點的網絡誤差的大小,確定全局極小點,從而得到該網絡結構的最佳網絡連接權值。必須注意的是,神經網絡的訓練過程本質上是求非線性函數的極小點問題,因此,在全局極小點鄰域內(即使網絡誤差相同),各個網絡連接權值也可能有較大的差異,這有時也會使各個輸入變量的重要性發生變化,但這與具有多個零極小點(一般稱為多模式現象)(如訓練樣本數少于連接權數時)的情況是截然不同的。此外,在不滿足隱層節點數條件時,總也可以求得訓練樣本誤差很小或為零的極小點,但此時檢驗樣本和測試樣本的誤差可能要大得多;若改變網絡連接權初始值,檢驗樣本和測試樣本的網絡計算結果會產生很大變化,即多模式現象。8/23/2024652021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈對于不同的網絡結構,網絡模型的誤差或性能和泛化能力也不一樣。因此,還必須比較不同網絡結構的模型的優劣。一般地,隨著網絡結構的變大,誤差變小。通常,在網絡結構擴大(隱層節點數增加)的過程中,網絡誤差會出現迅速減小然后趨于穩定的一個階段,因此,合理隱層節點數應取誤差迅速減小后基本穩定時的隱層節點數。總之,合理網絡模型是必須在具有合理隱層節點數、訓練時沒有發生“過擬合”現象、求得全局極小點和同時考慮網絡結構復雜程度和誤差大小的綜合結果。設計合理BP網絡模型的過程是一個不斷調整參數的過程,也是一個不斷對比結果的過程,比較復雜且有時還帶有經驗性。這個過程并不是有些作者想象的(實際也是這么做的)那樣,隨便套用一個公式確定隱層節點數,經過一次訓練就能得到合理的網絡模型(這樣建立的模型極有可能是訓練樣本的錯誤反映,沒有任何實用價值)。8/23/2024662021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈雖然神經網絡的類型很多,建立神經網絡模型時,根據研究對象的特點,可以考慮不同的神經網絡模型。前饋型BP網絡即誤差逆傳播神經網絡是最常用、最流行的神經網絡。BP網絡的輸入和輸出關系可以看成是一種映射關系,即每一組輸入對應一組輸出。由于網絡中神經元作用函數的非線性,網絡實現是復雜的非線性映射。關于這類網絡對非線性的逼近能力,Hornikl等分別利用不同的方法證明了如下一個事實:僅含有一個隱層的前向網絡能以任意精度逼近定義在Rn的一個緊集上的任意非線性函數。誤差反向算法是最著名的多層前向網絡訓練算法,盡管存在收斂速度慢、局部極值等缺點,但可通過各種改進措施來提高它的收斂速度、克服局部極值現象,而且具有簡單、易行、計算量小、并行性強等特點,目前仍是多層前向網絡的首選算法。8/23/2024672021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經網絡模型參數的確定:由于傳統的誤差反傳BP算法較為成熟,且應用廣泛,因此努力提高該方法的學習速度具有較高的實用價值。BP算法中有幾個常用的參數,包括學習率η,動量因子α,形狀因子λ及收斂誤差界值E等。這些參數對訓練速度的影響最為關鍵。

8/23/2024682021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈MATLAB神經網絡工具箱的應用在網絡訓練過程中使用的是Matlab7.0forWindows軟件,對于BP神經元網絡的訓練可以使用NeuralNetworksToolboxforMatlab。美國的Mathwork公司推出的MATLAB軟件包既是一種非常實用有效的科研編程軟件環境,又是一種進行科學和工程計算的交互式程序。MATLAB本身帶有神經網絡工具箱,可以大大方便權值訓練,減少訓練程序工作量,有效的提高工作效率.8/23/2024692021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈隱層的數目:

理論上雖然證明了這類網絡的逼近能力,對于網絡結構的要求,并沒有給出明確的說明。因而在應用中神經網絡模型的結構確定常常有人為的主觀性和藝術性,缺乏一個指導原則。而網絡訓練與結構緊密相關,太大的網絡結構在訓練時效率不高,而且還會由于過擬合(overfitting)造成網絡的性能脆弱,泛化能力(generalizationability)下降;太小的網絡可能就根本不收斂。當選取隱層數為1時,BP網絡不收斂,而當選取隱層數為2時,BP網絡訓練較好。考慮到本研究的特點,結合不同隱層網絡結構的訓練結果,本文選擇了隱層數L=2的網絡結構模型。2375Epochs隱層數為1節點數6不同隱層數訓練誤差曲線隱層數為2節點數12×68/23/2024702021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈例:BP神經網絡水(處理)系統的模擬與預測等方面獲得了廣泛的應用。光催化臭氧氧化處理自來水工藝神經網絡模型8/23/2024712021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈樣本實驗號臭氧濃度(mg/L)入口UV254UV254去除率(%)11.160.11650.221.350.10459.531.720.07858.841.860.10766.251.970.13665.562.150.08264.572.230.12573.682.480.07676.492.790.12278.5102.850.09279.2113.070.08181.4123.450.06890.3133.590.07793.1143.800.10898.2153.930.12897.3164.140.06398.1174.460.13597.3184.550.07098.8194.840.12696.9205.030.08798.68/23/2024722021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈檢驗樣本實驗號臭氧濃度(mg/L)入口UV254UV254去除率(%)11.420.086?22.510.071?33.210.107?44.290.096?55.240.65?8/23/2024732021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈隱層神經元數的選擇隱層神經元數的選擇是一個十分復雜的問題。因為沒有很好的解析式表示,可以說隱層神經元數與問題的要求、輸入層與輸出層神經元的數量、訓練樣本的數量等都有直接關系。事實上隱層神經元太少不可能將網絡訓練出來,但太多又使學習時間過長,使網絡不“不強壯”,泛化能力下降,即不能識別以前沒有直接接收到的樣本,容錯性差。當隱層數為20×10和8×4時的訓練結果:隱層數為2節點數8×4隱層數為2節點數20×10圖6-2相同隱層數不同節點數訓練誤差曲線8/23/2024742021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈神經網絡模型的各層節點數分別為:輸入層2個;第一隱層12個;第二隱層6個;輸出層1個。綜合以上研究內容,建立光催化臭氧氧化處理自來水工藝神經網絡模型如圖6-3所示。輸入層輸出層隱層圖6-3BP網絡模型臭氧濃度入口UV254UV254去除率8/23/2024752021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈1.學習率η和動量因子αBP算法本質上是優化計算中的梯度下降法,利用誤差對于權、閥值的一階導數信息來指導下一步的權值調整方向,以求最終得到誤差最小。為了保證算法的收斂性,學習率η必須小于某一上限,一般取0<η<1而且越接近極小值,由于梯度變化值逐漸趨于零,算法的收斂就越來越慢。在網絡參數中,學習率η和動量因子α是很重要的,它們的取值直接影響到網絡的性能,主要是收斂速度。為提高學習速度,應采用大的η。但η太大卻可能導致在穩定點附近振蕩,乃至不收斂。針對具體的網絡結構模型和學習樣本,都存在一個最佳的學習率門和動量因子α,它們的取值范圍一般0~1之間,視實際情況而定。在上述范圍內通過對不同的η和α的取值進行了考察,確定本文神經網絡模型的參數為:η=0.7,α=0.9。8/23/2024762021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈2.初始權值的選擇在前饋多層神經網絡的BP算法中,初始權、閾值一般是在一個固定范圍內按均勻分布隨機產生的。一般文獻認為初始權值范圍為-1~+1之間,初始權值的選擇對于局部極小點的防止和網絡收斂速度的提高均有一定程度的影響,如果初始權值范圍選擇不當,學習過程一開始就可能進入“假飽和”現象,甚至進入局部極小點,網絡根本不收斂。初始權、閾值的選擇因具體的網絡結構模式和訓練樣本不同而有所差別,一般應視實際情況而定。本文考察了不同初始權、閾值的賦值范圍對網絡收斂速度的影響,確定本文神經網絡模型的初始權和閾值的隨機賦值范圍為-0.5~+0.5。8/23/2024772021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈3.收斂誤差界值Emin

在網絡訓練過程中應根據實際情況預先確定誤差界值。誤差界值的選擇完全根據網絡模型的收斂速度大小和具體樣本的學習精度來確定。當Emin值選擇較小時,學習效果好,但收斂速度慢,訓練次數增加。如果Emin值取得較大時則相反。本文神經網絡的誤差界值Emin為0.0001,即在迭代計算時誤差值E<Emin=0.0001時,則認為學習完成,停止計算,輸出結果。8/23/2024782021年BP神經網絡詳解與實例BP算法神經網絡機器學習馬爾科夫鏈輸入數據的預處理

溫馨提示

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

評論

0/150

提交評論