数学建模-BP神经网络简介
#前言
大家好,華為杯數(shù)學建模大賽也快要開始了,因為一部分同學可能是第一次參加數(shù)學建模類的比賽,對數(shù)學建模比賽了解的可能比較少,或者是因為專業(yè)的原因,平時對數(shù)學知識接觸的不是很多。我本科是讀的信息與計算科學(數(shù)學專業(yè)中的一個),本著分享和鞏固知識的心態(tài),會提供一些基礎的建模知識供大家參考,其中如有錯誤還請大家及時指正
## 神經網絡
神經網絡其實又名人工神經網絡,他是受到人類大腦的信息處理機制的啟發(fā)二發(fā)展出來的。在人類大腦中處理信息的基本單位叫做神經元,人工神經網絡的處理信息的基本單位也叫做“神經元”,不過他還有另一個名字那就是信息處理單元。在人腦中,信息傳遞的本質往往是電化學信號的傳遞,當一個刺激產生時,由于人腦中的神經元往往是與其他1多個神經元連接形成一個復雜的網絡結構,所以一個神經元接收到的刺激可能是從多個不同的神經元傳來的,而且每個神經元產生的刺激對這個接受刺激的神經元產生的影響有不一樣,人工神經元也是如此,所以每個相互連接的神經元之間往往會有不同的權重,如下圖所示:
其中x_i代表從各個不同神經元傳來的刺激,w_i為各個不同神經元之間的權重。
## 神經網絡的結構
人腦之所以有強大的信息處理功能,其原因就在于人腦中的神經元相互連接形成了復雜的網絡結構,人工神經元收到物理現(xiàn)實的限制,只能是由少量的神經元連接成的有一定規(guī)律的網狀結構。本文按照神經網絡的信息流向簡單的介紹一下神經網絡的種類。
1、前饋型神經網絡,神經元按層排列上一層的輸出作為下一層的輸入,具體結構如下圖所示:
2、反饋型神經網絡,最常見的反饋型神經網絡就是BP神經網絡。BP神經網絡信息傳播分為兩個階段。(1)正向傳播過程,同前饋型神經網絡大概一致,上一層的輸出作為下一層的輸入。(2)反向傳播過程,將神經網絡的輸出值與期望值或者真實值作比較,如誤差過大,則將誤差反向傳播,調整各個神經元節(jié)點的權重,直到誤差可接受為止。
注意,在神經網絡中,我們通常把接收信息流入的那層神經元叫做輸入層,信息流出的叫做輸出層,輸入層和輸出層之間的神經元被稱為隱層,隱層神經元具有處理信息的功能。學過機器學習的同學可以看出其實BP神經網絡是一種有監(jiān)督的學習方式。
## BP神經網絡
BP神經網絡是迄今位置應用最為廣泛的神經網絡,單隱層的BP神經網絡應用更為普遍。最簡單的應用便是我們可以通過BP神經網絡來解決一些預測問題。單隱層的神經網絡的具體結構如下所示:
單隱層的意思是只有一層隱層節(jié)點,所以也可以稱為三層BP神經網絡。其中輸入層接受的輸入向量為X=[x0,…,xn],其中x0=-1為引入隱層神經元的閾值(通俗的理解,一個神經元要想興奮必須收到的刺激達到一定程度才可以)隱層輸出向量為Y=[y0,…,ym],y0=-1為引入輸出層神經元的閾值。O=[o1,…,ol],期望輸出向量d=[d1,…,dl]。其中v_i和w_j分別代表隱層和輸出層之間的權重。各層信號的數(shù)學關系如下:
其中f(x)(也被稱為激活函數(shù))為
上面提到,BP神經網絡中調節(jié)誤差是通過調節(jié)各層之間的權重而實現(xiàn)的,具體的數(shù)學原理這里不再進行推導,有興趣大家可以參考韓力群的神經網絡這本書
具體實例
如果大家有興趣來看這篇文章的話,我想很大概率都是想知道BP神經網絡具體怎么用,所以本文將介紹matlab中一些常用的神經網絡函數(shù)并舉一個簡單的實例給大家,以便沒有基礎的同學可以更加深刻的理解這些內容
首先關于matlab中神經網絡中一些常用的函數(shù):添加鏈接描述
大家可以參考這篇博文的里所介紹的內容很全面
具體實例如下:根據(jù)表2,預測序號15的跳高成績
數(shù)據(jù)整理
將前14組數(shù)據(jù)作為指標進行輸入:
將前14組對應的調高數(shù)據(jù)作為輸出
神經網絡模型也是機器學習模型的一種,前面的P和T相當于機器學習模型中的訓練樣本,有了訓練樣本,當輸入新的樣本時才可以對新樣本進行預測。
具體代碼如下:
最終輸出的c便是最終結果。以上例子是參考
https://blog.csdn.net/c_1996/article/details/72793827?utm_source=app&app_version=4.13.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
這篇博文,代碼如果有問題可以評論私下討論交流
總結
BP神經網絡雖然應用非常廣泛,也由很好的有點,比如可以通過設置隱層神經元節(jié)點數(shù)來調節(jié)誤差的大小。但是其缺點也很明顯,例如會陷入局部最小,并且當數(shù)據(jù)稍大時 他處理的速度會比較忙。以上就是BP神經網絡的全部內容了,但是想系統(tǒng)的學習神經網絡的內容還是推薦大家通過書本對他進行系統(tǒng)的學習。若有錯誤歡迎指正,批評和交流。
總結
以上是生活随笔為你收集整理的数学建模-BP神经网络简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息论第二章课后题
- 下一篇: 谨防!黑客是这样偷窥你的智能手机