RBF(徑向基)神經網路

  • 2019 年 11 月 12 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/weixin_36670529/article/details/102920776

只要模型是一層一層的,並使用AD/BP演算法,就能稱作 BP神經網路。RBF 神經網路是其中一個特例。本文主要包括以下內容:

  • 什麼是徑向基函數
  • RBF神經網路
  • RBF神經網路的學習問題
  • RBF神經網路與BP神經網路的區別
  • RBF神經網路與SVM的區別
  • 為什麼高斯核函數就是映射到高維區間
  • 前饋網路、遞歸網路和回饋網路
  • 完全內插法

一、什麼是徑向基函數

1985年,Powell提出了多變數插值的徑向基函數(RBF)方法。徑向基函數是一個取值僅僅依賴於離原點距離的實值函數,也就是Φ(x)=Φ(‖x‖),或者還可以是到任意一點c的距離,c點稱為中心點,也就是Φ(x,c)=Φ(‖x-c‖)。任意一個滿足Φ(x)=Φ(‖x‖)特性的函數Φ都叫做徑向基函數,標準的一般使用歐氏距離(也叫做歐式徑向基函數),儘管其他距離函數也是可以的。最常用的徑向基函數是高斯核函數 ,形式為 k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) } 其中x_c為核函數中心,σ為函數的寬度參數 , 控制了函數的徑向作用範圍。

二、RBF神經網路

RBF神將網路是一種三層神經網路,其包括輸入層、隱層、輸出層。從輸入空間到隱層空間的變換是非線性的,而從隱層空間到輸出層空間變換是線性的。流圖如下:

RBF網路的基本思想是:用RBF作為隱單元的「基」構成隱含層空間,這樣就可以將輸入矢量直接映射到隱空間,而不需要通過權連接。當RBF的中心點確定以後,這種映射關係也就確定了。而隱含層空間到輸出空間的映射是線性的,即網路的輸出是隱單元輸出的線性加權和,此處的權即為網路可調參數。其中,隱含層的作用是把向量從低維度的p映射到高維度的h,這樣低維度線性不可分的情況到高維度就可以變得線性可分了,主要就是核函數的思想。這樣,網路由輸入到輸出的映射是非線性的,而網路輸出對可調參數而言卻又是線性的。網路的權就可由線性方程組直接解出,從而大大加快學習速度並避免局部極小問題。

徑向基神經網路的激活函數可表示為:

其中xp

徑向基神經網路的結構可得到網路的輸出為:

當然,採用最小二乘的損失函數表示:

三、RBF神經網路的學習問題

求解的參數有3個:基函數的中心、方差以及隱含層到輸出層的權值。

(1)自組織選取中心學習方法:

第一步:無監督學習過程,求解隱含層基函數的中心與方差

第二步:有監督學習過程,求解隱含層到輸出層之間的權值

首先,選取h個中心做k-means聚類,對於高斯核函數的徑向基,方差由公式求解:

cmax為所選取中心點之間的最大距離。

隱含層至輸出層之間的神經元的連接權值可以用最小二乘法直接計算得到,即對損失函數求解關於w的偏導數,使其等於0,可以化簡得到計算公式為:

(2)直接計演算法:

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

(3)有監督學習演算法:

  通過訓練樣本集來獲得滿足監督要求的網路中心和其他權重參數,經歷一個誤差修正學習的過程,與BP網路的學習原理一樣,同樣採用梯度下降法。因此RBF同樣可以被當作BP神經網路的一種。

  參考:http://read.pudn.com/downloads110/sourcecode/others/454289/Paper/pdf/y9935500004.pdf

四、RBF神經網路與BP神經網路之間的區別

1、局部逼近與全局逼近: 

