RBF神经网络通用函数 newrb, newrbe

来源:互联网 发布:windows phone 输入法 编辑:程序博客网 时间:2024/04/30 22:02

免责声明:本文仅代表个人观点,如有错误,请读者自己鉴别;如果本文不小心含有别人的原创内容,请联系我删除;本人心血制作,若转载请注明出处

1、newrb


其中P为输入向量,T为输出向量,GOAL为均方误差的目标,SPREED为径向基的扩展速度。返回值是一个构建好的网络,用newrb()创建的RBF网络是一个不断尝试的过程,在创建中不断的增加中间层的数量和神经元的数目,直到满足输出的误差为止。

MN为最大的神经元个数,即神经元个数到了MN后立即停止网络训练,DF是每次加进来的网络参数,只是输出的时候用,如下所示:

net=newrb(p,tt,err_goal,3,200,1);

MN设置为26,DF设置为1

NEWRB, neurons = 18, MSE = 0.011491
NEWRB, neurons = 19, MSE = 0.0112313
NEWRB, neurons = 20, MSE = 0.00997861
NEWRB, neurons = 21, MSE = 0.00958902
NEWRB, neurons = 22, MSE = 0.00640151
NEWRB, neurons = 23, MSE = 0.0063966
NEWRB, neurons = 24, MSE = 0.00433493
NEWRB, neurons = 25, MSE = 0.00101596
NEWRB, neurons = 26, MSE = 0.000828287


如果要进行分类,最好把图像的标签格式设置成 one of Z 模式,即,假如一共有6类,第一类标签为[1,0,0,0,0,0],第二类为[0,1,0,0,0,0],以此类推。

2、newrbe


基本应用与newrb相似,newrbe创建神经网络时,其RBF神经元数等数输入样本数量;创建速度非常快,可一次性得到一个零误差的径向基网络;但是规模大,一次性处理数据大。newrb创建网络时,一开始是没有RBF神经元的,它先从输入数据中最大误差的那个样本着手,增加一个RBF神经元,得到相应的输出,然后会重新设计网络线性层来逐步减小误差,反过来 又重复根据下一个最大误差的样本,又增加一个神经元.....一直这样使误差减小,直到误差达到规定的误差性能或者神经元数量达到上限时,整个建网才算结束。newrb没哟newrbe这个建网快,但它能获得更小规模的神经网络。

1 0