[转载]R语言BP神经网络建模newff,train,sim函数详解
(2019-02-19 09:24:41)
标签:
转载 |
所使用的包:AMORE
建立BP神经网络所需要的函数:newff,train和sim。
newff(n.neurons, learning.rate.global, momentum.global, error.criterium, Stao,
参数:
n.neurons:一个数字型向量,第一个向量值表示训练样本输入神经元的个数,最后一个向量值表示训练样本输出神经元的个数,中间的向量值依次表示各个隐藏层神经元的个数。
Example:n.neurons=c(12,2,4) 表示一个3层神经网络即12-2-4
n.neurons=c(12,2,4,4) 表示一个4层神经网络即 12-2-4-4,含有2个隐层
learning.rate.global :该参数用于设置神经元学习率
momentum.global :设置全局动量指标,部分训练方法将用到
error.criterium : 用于设置训练误差函数所采用的方法。包括了:
Stao : 此参数用于error.TAO 函数,其他误差函数无效。
hidden.layer : 设置隐藏层神经元采用的激励函数,包括:
"tansig" : 传递函数
"sigmoid". S型函数
"hardlim".
"custom": 用户自定义的函数
output.layer : 设置输出层神经元采用的激励函数,包括:
"tansig" : 传递函数
"sigmoid". S型函数
"hardlim".
"custom": 用户自定义的函数
method : 设置训练方法即权重更新时所采用的方法。
train(net, P, T, Pval=NULL, Tval=NULL, error.criterium="LMS", report=TRUE,
作用:对于给定的数据集或者训练集,用于修改链接权重值和误差值。更好的用于非线性拟合。
net : newff 产生的对象
P : 训练集的输入值
T : 训练集的输出值
Pval : 检验数据集的输入值,用于检测是否过拟合提前停止训练
Tval : 检验数据集的输出值
error.criterium : 同newff参数
Stao:同newff参数
report : 逻辑类型,用于设置在训练过程是否有图形/文字信息提示
n.shows :用于设置显示report的次数,与show.step 共同决定迭代的次数,总迭代次数等于两者的乘积
show.step : 从源码中得知每次训练的次数,总的迭代次数等于n.shows * show.step 之积
prob: 在进行重采样时设置的概率
sim(net,P,...)
用于网络仿真。