BP神经网络初始权值每次随机赋值都不一样吗
我知道matlab中的BP神经网络初始权值都是程序随机给的但是同一个程序运行n次出现的图都不是完全一样的难道每次运行随机给的初始值也都不一样吗...
我知道matlab中的BP神经网络初始权值都是程序随机给的 但是同一个程序 运行n次出现的图都不是完全一样的 难道每次运行 随机给的 初始值也都不一样吗
展开
1个回答
展开全部
正是因为每次权值和阈值的初值都不一样,所以使用相同的权值修正公式,计算出来的结果都不一样。当然这个初值也可以自己设置,方法如下:
net.IW{1,1}=W1;
net.LW{2,1}=W2;
net.b{1}=B1;
net.b{2}=B2;
一般就用newff函数建立网络即可。newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询