神经网络学习笔记(二)GRNN广义回归神经网络

广义回归神经网络(GRNN)

广义回归神经网络是径向基神经网络的一种,GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好,还可以处理不稳定数据。虽然GRNN看起来没有径向基精准,但实际在分类和拟合上,特别是数据精准度比较差的时候有着很大的优势。

关于RBF,GRNN与PNN

  • RBF网络是一个两层的网络,除了输入输出层之外仅有一个隐层。隐层中的转换函数是局部响应的高斯函数,而其他前向型网络,转换函数一般都是全局响应函数。由于这样的不同,要实现同样的功能,RBF需要更多的神经元,这就是RBF网络不能取代标准前向型网络的原因。但是RBF的训练时间更短。它对函数的逼近是最优的,可以以任意精度逼近任意连续函数。隐层中的神经元越多,逼近越较精确.

  • 径向基神经元和线性神经元可以建立广义回归神经网络,它是径RBF网络的一种变化形式,经常用于函数逼近。在某些方面比RBF网络更具优势。

  • 径向基神经元和竞争神经元还可以组成概率神经网络。PNN也是RBF的一种变化形式,结构简单训练快捷,特别适合于模式分类问题的解决。

一、GRNN网络结构

GRNN是RBF的一种改进,结构相似。区别就在于多了一层求和层,而去掉了隐含层与输出层的权值连接(对高斯权值的最小二乘叠加)。

 

文字解析:

1.输入层为向量,维度为m,样本个数为n,线性函数为传输函数。

2.隐藏层与输入层全连接,层内无连接,隐藏层神经元个数与样本个数相等,也就是n,传输函数为径向基函数。

3.加和层中有两个节点,第一个节点为每个隐含层节点的输出和,第二个节点为预期的结果与每个隐含层节点的加权和。

4.输出层输出是第二个节点除以第一个节点。

二、GRNN的MATLAB实现

%设置变量
data=-9:1:8;
x=-9:.2:8;
label=[129,-32,-118,-138,-125,-97,-55,-23,-4,2,1,-31,-72,-121,-142,-174,-155,-77];
%由于grnn没有权值的处理,不用训练使得他的处理速度很快
%隐藏层的处理
spread=1; %默认值
chdis=dist(x',data)
chgdis=exp(-chdis.^2/spread);
chgdis=chgdis';
%加和输出
y=t*chgdis./(sum(chgdis))



查看图像效果

plot(x,y,'o')

这里写图片描述

你可能感兴趣的:(神经网络学习笔记(二)GRNN广义回归神经网络)