BP神經網路的隱節點採用輸入模式與權向量的內積作為激活函數的自變數,而激活函數採用Sigmoid函數。各調參數對BP網路的輸出具有同等地位的影響,因此BP神經網路是對非線性映射的全局逼近。RBF神經網路的隱節點採用輸入模式與中心向量的距離(如歐式距離)作為函數的自變數,並使用徑向基函數(如Gaussian函數)作為激活函數。神經元的輸入離徑向基函數中心越遠,神經元的激活程度就越低(高斯函數)。RBF網路的輸出與部分調參數有關,譬如,一個wij值隻影響一個yi的輸出(參考上面第二章網路輸出),RBF神經網路因此具有「局部映射」特性。

所謂局部逼近是指目標函數的逼近僅僅根據查詢點附近的數據。而事實上,對於徑向基網路,通常使用的是高斯徑向基函數,函數圖象是兩邊衰減且徑向對稱的,當選取的中心與查詢點(即輸入數據)很接近的時候才對輸入有真正的映射作用,若中心與查詢點很遠的時候,歐式距離太大的情況下,輸出的結果趨於0,所以真正起作用的點還是與查詢點很近的點,所以是局部逼近;而BP網路對目標函數的逼近跟所有數據都相關,而不僅僅來自查詢點附近的數據。

2、中間層數的區別

BP神經網路可以有多個隱含層,但是RBF只有一個隱含層。

3、訓練速度的區別

使用RBF的訓練速度快,一方面是因為隱含層較少,另一方面,局部逼近可以簡化計算量。對於一個輸入x,只有部分神經元會有響應,其他的都近似為0,對應的w就不用調參了。

4、Poggio和Girosi已經證明,RBF網路是連續函數的最佳逼近,而BP網路不是。

五、RBF神經網路與SVM的區別

SVM等如果使用核函數的技巧的話,不太適應於大樣本和大的特徵數的情況,因此提出了RBF。另外,SVM中的高斯核函數可以看作與每一個輸入點的距離,而RBF神經網路對輸入點做了一個聚類。RBF神經網路用高斯核函數時,其數據中心C可以是訓練樣本中的抽樣,此時與svm的高斯核函數是完全等價的,也可以是訓練樣本集的多個聚類中心,所以他們都是需要選擇數據中心的,只不過SVM使用高斯核函數時,這裡的數據中心都是訓練樣本本身而已。

六、為什麼高斯核函數就是映射到高維空間

首先給出高斯核函數的定義公式:

實際上,可以化簡為:

當然通過冪級數展開:

可以看到,其中X向量會生成類似多項式核展開的形式,譬如原來的參數有x1,x2。映射後,參數包含了x1*x1 ,x1*x2,x2*x2將原來2維映射到3維上了。

七、前饋網路、遞歸網路和回饋網路

前饋網路一般指前饋神經網路或前饋型神經網路。它是一種最簡單的神經網路,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層,各層間沒有回饋。包括:BP神經網路、RBF神經網路等。遞歸神經網路(RNN)是兩種人工神經網路的總稱。一種是時間遞歸神經網路(recurrent neural network),又名循環神經網路,包括RNN、LSTM、GRU等;另一種是結構遞歸神經網路(recursive neural network)。回饋網路(Recurrent Network),又稱自聯想記憶網路,其目的是為了設計一個網路,儲存一組平衡點,使得當給網路一組初始值時,網路通過自行運行而最終收斂到這個設計的平衡點上。包括CHNN、DHNN等。

八、完全內插法

之所以RBF能夠擬合任意函數,可以從內插法的角度去理解。要擬合一個曲線,我們可以通過內插法獲得這個曲線的表達函數,譬如:多項式插值、拉格朗日插值等。RBF 插值是一系列精確插值方法的組合;即表面必須通過每一個測得的取樣值。

對於RBF插值,其特點即為,在輸入數據集中,與中心點距離近的點對映射函數的貢獻最大。  完全內插法即要求所有插值點都經過曲面,由於RBF內插對於每個x都有用到,所以是一種完全內插的形式,存在的問題就是當樣本中包含雜訊時,神經網路將擬合出一個錯誤的曲面,從而使泛化能力下降。另外,若樣本x的數據遠大於非線性函數φ,該求解變得不穩定,即為解超定方程。因此需要引入正則化方法,正則化的方法即通常加上正則化項。