newff函数只是初始化一个神经网络,之后还得用train函数训练,训练好的net就是你要的网络。
newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。
newff()这个函数是建立一个神经网络的函数,其中括号里面的参数含义依次是:输入数据和输出数据的范围,隐含层神经元个数,传递函数设置
像BP网编程这块,需要先给出输入和期望输出的数据矩阵,然后newff函数建立网络,然后train函数训练网络,在这个训练中你需要设置一些训练目标和训练次数等参数,然后还有一个sim仿真函数,就是把新的样本数据做为输入,通过这个我们训练好的网络判断这个样本所属分类。因为我用BP网主要做的是分类的实验,所以就从分类这块给你说明了。
学BP网络,我个人经验是需要把BP的正向输出和反向误差修改权值阈值这个学习过程,自己先手算明白,然后自己编程序实验,最后再用MATLAB的封装函数NEWFF这些,你会发现NEWFF和我们自己理解的训练过程还是有细微的差别的。