詳解徑向基函數神經網路RBNN,它和多層感知器MLP有何區別
原文來源:medium
作者:Ramraj Chandradevan
「機器人圈」編譯:嗯~阿童木呀、多啦A亮
在單層感知器/多層感知器(MLP)中,我們只有線性可分性,因為它們是由輸入和輸出層(MLP中的一些隱藏層)組成的。
例如,AND和OR函數是線性分離的,而XOR函數則不是線性分離的。
AND,OR,XOR函數的線性分離性
?我們至少需要一個隱藏層來導出一個非線性分離性。
?那我們的RBNN所指代的是什麼呢?它將輸入信號轉換成另一種形式,然後將其饋送到網路中以獲得線性可分離性。
?RBNN在結構上與感知器(MLP)相同。
MLP(多層感知器)和RBF(徑向基函數)之間的區別
?RBNN由輸入、隱藏和輸出層組成。RBNN被嚴格限制為只能含有一個隱藏層。我們將這個隱藏層稱為特徵向量。
?RBNN增加了特徵向量的維度。
RBNN架構的簡略圖
擴展圖顯示了具有隱藏函數的RBNN架構。
?在進行分類問題之前,我們將非線性傳遞函數應用於特徵向量。
?當我們增加特徵向量的維度時,特徵向量的線性可分離性就會增加。
相較於在低維空間中,非線性可分離問題(模式分類問題)在高維空間中具有高度可分離性。
?什麼是徑向基函數?
我們定義一個接受器= t。
我們在接受器周圍畫出confrontal映射。
高斯函數通常用於徑向基函數(confrontal映射)。因此我們定義徑向距離r = || x-t ||。
具有confrontal映射的徑向距離和徑向基函數
高斯徑向函數:?(r) = exp (- r2/2σ2),其中σ> 0。
分類僅在第二階段發生,其中隱藏函數的線性組合被驅動到輸出層
?例如,XOR函數:
我有4個輸入,而我不會在此增加特徵向量的維度。所以我將在此處選擇2個接受器。對於每個變換函數φ(x),我們都將得到每個接受器t。
現在需要考慮的是RBNN架構:
P := # 輸入特徵 / 值
M = #變換後的向量維數(隱藏層寬度). 因此通常 M ≥ P
隱藏層中的每個節點,執行一組非線性徑向基函數。
輸出值C將與分類問題保持相同(一定數量的類標籤是預定義的)。
XOR RBNN架構
具有接受器和方差的變換函數
輸出變換函數的線性組合列表
?隱藏層中只有節點執行弧度基變換函數。
?輸出層執行隱藏層的輸出的線性組合,以在輸出層給出最終的概率值。
?所以分類只@(隱層輸出層)中執行。
訓練RBNN:
?首先,我們應該使用反向傳播來訓練隱藏層。
?神經網路訓練(反向傳播)是一種曲線擬合方法。它在訓練階段適合非線性曲線。它通過隨機逼近法運行,我們稱之為反向傳播。
?對於隱層中的每個節點,我們必須找到t(接受器)和方差(σ)[方差——徑向基函數的擴展係數spread。
?在第二個訓練階段,我們必須更新隱藏層和輸出層之間的權重向量。
?在隱藏層中,每個節點表示每個變換基函數。任何一個函數都可以滿足非線性的可分離性,甚至組合函數也可以滿足非線性的可分離性。
?所以在我們的隱藏層轉換中,包括了所有的非線性項。就像X2+Y2+ 5XY;它都包含在超曲面方程(X&Y是輸入)中。
?因此,第一階段的訓練是通過聚類演算法完成的。我們定義我們需要的聚類中心數量。並且通過聚類演算法,我們計算聚類中心,然後將其分配為每個隱藏神經元的接受器。
?我必須將N個樣本或觀察值聚類到M個簇(N> M)中。
?所以輸出「簇」是「接受器」。
?對於每個接受器,我可以發現方差為「各受體與每個簇最近樣本之間的距離的平方和」:= 1 / N * || X-t ||2。
?第一個訓練階段的演繹是「將特徵向量投影到變換空間」。
描述RBNN的複雜圖表
RBNN與MLP相比較
1、RBNN的訓練速度比在多層感知器(MLP)中更快在MLP中進行許多「交互」。
2、我們可以很容易地解釋RBNN隱藏層中每個節點的含義/功能是什麼。這在MLP中卻很困難。
3、(隱藏層中的#節點數目以及隱藏層的#數量)在MLP中這個參數化是很困難的。但是在RBNN中沒有發現這點。
4、分類在RBNN中比MLP需要更多的時間。
點擊展開全文


※K-NN聚類演算法的良好泛化,可用於數據簡化
※未標註的數據如何處理?一文讀懂變分自編碼器VAE
※視頻識別怎樣理解?其實,我們可以將其可視化!
※用AI預測北京霧霾?有Keras在手,LSTM可分分鐘解決
TAG:機器人圈 |