24小时热门版块排行榜    

查看: 3475  |  回复: 16

李琴李恺

金虫 (初入文坛)

[求助] MATLAB BP神经网络如何保存每次的训练结果已有2人参与

我在做BP神经网络,训练次数10000次,训练循环如下,我想要保存每次的训练结果,然后算出每次的预测值,我该怎么修改这个循环,十万火急,万分感谢!
for
    net.trainParam.epochs=10000;%训练次数
    net.trainParam.goal=0.01;%网络性能目标,训练的目标误差
    net.trainParam.lr=0.05;%学习速率
    net=train(net,Pxl',Txl);%训练神经网络,Pxl为输入数据,Txl为输出数据
    yxl=sim(net,Pxl');%计算预测值,想要10000次计算预测值的结果
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhswee

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
为什么要用for?你是有多组样本需要训练?

[ 发自小木虫客户端 ]
2楼2014-11-14 17:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李琴李恺

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by zhswee at 2014-11-14 17:54:42
为什么要用for?你是有多组样本需要训练?

是的,我一共有113个样本需要训练Pxl是113*7的矩阵,113个化合物,7个变量,Txl是113个毒性数据,我想要每次的训练结果,我该怎么修改啊,万分感谢

for i=1:113;
    net.trainParam.epochs=10000;%训练次数
    net.trainParam.goal=0.01;%网络性能目标,训练的目标误差
    net.trainParam.lr=0.05;%学习速率
    net=train(net,Pxl(i,',Txl(i));%训练神经网络
    yxl=sim(net,Pxl');

end
3楼2014-11-14 18:02:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李琴李恺

金虫 (初入文坛)

引用回帖:
3楼: Originally posted by 李琴李恺 at 2014-11-14 18:02:17
是的,我一共有113个样本需要训练Pxl是113*7的矩阵,113个化合物,7个变量,Txl是113个毒性数据,我想要每次的训练结果,我该怎么修改啊,万分感谢

for i=1:113;
    net.trainParam.epochs=10000;%训练次数
...

笑脸代表  :)
4楼2014-11-14 18:03:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhswee

铁杆木虫 (著名写手)

【答案】应助回帖

引用回帖:
4楼: Originally posted by 李琴李恺 at 2014-11-14 18:03:18
笑脸代表  :)...

你可能没明白我说的。你最终要得到一个模型还是多个

[ 发自小木虫客户端 ]
5楼2014-11-14 18:42:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhswee

铁杆木虫 (著名写手)

【答案】应助回帖

引用回帖:
5楼: Originally posted by zhswee at 2014-11-14 18:42:46
你可能没明白我说的。你最终要得到一个模型还是多个
...

按你给个数据,你是只有一个模型,7个输入指标决定一个输出,而总的样本个数是113个。你这个必须要for的丫

[ 发自小木虫客户端 ]
6楼2014-11-14 18:45:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李琴李恺

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by zhswee at 2014-11-14 18:45:38
按你给个数据,你是只有一个模型,7个输入指标决定一个输出,而总的样本个数是113个。你这个必须要for的丫
...

是的,我想要这训练10000次,每次的输出,我应该怎么改进这个循环啊,假如我将训练次数设为 j,我该怎么改进啊
7楼2014-11-14 19:53:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李琴李恺

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by zhswee at 2014-11-14 18:42:46
你可能没明白我说的。你最终要得到一个模型还是多个
...

我就是想要看到每次训练的结果,然后选择最好的
8楼2014-11-14 19:55:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李琴李恺

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by zhswee at 2014-11-14 18:45:38
按你给个数据,你是只有一个模型,7个输入指标决定一个输出,而总的样本个数是113个。你这个必须要for的丫
...

我就是想要达到这样的目的,就是想要每次训练的结果,不知道怎么编这个循环,万分感谢
net1=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net1.trainParam.epochs=1;%训练次数
net1.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net1.trainParam.lr=0.05;%学习速率
net1=train(net1,Pxl',Txl);%训练神经网络
yxl1=sim(net1,Pxl');

net2=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net2.trainParam.epochs=2;%训练次数
net2.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net2.trainParam.lr=0.05;%学习速率
net2=train(net2,Pxl',Txl);%训练神经网络
yxl2=sim(net2,Pxl');

net3=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net3.trainParam.epochs=3;%训练次数
net3.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net3.trainParam.lr=0.05;%学习速率
net3=train(net3,Pxl',Txl);%训练神经网络
yxl3=sim(net3,Pxl');

net4=newff(Pxl',Txl,[3],{'tansig'},'traingd');
net4.trainParam.epochs=4;%训练次数
net4.trainParam.goal=0.01;%网络性能目标,训练的目标误差
net4.trainParam.lr=0.05;%学习速率
net4=train(net4,Pxl',Txl);%训练神经网络
yxl4=sim(net4,Pxl');
9楼2014-11-14 20:22:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhswee

铁杆木虫 (著名写手)

引用回帖:
6楼: Originally posted by zhswee at 2014-11-14 18:45:38
按你给个数据,你是只有一个模型,7个输入指标决定一个输出,而总的样本个数是113个。你这个必须要for的丫
...

手机上打字到处出错,应该是:
按你给的数据,你是只有一个模型,7个输入指标决定一个输出,而总的样本个数是113个。你这个不要for的丫
10楼2014-11-14 20:31:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 李琴李恺 的主题更新
信息提示
请填处理意见