BP 网络常用传递函数:BP 网络的传递函数有多种
Log-sigmoid 型函数的输入值可取任意值,输出值在 0 和 1 之间;tan-sigmod 型传递函数 tansig 的输入值可取任意值,输出值在—1 到+1 之间;线性传递函数 purelin 的输入与输出值可取任意值
BP 网络通常有一个或多个隐层,该层中的神经元均采纳 sigmoid 型传递函数,输出层的神经元则采纳线性传递函数,整个网络的输出可以取任意值
各种传递函数如图 5
只改变传递函数而其余参数均固定,用本章 5
2 节所述的样本集训练 BP 网络时发现,传递函数使用 tansig 函数时要比 logsig 函数的误差小
于是在以后的训练中隐层传递函数改用 tansig函数,输出层传递函数仍选用 purelin 函数
3) 每层节点数的确定:使用神经网络的目的是实现摄像机输出 RGB 颜色空间与 CIE—XYZ 色空间转换,因此 BP 网络的输入层和输出层的节点个数分别为 3
下面主要介绍隐层节点数量的确定
对于多层前馈网络来说,隐层节点数的确定是成败的关键
若数量太少,则网络所能猎取的用以解决问题的信息太少;若数量太多,不仅增加训练时间,更重要的是隐层节点过多还可能出现所谓“过渡吻合”(Overfitting)问题,即测试误差增大导致泛化能力下降,因此合理选择隐层节点数非常重要
关于隐层数及其节点数的选择比较复杂,一般原则是:在能正确反映输入输出关系的基础上,应选用较少的隐层节点数,以使网络结构尽量简单
本论文中采纳网络结构增长型方法,即先设置较少的节点数,对网络进行训练,并测试学习误差,然后逐渐增加节点数,直到学习误差不再有明显减少为止
newff() 功能 建立一个前向 BP 网络 格式 net = newff(PR,[S1 S2
SN1],{TF1 TF2
TFN1},BTF