发布时间:2023-05-06 14:00
工具是matlab,excel
目的: p1数据集是10类,p2数据集是01类 ,训练一个神经网络将这两个数据集区分开。以后的测试数据输入神经网络后能分到对应的类。
一 训练数据准备
x1 x2
y1 y2
ps:从excle中读取数据p1=xlsread(\'data.xlsx\',\'sheet1\',\'A2:B11\')其他类似.
二 数据转换
(1 )p1和p2两组数据合并 p=[p1 ;p2]
将15*2的矩阵转置,p=p\'
p1和p2对应输出的目标y1,y2,合并并转置成goal
此时输入数据是p,目标是goal,开始构建BP神经网络
三 BP神经网络
(1)创建一个前向反馈后向传播神经网络-即BP神经网络
net=newff(pr,[3,2],{\'logsig\',\'logsig\'});
%设置训练参数
net.trainParam.show = 10;
net.trainParam.lr = 0.05;
net.trainParam.goal = 1e-10;
net.trainParam.epochs = 50000;
view(net) 显示神经网络结构:
(2)训练网络
net = train(net,p,goal);
(3)测试网络
测试数据 x=[1.24 1.80;1.28 1.84;1.40 2.04]\';
%测试训练结果,,显示混合矩阵
y1=sim(net,p1\') ;plotconfusion(y1,p1\')
y2=sim(net,p2\') ;plotconfusion(y2,p2\')
y=sim(net,x) ;plotconfusion(y,x)
输入x,网络输出y,混合矩阵
end!