关于bp神经网络的权值问题 比如第一个数据训练了一套权值,当第二个

关于bp神经网络的权值问题 比如第一个数据训练了一套权值,当第二个,第1张

训练集样本的不同肯定会影响到权值的变化。你要训练的数据 就是你希望一个系统输入一些数据时 能固定得到的那些数据,训练集要是随即那就没意义了,神经网络权值初始值是可以随即的,但随着训练继续,权值将趋于稳定,这样才能达到神经网络的效果。

训练过程权值明显会变化,只是如果已经收敛到指定精度后,也就是训练停止了后,权值阈值是不会变的。这些权值和神经网络结构组成一个模型,然后测试就可以直接用这个模型进行测试。

bp神经网络是很普通的一种NN,有直接的算法和公式,对照一下应该就知道了吧,剩下的错误应该就是编程问题了,看看你的循环结构有没有出现问题。

% 读入训练数据和测试数据

Input = [];

Output = [];

str = {'Test','Check'};

Data = textread([str{1},'txt']);

% 读训练数据

Input = Data(:,1:end-1);

% 取数据表的前五列(主从成分)

Output = Data(:,end);

% 取数据表的最后一列(输出值)

Data = textread([str{2},'txt']);

% 读测试数据

CheckIn = Data(:,1:end-1);

% 取数据表的前五列(主从成分)

CheckOut = Data(:,end);

% 取数据表的最后一列(输出值)

Input = Input';

Output = Output';

CheckIn = CheckIn';

CheckOut = CheckOut';

% 矩阵赚置

[Input,minp,maxp,Output,mint,maxt] = premnmx(Input,Output);

net1=newff(minmax(pX),[16,1],{'tansig','purelin'},'trainlm');

 

这个是激活函数的语句,但是一般不需要修改。

BP神经网络是计算机自主学习的一个过程,程序员要做的就是确定隐含层神经元的数量以及训练精度,训练步数以及学习速率等参数。

隐含层神经元数量的公式:

 

   

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12178955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存