📄 bp.m
字号:
% BP 神经网络用于汽车类型分类
clc
clear
close all
%---------------------------------------------------
%输入训练样本和测试样本
n1=[0.8645 2.3053 0.9288;0.8329 1.9963 0.9625;0.9498 2.4015 0.9466;0.8735 2.4342 0.8965;
0.7797 1.5103 0.9315;0.8805 1.5903 0.9466;0.7453 1.3711 0.9543;0.8546 1.7366 0.9721;
0.1473 0.4372 0.3926;0.1526 0.4592 0.4588;0.3421 1.0006 0.5166;0.3164 0.9250 0.1875;
0.2311 0.9549 0.1306;0.1534 0.5280 0.5172;0.3005 0.8357 0.1874;0.3926 1.0277 0.1875;
0.3692 0.7500 1.5238;0.3687 0.8138 2.8823;0.4444 1.0012 2.1818;0.2921 0.9845 2.3000;
0.3319 1.0754 1.4878;0.3745 1.3827 1.3600;0.2747 0.9566 1.4878;0.3331 1.1811 1.5578]';
x1=[1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;
0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;
0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1]';
n2=[0.8819 2.3588 0.9156;0.9112 2.4393 0.9547;0.9340 2.8712 0.9912;0.9470 2.5451 0.9702;
0.1874 0.8576 0.2628;0.4334 1.0677 0.5166;0.1473 0.6312 0.5666;0.3227 0.7238 0.1875;
0.3095 1.0331 1.3225;0.2675 0.8105 1.4148;0.3282 1.1258 1.4528;0.4578 1.4347 1.8372]';
x2=[1 0 0;1 0 0;1 0 0;1 0 0;0 1 0;0 1 0;0 1 0;0 1 0;0 0 1;0 0 1;0 0 1;0 0 1]';
xn_train=n1; %训练样本
dn_train=x1; %训练目标
xn_test=n2; %测试样本
dn_test=x2; %测试目标
%----------------------------------------------------------
%函数接口赋值
NodeNum=8; % 隐层节点数
TypeNum=3; % 输出维数
p1=xn_train; % 训练输入
t1=dn_train; % 训练输出
Epochs=1000; % 训练次数
P=xn_test; % 测试输入
T=dn_test; % 测试输出(真实值)
%---------------------------------------------------------
%设置网络参数
TF1 = 'logsig';TF2 = 'purelin';
net = newff(minmax(p1),[NodeNum TypeNum],{TF1 TF2},'trainlm');
net.trainParam.epochs = Epochs; % 最大训练次数
net.trainParam.goal = 1e-8; % 最小均方误差
net.trainParam.min_grad = 1e-20; % 最小梯度
net.trainParam.show = 200; % 训练显示间隔
net.trainParam.time = inf; % 最大训练时间
%---------------------------------------------------------
%训练与测试
net = train(net,p1,t1); % 训练
X = sim(net,P); % 测试 - 输出为预测值
Y = X % 真实输出
%--------------------------------------------------------
% 结果统计
X=full(compet(X)) %取整
Result = ~sum(abs(X-x2)) % 正确分类显示为1
Percent = sum(Result)/length(Result) % 正确分类率
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -