1. 程式人生 > >深度學習之徑向基函式神經網路RBFNN

深度學習之徑向基函式神經網路RBFNN

徑向基函式(Radial Basis Function)神經網路是具有唯一最佳逼近(克服區域性極小值問題)、訓練簡潔、學習收斂速度快等良好效能的前饋型神經網路,目前已證明RBFNN能夠以任意精度逼近任意連續的非線性網路,被廣泛用於函式逼近、語音識別、模式識別、影象處理、自動控制和故障診斷等領域。

全域性逼近網路:網路的一個或多個權值對任一輸出都有影響。由於每次輸入都要對所有權值進行修正,因此這種網路的學習速度很慢,無法滿足實時性要求,如DNN(MLP)。

區域性逼近網路:對於輸入空間的某區域性區域只有少數幾個連線權影響輸出,有可能滿足實時性要求,如RBFNN。

一、RBFNN結構

RBFNN包含3層結構,即只有一個隱藏層:

1、輸入層是由N個感知單元組成,表示信源節點輸入;

        輸入層僅起到輸入資料的作用,輸入層和隱藏層之間的連線權值為1。

2、隱藏層含有M個徑向基神經元(啟用函式為RBF),將低維非線性可分的輸入對映到高維線性可分的空間;

        隱藏層節點的啟用函式對輸入區域性響應,當輸入靠近基函式中央範圍時,隱藏層節點將產生較大的輸出;

        遠離中心點時,輸出將呈指數衰減。

3、輸出層含有P個線性神經元(啟用函式為線性函式),最終的輸出是隱藏層神經元輸出的線性加權和。

       

二、RBFNN原理

徑向基函式RBF是中心點徑向對稱、取值僅依賴於距中心點距離的非負實值函式,常用的RBF使用歐氏距離及高斯函式,令μi為隱藏層第i個節點的高斯函式中心點,σi為第i個節點的寬度引數/方差:

        \phi (\left \| x-\mu _{i} \right \|)=exp\left ( -\frac{\left \| x-\mu_{i} \right \|^{2}}{2\sigma ^{2}} \right )

RBF的基本思想是將低維線性不可分的資料對映到高維空間,使其在高維空間線性可分。就像SVM中只需要找到代表資料的支援向量一樣,RBF也只需要找到能夠代表資料的中心點即可。與傳統DNN的BP演算法不同之處是,RBF網路不用對全域性連線權值進行訓練,只對一些重要的影響輸出的權重進行調整,提高了訓練速度,因此該函式也稱區域性響應函式。

RBFNN需要選擇M個隱藏層基函式,輸入向量與中心點之間的距離||x-μ||越小則網路的輸出就越大。中心點矩陣的大小為隱層神經元數M*輸入層神經元數N,每個μi對應的σi使得不同的輸入資訊能被不同的隱層神經元最大程度的反映出來。

最終的輸出為:

        y_{j}=\sum_{i=1}^{M}w_{ij}\phi (\left \| x-\mu _{i} \right \|^{2})\, ,\; \; j=1,2,...,P

RBFNN的優缺點

優點:非線性擬合能力強,全域性最優逼近;區域性接受特性使得決策時含有距離的概念,學習規則簡單、拓撲結構緊湊、結構引數可實現分離學習,收斂速度快,便於計算機實現;穩定性、泛化能力、記憶能力強,具有強大的自學習能力等。

缺點:解釋性差,資料不充分時無法工作,難以確定隱藏層節點數、節點中心和寬度,優選過程出現數據病態現象等。

三、RBFNN分類

        1、正則化RBFNN(RN)

正則化RBFNN的隱藏層節點個數等於輸入樣本數M=N,隱節點啟用函式為高斯形式的Green函式,並將所有輸入樣本設為徑向基函式的中心點,各個徑向基函式採取統一的方差:

        \sigma =\frac{d_{max}}{\sqrt{2M}}\, ,\; \; d_{max}=max\left \{|\mu_{i}-\mu_{j}|,0 \right \}\, ,\; \; i\neq j

        F(x)=\sum_{j=1}^{P}w_{j}G(x,x_{j})

        G(x,x_{j})=G(||x-x_{j}||)=exp\left ( -\frac{1}{2\sigma ^{2}}||x-x_{j}||^{2} \right )       

其中d_{max} 是中心點之間的最大距離,M是中心點個數。

由於易受噪聲影響,且可能是超定問題,需要加入一個含有解的先驗知識的約束來控制對映函式的光滑性:

        \underset{F}{min}E(F)=\frac{1}{2}\sum_{j=1}^{P}(y_{j}-F(x_{j}))^{2}+\frac{1}{2}\lambda \left \| DF \right \|^{2}

