神经网络总结(初稿)
神經網絡是由大量處理單元(神經元)相互連接而成的網絡,ANN(Artificial Neural Network)是生物神經系統的一種抽象、簡化和模擬。神經網絡的信息處理是通過神經元的相互作用來實現的,知識與信息的存儲表現在網絡元件互連的分布式結構與聯系,神經網絡的學習與識別就是神經元連接權系數的動態演化過程。實踐中常用的基本神經網絡模型有:感知器(perceptron)神經網絡、線性神經(AdalinePerceptron)網絡、BP神經網絡、徑向基神經網絡、自組織神經網絡、Hopfield反饋神經網絡等。
關鍵詞:整合()-激發()-映射()
感知器(perceptron)神經網絡
感知器中的神經元稱之為PRC神經元,有如下中的結構。一般在處理中都會將閾值b轉換為輸入和權重的x0形式,得到如下右的等效結構。
那么感知器的工作算法也就是整合過程比較簡單,只需要利用向量乘積表示即可:,經過激發(特殊的一種映射,只是利用sign符號函數進行的映射)就可以得到輸出了。而感知器的組織算法(學習規則)主要是進行權重的調節,有如下的表示:
??
是調整的步長,一般情況下,比如機器學習中最簡單的學習算法PLA中,用到的就是。其幾何意義十分明顯,犯錯誤了就進行調整,沒犯錯誤就不調整。對于線性可分的問題,PLA總能找到分類邊界。但并不一定是最好。想一下SVM中的large marge。perception\points.m是關于利用PLA進行學習二維平面點的二分類演示程序。感知器是最簡單和最基礎的神經網絡。同時也閱讀了BP神經網絡中關于通過隱含層增加感知器的分類能力的論述。
??? 單層感知器不能解決異或運算(實際上不是線性可分的問題),增加隱藏層之后便能解決。多層感知器能夠突破線性可分局限性。
Kolmogorov定理:? 給定任意連續映射F:[0,1] (n) →Rm可以精確地由一個三層前饋神經網絡實現,第一層有n個神經元,第二層有2m+1個神經元,第三層有m個神經元。
自適應線性神經(Adaline Perceptron)網絡
可以直接類比自適應濾波器(預估器,平滑器。。。)。神經網絡的工作算法是一以貫之的,都是那樣從前往后推算就行了。只需要關注的是網絡的結構以及網絡的兩個映射:整合映射和激發映射。一般整合映射沒差,對于激發映射往往可能不同。ADALINE顧名思義,激發映射肯定是線性的,如下圖中的F(sigmoid)換成線性的u(t)-b即可。
下面要關注的就是組織算法,這里只關心LMS學習算法,最小均方誤差為代價,計算均方差的梯度,求出梯度下降的方向,然后進行迭代學習。
這個公式應當最熟悉不過了。其實對比感知器的學習算法調整起來都是比較類似的。具體的不再深入,可以參看在現代數字信號處理課程報告中的論述。
BP神經網絡
BP神經網絡的神經元結構如下:
整合映射沒差,激發映射函數一般采用的有:1)sign符號函數,2)sigmoid函數,3)線性映射(Adaline)。(recall: logical regression,output in[0,1])
這里只列出sigmoid函數,b也可以融入u(t)中進行等效。
僅僅是這樣似乎與上面的多層感知器一樣,并沒有什么特別的。那么下面就是特別的:誤差回傳(back-Propagation,BP)機制,前饋型神經網絡最重要的學習機制。目標:誤差平方性能最小,利用梯度下降進行推導,通過鏈式求導法則,將誤差回傳給網絡中間層,輸出節點的誤差被分配給網絡中間層各個節點。而中間層最終將誤差回傳至輸入層。實際上單層感知器和Adaline正是如此實現了網絡的自學習,從而能自組織地調節其節點鏈接強度值。
BP神經網絡的局部誤差,上式便體現出了誤差回傳的思想。而實際中求取均方誤差往往是不現實的,需要代之以某種估計函數,因此對應著不同的性能函數,比如Widrow性能函數(用單個學習模式激勵下神經網絡響應誤差的平方作為對均方誤差的估計),Rumelhart性能函數(當知識集給定后,一個可選的或者更為合理的均方誤差函數估計應該是所有學習模式激勵下輸出誤差平方之和的平均值)。下圖就是基于Rumelhart性能函數的鏈接權重w更新的公式,整個流程還是十分清晰的。至于編程實現,可以參考source code andshow\nnc\BPN中的寫法,具體的結構可能比較復雜,但是只要封裝好了,進行移植的時候也將非常方便。開發語言是C,因此,可以基于DSP進行實現移植,看看訓練效果如何。
BP神經網絡備受關注的重要原因在于它具有表達復雜非線性映射的能力,但這種能力并不是無限的。BP網絡的表達能力是BP網絡實現特定輸入輸出映射關系的能力。
?
?
BP神經網絡的泛化學習,是一種歸納學習的能力,從sample到out of sample. ?跟機器學習中定義差不多。機器學習是從VC dimension入手解釋為何machinecan learn ?這里通過論述均方誤差的估計并不是真的均方誤差,而是在已有的知識集上進行的估計,所以,當對整個映射的定義域中能否成功的表達呢?這就是所謂的Generalization。依然記得對于以前用到的自適應LMS正弦點預測訓練出來的W,隨著預測的長度越長,誤差在逐漸積累,最終可能發散,或者逐漸縮小。
BP算法的改進:(1) 啟發式算法:動量算法和自適應算法,(2) 數值優化算法:共軛梯度法和牛頓法。
徑向基神經網絡
RBF徑向基神經網絡的結構如下,其實結構上沒有什么特別的,只是在激發映射上采用了徑向基函數(一般采用高斯函數)。徑向基函數(RBF聯想神經元的激發函數)有:GaussianFunction,MultiquadraticFunction,CubicFunction和LinearFunction。實際上神經網絡可分為感覺神經元(整合映射,不融入b)、聯想神經元(激發映射)和反應神經元(閾值b的激發)。
具體的學習算法可以參看網絡文檔徑向基函數(RBF)神經網絡 - Orisun - 博客園.pdf。RBF學習收斂的條件是:訓練數據投影到隱空間后是線性獨立的。其最大的特點是:< RBF網絡能夠逼近任意的非線性函數,可以處理系統內的難以解析的規律性,具有良好的泛化能力,并有很快的學習收斂速度,已成功應用于非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等。簡單說明一下為什么RBF網絡學習收斂得比較快。當網絡的一個或多個可調參數(權值或閾值)對任何一個輸出都有影響時,這樣的網絡稱為全局逼近網絡。由于對于每次輸入,網絡上的每一個權值都要調整,從而導致全局逼近網絡的學習速度很慢。BP網絡就是一個典型的例子。如果對于輸入空間的某個局部區域只有少數幾個連接權值影響輸出,則該網絡稱為局部逼近網絡。常見的局部逼近網絡有RBF網絡、小腦模型(CMAC)網絡、B樣條網絡等。>
自組織神經網絡
有些難度,暫時不做總結。
Hopfield反饋神經網絡
典型的結構是反饋型,輸出反饋回來做輸入。不同于組織算法中的反饋調節,這里指的是工作結構圖中包括了輸出的反饋。(其余暫不做總結)。
神經網絡的理論研究將主要體現在利用神經科學基礎研究成功,用數理方法探索智能水平更高的網絡模型,深入研究網絡的算法和性能,開發新的網絡數理理論;應用研究主要體現在網絡的軟硬件實現及各個領域特定問題的研究等。
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/huty/p/8519358.html
總結
以上是生活随笔為你收集整理的神经网络总结(初稿)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: pr_debug、dev_dbg等动态调
 - 下一篇: 在eclipse下配置maven插件