深度學習:徑向基函數(RBF)神經網絡

From: http://blog.csdn.net/zb1165048017/article/details/49385359


徑向基函數神經網絡的優點:逼近能力,分類能力和學習速度等方面都優於BP神經網絡,結構簡單、訓練簡潔、學習收斂速度快、能夠逼近任意非線性函數,克服局部極小值問題。原因在於其參數初始化具有一定的方法,並非隨機初始化。

        RBF是具有單隱層的三層前向網絡。第一層爲輸入層,由信號源節點組成。第二層爲隱藏層,隱藏層節點數視所描述問題的需要而定,隱藏層中神經元的變換函數即徑向基函數是對中心點徑向對稱且衰減的非負線性函數,該函數是局部響應函數,具體的局部響應體現在其可見層到隱藏層的變換跟其它的網絡不同。以前的前向網絡變換函數都是全局響應的函數。第三層爲輸出層,是對輸入模式做出的響應。輸入層僅僅起到傳輸信號作用,輸入層和隱含層之間之間可以看做連接權值爲1的連接,輸出層與隱含層所完成的任務是不同的,因而他們的學習策略也不同。輸出層是對線性權進行調整,採用的是線性優化策略,因而學習速度較快;而隱含層是對激活函數(格林函數,高斯函數,一般取後者)的參數進行調整,採用的是非線性優化策略,因而學習速度較慢。對於這句話的理解,從下面的層與層之間的變換可以發現。

       RBF神經網絡的基本思想:用RBF作爲隱單元的“基”構成隱藏層空間,隱藏層對輸入矢量進行變換,將低維的模式輸入數據變換到高維空間內,使得在低維空間內的線性不可分問題在高維空間內線性可分。詳細一點就是用RBF的隱單元的“基”構成隱藏層空間,這樣就可以將輸入矢量直接(不通過權連接)映射到隱空間。當RBF的中心點確定以後,這種映射關係也就確定 了。而隱含層空間到輸出空間的映射是線性的(注意這個地方區分一下線性映射和非線性映射的關係),即網絡輸出是因單元輸出的線性加權和,此處的權即爲網絡可調參數

下圖是徑向基神經元模型

      

《43案例分析》中介紹:徑向基函數的激活函數是以輸入向量和權值向量(注意此處的權值向量並非隱藏層到輸出層的權值,具體看下面的徑向基神經元模型結構)之間的距離||dist||作爲自變量的。徑向基網絡的激活函數的一般表達式爲。

《模式識別與只能計算》中介紹:徑向基網絡傳遞函數是以輸入向量與閾值向量之間的距離|| X-Cj ||作爲自變量的,其中|| X -Cj ||是通過輸入向量和加權矩陣C的行向量的乘積得到。此處的C就是隱藏層各神經元的中心參數,大小爲隱層神經元數目*可見層單元數。再者,每一個隱神經元中心參數C都對應一個寬度向量D,使得不同的輸入信息能被不同的隱層神經元最大程度地反映出來。


得到的這個R就是隱層神經元的值。

隨着權值和輸入向量之間距離的減少,網絡輸出是遞增的,當輸入向量和權值向量一致時,神經元輸出爲1。圖中的b爲閾值,用於調整神經元的靈敏度。利用徑向基神經元和線性神經元可以建立廣義迴歸神經網絡,此種神經網絡適用於函數逼近方面的應用。徑向基函數和競爭神經元可以建立概率神經網絡,此種神經網絡適用於解決分類問題

RBF神經網絡學習算法需要三個參數:基函數的中心,方差(寬度)以及隱含層到輸出層的權值。

