除了表中的初始化函数,还可以自定义初始化函数。当init函数被调用时,initFcn定义的函数将对第i个层的阈值向量(net.biases{i})进行初始化:net=init(net)
(2)learn属性
net.biases{i}.learn,该属性定义第i个阈值向量在训练和调整过程中是否变化。其值可以设置为0或1。它容许或禁止在训练(train)和调整(adapt)过程中对阈值向量进行学习:
[net, Y, E, Pf, Af]=adapt(NET, P, T, Pi, Ai) [net, tr]=train(NET, P, T, Pi, Ai)
(3)learnFcn属性
net.biases{i}.learnFcn,如果网络的训练函数是trainb、trainc和trainr,或者网络的调整函数为trains,则该属性定义第i个网络层阈值向量在训练和调整学习过程中的学习函数。其值可以设置成神经网络工具箱中的如下函数名:
learncon---“良心(conscience)”阈值初始化函数;
learngd---梯度下降权值/阈值学习函数; learngdm---附加动量因子的梯度下降权值/阈值学习函数;
learnp---感知器权值/阈值学习函数;
learnpn---归一化感知器权值/阈值学习函数; learnwh---WH(Widrow-Hoff)权值/阈值学习规则; 该属性值一旦改变,则阈值向量的学习参数(net.biases{i}.learnParam)将被新定义的学习函数的参数及其默认参数值代替。
(4)learnParam属性
net.biases{i}.learnParam,该属性定义了第i个网络层阈值向量当前学习函数的参数及参数值,其值取决于当前的学习函数(net.biases{i}.learnFcn),可以通过如下查阅获得:
help(net.biases{i}.earnFcn)
(5)size属性(只读)
net.biases{i}.size,该属性定义了第i个网络层阈值向量元素的数目,其值为底i个网络层神经元的数目(net.layers{i}.size)。
(6)userdata属性
net.biases{i}.userdata,该属性为用户提供了增加关于第i个网络层阈值的用户信息的地方,它预先只定义一个字段,其值为一提示信息: net.biases{i}=note:'Put your custom output information here.'
用户可以通过修改net.biases{i}.userdata.note的值,增加关于第i个网络层目标向量的用户信息。