其中λ為正則化引數,D為線性微分運算元,代表對F(x)的先驗知識。確定隱藏層神經元的中心位置後,只需要解線性方程組得到W的解析解即可確定該RBFNN模型:

        W=(G+\lambda I)^{-1}Y

這種方法適用於一些樣本量小的問題,特點是計算量小、過程簡單,易受噪聲影響、可能是超定問題,需要加入正則項。

        2、廣義RBFNN(GN)

使用徑向基函式作為隱節點的基函式,對輸入向量進行變換,從輸入層到隱藏層相當於把低維空間的資料對映的到高維空間。輸入層節點個數為樣本的維度,隱藏層節點個數多於輸入層節點個數,但一定比樣本總個數少得多,因此減小了計算量且避免了病態資料的問題。

樣本維數N < 隱層節點個數M < 樣本總個數

        兩種模型的比較

RN

GN

隱節點=輸入樣本總數

隱節點<輸入樣本總數

中心點為所有輸入樣本點的位置

中心點由訓練演算法確定

方差統一

方差不統一,由訓練演算法確定

不設定閾值

輸出函式的線性變換中包含閾值引數,用於補償基函式在樣本集上的平均值與目標值平均值之間的差值

四、RBFNN訓練

RBFNN的設計包括結構設計和引數設計,即隱藏層需要幾個節點(RN中M=N),確定基函式引數\mu _{i}\sigma _{i},使用BP演算法求解隱藏層與輸出層之間的權值w_{ij}。RBFNN常用的中心選擇方法有:隨機中心選取法、自組織學習選取中心法和正交最小二乘法等。

        1、隨機中心選取法

一般在樣本密集的地方可以適當多選擇一些樣本作為中心點,在稀疏的地方適當少些;若資料本身是均勻分佈的,則中心點也可以均勻分佈,總之選出的資料中心點應具有代表性。為了避免每個徑向基函式太尖銳或者太平坦,可以將方差設為\sigma =\frac{d_{max}}{\sqrt{2M}}

        2、自組織學習中心選取法

這種方法由無監督和監督學習兩個階段混合組成,無監督學習階段用K-means聚類演算法確定RBF的中心,並根據各中心點之間的距離來確定隱節點的方差;監督學習階段一般採用梯度下降法得到輸出層的權值。除了以上2種演算法外,還有RAN、RANEKF、MRAN、GIRAN等演算法。

選擇M個不同的向量作為初始聚簇中心,計算輸入各樣本與聚簇中心的歐式距離,設定閾值根據距離對樣本進行歸類,從而將全部樣本劃分為M個子集,每個子集構成一個以聚簇中心為代表的簇。

對各簇中樣本取均值,或者採用競爭學習規則調整聚簇中心,直到聚簇中心的調整小於閾值為止。

確定了中心點後,可根據中心點之間的距離計算方差,λ為重疊係數:

        d_{j}=min(\mu_{i}-\mu_{j})\, ,\; \; i\neq j

        \sigma _{j}=\lambda d_{j}

       

        3、梯度下降法

使用監督學習演算法訓練得到RBF中心、方差及輸出權值,同BP演算法一樣經歷誤差修正的學習過程,忽略閾值定義目標函式為:

        E=\frac{1}{2}\sum_{j=1}^{P}e_{j}^{2}

        e_{j}=y_{j}-\sum_{i=1}^{M}w_{ij}G(||x-\mu_{i}||)

為了使目標函式最小化,各個引數的修正量應與其負梯度成正比。

        \Delta \mu_{i}=-\eta\frac{\partial E}{\partial \mu_{i}}=\eta\frac{w_{ij}}{\sigma _{i}^{2}}\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)(x-\mu_{i})

        \Delta \sigma _{i}=-\eta\frac{\partial E}{\partial \sigma _{i}}=\eta\frac{w_{ij}}{\sigma _{i}^{3}}\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)||x-\mu_{i}||^{2}

        \Delta w_{ij}=-\eta\frac{\partial E}{\partial w_{ij}}=\eta\sum_{j=1}^{P}e_{j}G(||x-\mu_{i}||)

        4、正交最小二乘法OLS

Orthogonal Least Square的思想來源於加權線性迴歸模型,輸出Y是隱節點某種響應引數(迴歸運算元:隱節點的輸出)和隱藏層與輸出層之間連線權重的線性組合:Y=PW+E 。所有隱節點的迴歸運算元構成迴歸向量P,學習的過程主要是迴歸向量正交化的過程。

OLS方法要求把P變換為一個關於正交基向量表示的矩陣,使得P可以表示出各個基向量對輸出的貢獻大小,對P做QR分解:

        P=QR

其中Q為正交矩陣,R為上三角矩陣,主對角線元素為1,對角線下方元素為0。

Y=QG+E\, ,\; \; G=RW 為新的迴歸引數向量,求得G後就可得到W的解析解W=R^{-1}G

參考資料