RBF神經網絡中心選取方法:

       對於RBF神經網絡的學習算法,關鍵問題是隱藏層神經元中心參數的合理確定。常用的方法是從中心參數(或者其初始值)是從給定的訓練樣本集裏按照某種方法直接選取,或者是採用聚類的方法確定。

   ①直接計算法(隨機選取RBF中心)

     隱含層神經元的中心是隨機地在輸入樣本中選取,且中心固定。一旦中心固定下來,隱含層神經元的輸出便是已知的,這樣的神經網絡的連接權就可以通過求解線性方程組來確定。適用於樣本數據的分佈具有明顯代表性。

   ②自組織學習選取RBF中心法

      RBF神經網絡的中心可以變化,並通過自組織學習確定其位置。輸出層的線性權重則是通過有監督的學習來確定的。這種方法是對神經網絡資源的再分配,通過 學習,使RBF的隱含層神經元中心位於輸入空間重要的區域。這種方法主要採用K-均值聚類法來選擇RBF的中心,屬於無監督(導師)的學習方法。

  ③有監督(導師)學習選取RBF中心

     通過訓練樣本集來獲得滿足監督要求的網絡中心和其他權重參數。常用方法是梯度下降法

  ④正交最小二乘法選取RBF中心法

     正交最小二乘法(Orthogoal least square)法的思想來源於線性迴歸模型。神經網絡的輸出實際上是隱含層神經元某種響應參數(迴歸因子)和隱含層至輸出層間連接權重的線性組合。所有隱含層神經元上的迴歸因子構成迴歸向量。學習過程主要是迴歸向量正交化的過程。

     在很多實際問題中,RBF神經網絡隱含層神經元的中心並非是訓練集中的某些樣本點或樣本的聚類中心,需要通過學習的方法獲得,使所得到的中心能夠更好地反應訓練集數據所包含的信息。

基於高斯核的RBF神經網絡拓撲結構

      第一層輸入層:由信號源節點構成,僅起到數據信息的傳遞作用,對輸入信息不做任何變換

      第二層隱含層:節點數視需要而定。隱含層神經元核函數(作用函數)是高斯函數,對輸入信息進行空間映射的變換。

      第三層輸出層,對輸入模式做出響應。輸出層神經元的作用函數爲線性函數,對隱含層神經元輸出的信息進行線性加權後輸出,作爲整個神經網絡的輸出結果。



徑向基網絡傳遞函數是以輸入向量與閾值向量之間的距離|| X-Cj ||作爲自變量的。其中|| X-Cj ||是通過輸入向量和加權矩陣C的行向量的乘積得到的。徑向基神經網絡傳遞參數可以取多種形式。常見的有:

①Gaussian函數(高斯函數)


②Reflected sigmoidal函數(反常S型函數)


