• 大小: 27KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: 其他
  • 标签: 代码  

资源简介

BP神经网络源代码,压缩包里面包括训练代码、测试代码、采样数据。

资源截图

代码片段和文件信息

close all 
clear all 
clc 
web -browser http://www.ilovematlab.cn/thread-220251-1-1.html
x=xlsread(‘training_data.xls‘[‘B2:G401‘]); 
y=xlsread(‘training_data.xls‘[‘I2:K401‘]); 
inputs = x‘; 
targets = y‘;

% 创建一个模式识别网络(两层BP网络),同时给出中间层神经元的个数,这里使用20
hiddenlayerSize = 20;
net = patternnet(hiddenlayerSize);

% 对数据进行预处理,这里使用了归一化函数(一般不用修改)
% For a list of all processing functions type: help nnprocess
net.inputs{1}.processFcns = {‘removeconstantrows‘‘mapminmax‘};
net.outputs{2}.processFcns = {‘removeconstantrows‘‘mapminmax‘};


% 把训练数据分成三部分,训练网络、验证网络、测试网络
% For a list of all data division functions type: help nndivide
net.divideFcn = ‘dividerand‘;  % Divide data randomly
net.divideMode = ‘sample‘;  % Divide up every sample
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

% 训练函数
% For a list of all training functions type: help nntrain
net.trainFcn = ‘trainlm‘;  % Levenberg-Marquardt

% 使用均方误差来评估网络
% For a list of all performance functions type: help nnperformance
net.performFcn = ‘mse‘;  % Mean squared error

% 画图函数
% For a list of all plot functions type: help nnplot
net.plotFcns = {‘plotperform‘‘plottrainstate‘‘ploterrhist‘ ...
  ‘plotregression‘ ‘plotfit‘};


% 开始训练网络(包含了训练和验证的过程)
[nettr] = train(netinputstargets);

% 测试网络
outputs = net(inputs);
errors = gsubtract(targetsoutputs);
performance = perform(nettargetsoutputs)

% 获得训练、验证和测试的结果
trainTargets = targets .* tr.trainMask{1};
valTargets = targets  .* tr.valMask{1};
testTargets = targets  .* tr.testMask{1};
trainPerformance = perform(nettrainTargetsoutputs)
valPerformance = perform(netvalTargetsoutputs)
testPerformance = perform(nettestTargetsoutputs)

% 可以查看网络的各个参数
view(net)

% 根据画图的结果,决定是否满意
% Uncomment these lines to enable various plots.
figure plotperform(tr)
figure plottrainstate(tr)
figure plotconfusion(targetsoutputs)
figure ploterrhist(errors)


%如果你对该次训练满意,可以保存训练好网络
save(‘training_net.mat‘‘net‘‘tr‘);


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-03-22 20:35  BP\
     文件       30369  2013-03-22 19:14  BP\training_data.xls
     文件        2238  2013-03-22 19:09  BP\Training_NPR.m
     文件         600  2013-03-22 19:10  BP\Use_For_Predict.m

评论

共有 条评论