再见Atlantis 2023-04-29 11:29 采纳率: 0%
浏览 75
已结题

传统BP做100次循环

传统BP做100次循环。每次输入96组数据 其中3个输入1个输出,不用验证 就这样做100次 这样来训练神经网络
请问怎么修改



%% 清空环境变量
clc
clear

% 读取数据
data=load("DataAfterCl2.mat"); %%读取EXCEL数据

%前n-1列为输入数据,最后一列为输出数据
%input=data(:,1:end-1);    
%output=data(:,end);  
input=data.inputdata;    %第1列至倒数第2列为输入
output=data.outputdata;       %最后1列为输出
N=length(output);   %样本总数
testNum=100;   %测试集数据个数
trainNum=N-testNum;    %训练集数据个数

% 划分训练集、测试集
input_train = input(1:trainNum,:)';
output_train = output(1:trainNum)';
input_test = input(trainNum+1:trainNum+testNum,:)';
output_test = output(trainNum+1:trainNum+testNum)';

% 归一化
%把所有的数据都转换为(0,1)之间的数,目的就是取消数据间的数量别差别,防止大数吃小数的现象;inputn是归一化得到的数据
[inputn,inputps]=mapminmax(input_train,0,1);
[outputn,outputps]=mapminmax(output_train);
inputn_test=mapminmax('apply',input_test,inputps);

%% BP网络

transform_func={'tansig','purelin'}; %传递函数
train_func='trainlm';   %训练算法
net=newff(inputn,outputn,11,transform_func,train_func);

% 网络参数
net.trainParam.epochs=1000;         % 训练次数
net.trainParam.lr=0.01;             % 学习速率
net.trainParam.goal=0.000001;        % 训练目标最小误差

% 训练模型
net=train(net,inputn,outputn);

% 测试模型
an=sim(net,inputn_test); %用训练好的模型进行仿真
test_simu=mapminmax('reverse',an,outputps); % 预测结果反归一化

[mae,rmse,mape,error]=calc_error(test_simu,output_test);% 性能指标计算

% 误差比较
figure
plot(output_test,'b','linewidth',2)
hold on
plot(test_simu,'r','linewidth',2)
legend('真实值','预测值')
xlabel('Samples')
ylabel('Values')
title('BPNN预测值和真实值的对比图')

figure
bar(error)
xlabel('Samples')
ylabel('Values')
title('BPNN预测误差图')

  • 写回答

2条回答 默认 最新

  • 你的兔子 2023-05-02 00:08
    关注

    针对你的问题结合chatgpt知识库请参考以下内容:
    如果你要修改循环次数,需要将net.trainParam.epochs的值更改为你所需的值,例如如果你要将循环次数改为50次,可以将该行代码改为:

    net.trainParam.epochs=50;
    

    请注意,减少循环次数可能会导致训练不充分,从而影响模型的性能。因此,建议在调整循环次数之前,先对模型进行评估,并确保训练充分,同时避免过拟合问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月7日
  • 修改了问题 4月29日
  • 赞助了问题酬金15元 4月29日
  • 请提交代码 4月29日
  • 展开全部

悬赏问题

  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。