③逆Multiquadric函數(逆 畸變校正函數


較爲常用的還是Gaussian函數,本文采用Gaussian函數:

當輸入自變量爲0時,傳遞函數取得最大值1,。隨着權值和輸入向量間的距離不斷減小,網絡輸出是遞增的。也就是說,徑向基函數對輸入信號在局部產生響應。函數的輸入信號X靠近函數的中央範圍時,隱含層節點將產生較大的輸出。由此可以看出這種網絡具有局部逼近能力。


         當輸入向量加到網絡輸入端時,徑向基層每個神經元都會輸出一個值,代表輸入向量與神經元權值向量之間的接近程度。如果輸入向量關於權值向量相差很多,則徑向基層輸出接近於0,;如果輸入向量與權值向量很接近,則徑向基層的輸出接近於1,經過第二層(隱含層)的線性神經元,輸出值就靠近第二層權值。在這個過程中,如果只有一個徑向基神經元的輸出爲1,而其他神經元輸出均爲0或者接近0,那麼線性神經元的輸出就相當於輸出爲1的神經元對應的第二層(隱含層)權值的值。

RBF網絡訓練:

訓練的目的是求兩層的最終權值Cj、Dj和Wj。

訓練的過程分爲兩步:第一步是無監督學習,訓練確定輸入層與隱含層間的權值Cj、Dj;第二步是有監督學習,訓練確定隱含層與輸出層間的權值Wj。

訓練前提供輸入向量X、對應的目標輸出向量Y和徑向基函數的寬度向量Dj。

在第 l 次輸入樣品(l=1,2,...,N)進行訓練時,各個參數的表達及計算方法如下:

(1)確定參數

確定輸入向量X:

,n是輸入層單元數

確定輸出向量Y和希望輸出向量O

,q是輸出層單元數


③初始化隱含層至輸出層的連接權值

其中p是隱藏層單元數,q是輸出層單元數。

參考中心初始化的方法給出隱藏層到輸出層的權值初始化方法:


其中mink是訓練集中第k個輸出神經元中所有期望輸出的最小值;maxk是訓練集中第k個輸出神經元中所有期望輸出的最大值。

④初始化隱含層各神經元的中心參數。不同隱含層神經元的中心應有不同的取值,並且與中心的對應寬度能夠調節,使得不同的輸入信息特徵能被不同的隱含層神經元最大的反映出來。在實際應用中,一個輸入信息總是包含在一定的取值範圍內。不失一般性,將隱含層各神經元的中心分量的初值,按從小到大等間距變化,使較弱的輸入信息在較小的中心附近產生較強的響應。間距的大小可由隱藏層神經元的個數來調節。好處是能夠通過試湊的方法找到較爲合理的隱含層神經元數,並使中心的初始化儘量合理,不同的輸入特徵更爲明顯地在不同的中心處反映出來,體現高斯核的特點。

基於上述四項,RBF神經網絡中心參數的初始值爲:

(p爲隱含層神經元總個數,j=1,2,...,p)

mini是訓練集中第i個特徵所有輸入信息的最小值,maxi爲訓練集中第i 個特徵所有輸入信息的最大值。

⑤初始化寬度向量。寬度向量影響着神經元對輸入信息的作用範圍:寬度越小,相應隱含層神經元作用函數的形狀越窄,那麼處於其他神經元中心附近的信息在該神經元出的響應就越小。計算方法:


df爲寬度調節係數,取值小於1,作用是使每個隱含層神經元更容易實現對局部信息的感受能力,有利於提高RBF神經網絡的局部響應能力。

(2)計算隱含層第j 個神經元的輸出值zj


Cj是隱含層第 j 個神經元的中心向量,由隱含層第j個神經元對應於輸入層所有神經元的中心分量構成,;Dj爲隱含層第j個神經元的寬度向量,與Cj相對應,,Dj越大,隱含層對輸入向量的影響範圍就越大,且神經元間的平滑度也比較好;||.||爲歐式範數。

(3)計算輸出層神經元的輸出



其中爲輸出層第k個神經元與隱含層第 j 個神經元間的調節權重。

(4)權重參數的迭代計算

RBF神經網絡權重參數的訓練方法在這裏取爲梯度下降法。中心、寬度和調節權重參數均通過學習來自適應調節到最佳值,迭代計算如下:



 爲第k個輸出神經元與第j個隱含層神經元之間在第t 次迭代計算時的調節權重。

爲第j 個隱含層神經元對於第i個輸入神經元在第t 次迭代計算時的中心分量;

爲與中心對應的寬度

η爲學習因子

E爲RBF神經網絡評價函數:


其中,Olk爲第k 個輸出神經元在第l個輸入樣本時的期望輸出值;ylk爲第k個輸出神經元在第l個輸入樣本時的網絡輸出值。

綜上所述,給出RBF神經網絡的學習算法:

① 按(1)確定參數的五個步驟對神經網絡參數進行初始化,並給定η和α的取值及迭代終止精度ε 的值。

②按下式計算網絡輸出的均方根誤差RMS 的值,若RMS≤ε ,則訓練結束,否則轉到第③步


③按照(4)權重迭代計算,對調節權重,中心和寬度參數進行迭代計算。

④返回步驟②

------------------------------------------------------------------------------------------------------------------------------------

BP網絡用於函數逼近時,權值的調節採用的是負梯度下降法,這種調節權值 的方法有它的侷限性,既存在着收斂速度慢和局部極小等缺點。而徑向基神經網絡在逼近能力、分類能力和學習速度等方面均優於BO網絡。
從理論上講,RBF網絡和BP網絡一樣可近似任何的連續非線形函數,兩者的主要差別在於各使用不同的作用函數,BP網絡中的隱層節點使用的是
Sigmoid函數,其函數值在輸入空間中無限大的範圍內爲非零值,而RBF網絡的作用函數則是局部的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章