A. BP神经网络的问题
隐层节点数一般大于等于输入层节点数。训练算法Traingdm 可以改成Trainlm等其他算法。
B. 能不能介绍一下,BP神经网络中权系数初始值、学习率(步长)、学习步数、学习目标最小误差等参数
权值第一次是被随机给定的较小的值,步长一般设为较小的正值(防止越过最小值),学习步数是由权值和步长决定的,误差一般采用最小均方误差。
详细的介绍可以网络一下很多课件或者课本的。若不想找我可以发给你,给我邮箱。
C. 求matlab高手写bp神经网络写一个6输入3输出的模型
比如输入以下这些,属于2输入1输出的:
p=[1,2;3,4;5,6;7,8];
%输入 一共四组,每组两个
t=[3,7,11,15];
%教师输出 只输出1个值,对应输入的4个
net=newff(p',t,{10,10},{'tansig','tansig'},'trainlm');
%创建名为net的bp网络
%newff(输入,输出,{隐层节点,隐层节点。。。有几层设几个},{‘传输 函数’,‘传输函数’。。。有几层设几个},训练函数)
net.trainParam.goal = 0.00001; %设置精确度
net.trainParam.epochs = 5000; %设置步长
[net,tr] = train(net,p',t); %训练开始
。。。。。。
%训练完以后,可以进行模拟,比如
p=[10,20];
a=sim(net,p')
如果是分类的话,比如分两类
再打
a=a>10;
就能分成两类
D. 神经网络中step size 怎么设置
神经网络似乎没有步长的说法,你指的是net.trainParam.show?net.trainParam.show是指显示训练迭代过程n个周期后显示一下收敛曲线的变化。
在定义了网络之后,train训练函数之前,加上下面两个语句:
net.trainParam.showWindow = false;
net.trainParam.showCommandLine = false;
亲测不会弹出提示。
这样使得我们能在较长时间的训练中,腾出电脑去做别的事。否则窗口会不停弹出来,影响使用。
E. BP网络中的trainlm训练函数,需要设置的参数
以输出层权值更新的算法做说明: 新w(i,j)=旧w(i,j)+a*E(i)O(j)+b*oldw(i,j), 其中,新w(i,j)为计算一步以后的权,旧w(i,j)为初始权,E(i)为输出层第i个神经元的输出误差,O(j)为隐含层第j个神经元的输出数据,a学习系数,b惯性系数。其实b就是优化设计中梯度下降法的步长,训练函数和梯度下降法是一个样子的,都是通过初始点,选定负梯度方向,计算步长,然后得到下一点,如此循环,神经网络把梯度下降法简化了,直接选定步长,不再计算步长了,
F. 步长值怎么设置
1、直接打开Excel的相关窗口,选择需要的数据内容。
G. matlab bp神经网络 epoch为何会随机变化 如何修改训练步长 各位大神,求助啊!!!
楼主你好,那个是迭代次数,在不满足拟合的情况下,程序会一直训练,直到满足训练目标!关键不是epoch,希望对你有帮助!