神經網絡學習筆記(六) 廣義回歸神經網絡


https://blog.csdn.net/cyhbrilliant/article/details/52694943

廣義回歸神經網絡 GRNN

(General Regression Neural Network)

廣義回歸神經網絡是基於徑向基函數神經網絡的一種改進。

結構分析:

 

可以看出,這個結構與之前我們所講過的徑向基神經網絡非常相似,區別就在於多了一層加和層,而去掉了隱含層與輸出層的權值連接。

1.輸入層為向量,維度為m,樣本個數為n,線性函數為傳輸函數。

2.隱藏層與輸入層全連接,層內無連接,隱藏層神經元個數與樣本個數相等,也就是n,傳輸函數為徑向基函數。

3.加和層中有兩個節點,第一個節點為每個隱含層節點的輸出和,第二個節點為預期的結果與每個隱含層節點的加權和。

4.輸出層輸出是第二個節點除以第一個節點。

理論基礎

廣義回歸神經網絡對x的回歸定義不同於徑向基函數的對高斯權值的最小二乘法疊加,他是利用密度函數來預測輸出。

假定x,y為兩個隨機變量,聯合概率密度為 f(x,y)。
我們就得到以下公式: (x0)=F(y*f(x0,y))/F(f(x0,y)). F代表積分。
(x0)就是y在x0條件下在預測輸出。 x0是的觀測值。

現在未知數就是f(x,y)。

怎樣估計已知數值而未知分布的密度函數呢?這里我們使用Parzen非參數估計方法。
窗口函數選擇為高斯窗口。

得到下式 y(x0)=F(y*exp(-d))/F(exp(-d))。

d代表的就是離中心的距離,exp(-d)就是徑向基函數隱含層的輸出。

程序講解

首先我們還是和徑向基函數神經網絡一樣,設定一組數據。

p=-9:1:8;
x=-9:.2:8;
t=[129,-32,-118,-138,-125,-97,-55,-23,-4,2,1,-31,-72,-121,-142,-174,-155,-77];
1
2
3
4
p,t分別代表輸入輸出,x為測試樣本,與徑向基函數神經網絡不同的是,這些數據需要在創建時一起輸入,而不需要類似徑向基那樣的權值訓練,GRNN並不存在權值,所以網絡不能保存,用的時候直接擬合即可。

而正因為GRNN沒有權值這一說,所以不用訓練的優勢就體現在他的速度真的很快。而且曲線擬合的非常自然。樣本精准度不如徑向基精准,但在實際測試中表現甚至已經超越了bp。

接下來就是隱含層的處理,不同於RBF的是,隱含層沒有了恆為1的向量輸出添加。

spread=1;

chdis=dist(x',p);
chgdis=exp(-chdis.^2/spread);
chgdis=chgdis';
1
2
3
4
5
最后是加和層與輸出層,這里我們把式子寫在一起。

y=t*chgdis./(sum(chgdis));
1
看一下輸出效果

 

   

對比一下徑向基函數所訓練出來的權值神經網絡

 

結束語

雖然GRNN看起來沒有徑向基精准,但實際在分類和擬合上,特別是數據精准度比較差的時候有着很大的優勢。
---------------------
作者:cyhbrilliant
來源:CSDN
原文:https://blog.csdn.net/cyhbrilliant/article/details/52694943
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM