4.2 神经网络的设计
在得到信号的特征向量以后,下一步工作就是建立并训练神经网络去对信号进行分类识别。
(1)输入和输出层的设计
输入层的输入单元个数可以根据特征向量的维数决定。本文选取了5种特征向量,输入层则选择5个输入单元。
输出层的维数根据使用的要求确定。若将BP神经网络用作分类器,类别模式一共有m个,那么输出层的神经元的个数为m或
,或采用线性输出。本文采用线性输出。
(2)隐含层的设计
对于BP网络,有一个非常重要的定理。即对于任何在闭区间内的一个连续函数都可以用单隐含层的BP网络逼近,因而一个三层BP网络可以完成任意的n维到m维的映射。
隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐含层的数目与问题的要求、输入/输出单元的数目都有直接关系。隐含层数目太多会导致学习时间过长、误差不一定最佳,也会导致容错性差、不能实现以前没有看到的样本,因此存在一个最佳的隐单元数。以下2个公式可用于选择最佳隐单元数时的参考公式。
1) ,其中,m为输出神经元数,n为输入神经元数,a为
[1,10]之间的常数。
2) ,其中,n为输入神经元数。
神经网络MATLAB工具箱介绍:
1)新建net=newff(输入向量范围,网络结构,各层转移函数,网络调整算法)
2)初始化Net=init(net)
3)训练Train(net,p,t)
4)仿真Sim(net,p)
4.3 BP网络训练及识