冰冰点灯,照亮我家门前~
欢迎进入nnetinfo
用户名:
密码:
深圳学习数据分析,数据挖掘,请联系yahushuxue@163.com~
nnetinfo : 本网发布神经网络相关的学习与研讨内容。
当前位置:教学区
广义回归神经网络(matlab工具箱)
作者:梁小h   日期:2015-10-26 09:39:27.0

   =====  <文档仅供查阅和简单了解,深入了解请关注神经网络之家发布的___神经网络教学视频___>   ====

 

      广义回归神经网络虽然名字里没有带有“径向基”字样,但实际上它仍然属于径向基神经网络的一种,主要是

它的传递函数用的就是径向基。

      径向基神经网络在matlab中使用newgrnn建立。广义回归神经网络和精确径向基神经网络一样,可以极快的

建立起来,因为它们几乎不用作任何计算,更不会涉及径向基神经网络(newrb)逐步迭代的学习方式。

因此,它们最大的优点是,

1.可以极快建立,

2.只要扩展系数spread设置得当,误差会比较小,甚至会无误差。

 

最大的缺点:

隐层神经元太多,有多少个样本,就有多少个隐层神经元。

 

其它的特性就只能在案例,或者视频中讨论了。

 

     下面翻译matlab的doc文档给大家,以供深入了解怎么在matlab里使用广义神经网络newgrnn(为方便大家

理解,本人作了些少改动)。

 

语法

net = newgrnn(P,T,spread)

 

说明:

     广义回归神经网络(grnnS)是一种通常用于函数拟合的径向基神经网络,grnnS可以很快的被设计出来。

    net=newgrnn(P,T,spread)有三个入参。

P R行Q列的输入矩阵,R个输入变量,Q个样本。
T S行Q列的目标输出矩阵,S个输出变量,Q个样本。
spread

径向基函数的扩展系数(默认=1.0)

 

        返回一个新的广义回归神经网络。

 

       扩展系数越大,拟合的函数越平滑。拟合样本与样本非常靠近的数据,建议使用一个比样本之间的距离更小的扩

展系数。拟合很平滑的数据,用一个大的扩展系数。

       newgrnn创建一个双层的神经网络。第一层拥有径向基神经元,用dist来计算权重输入和用netprod计算网络输

入。第二层拥有线性神经元,用normprod计算输入权重,和用netsum计算网络输入。只有第一层有阈值。

        newgrnn将第一层的权重设置为P',阈值设为0.8326/spread,使权重输入为+/– spread时,径向基的值为0.5。

第二层的权重设为T。

 

例子: 对于给定的输入 P和目标T,你可以设计一个径向基神经网络如下:

 

P = [1 2 3]; T = [2.0 4.1 5.9];

net = newgrnn(P,T);

 

下面网络拟合一个新的输入

 

P = 1.5; Y = sim(net,P)

 

 

==============<原创文章,转载请说明来自神经网络之家www.nnetinfo.com>     ==========