在进行BP神经网络设计时,需要考虑以下问题:
- 网络的拓扑结构(隐层的层数及各层的神经元的数目);
- 神经元的变换函数选取;网络的初始化(连接权值和阈值的初始化);
- 训练参数设置;
- 训练样本的归一化处理;
- 样本数据导入方式等。
根据以上分析可知,对于网络的实现有四个基本的步骤:
- 网络建立:通过函数newff实现,它根据样本数据自动确定输入层、输出层的神经元数目;隐层神经元数目以及隐层的层数、隐层和输出层的变换函数、训练算法函数需由用户确定。
- 初始化;通过函数init实现,当newff在创建网络对象的同时,自动调动初始化函数init,根据缺省的参数对网络进行连接权值和阈值初始化。
- 网络训练:通过函数train实现,它根据样本的输入矢量P、目标矢量T;和预先已设置好的训练函数的参数;对网络进行训练。
- 网络仿真:通过函数sim实现,它根据已训练好的网络,对测试数据进行仿真计算