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