当前位置:网站首页>matlab neural network ANN classification
matlab neural network ANN classification
2022-08-09 22:07:00 【student_domi】
1、内容简介
略
500-可以交流、咨询、答疑
2、内容说明
clear
clc
close all
%% import and deal data
filename = "DAY 1-DAY28 AVERAGE DATA SETS----A.B.C -split by 28 × 6 classification.xlsx";
datatrain = xlsread(filename, "Sheet1");
datatest = xlsread(filename, "Sheet2");
datavalidation = xlsread(filename, "Sheet3");
Xtrain = datatrain(:,1:4)';
% Xtrain(2,:) = 100*Xtrain(2,:);
Ytrain = datatrain(:,5)';
[~,nber] = size(Xtrain);
order = randperm(nber);
XTrain1 = Xtrain(:,order);
YTrain1 = Ytrain(:,order);
XValidation = datavalidation(:,1:4)';
% XValidation(2,:) = 100*XValidation(2,:);
YValidation = datavalidation(:,5)';
[~,nber] = size(XValidation);
order = randperm(nber);
XValidation1 = XValidation(:,order);
YValidation1 = YValidation(:,order);
Xtest = datatest(:,1:4)';
% Xtest(2,:) = 100*Xtest(2,:);
Ytest = datatest(:,5)';
[~,nber] = size(Xtest);
order = randperm(nber);
Xtest1 = Xtest(:,order);
Ytest1 = Ytest(:,order);
XTrain = [XTrain1 XValidation1 Xtest1];
YTrain = [YTrain1 YValidation1 Ytest1];
% [p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,YTrain);
% load net.mat
% accuary(net, XTrain, YTrain, minp, maxp, mint,maxt)
% accuary(net, XValidation, YValidation, minp, maxp, mint,maxt)
% accuary(net, Xtest, Ytest, minp, maxp, mint,maxt)
%% 训练
%数据做归一化
% [p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,output');
[p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,YTrain);
%创建网络
% logsig:对数S形转移函数,单极性;tansig: 双极性S形转移函数;purelin:线性函数
% traingdx :梯度下降自适应学习率训练函数,traingdm,trainlm, trainscg These are learning algorithms for weights
% traingdm是带动量的梯度下降法,trainlm是指L-M优化算法,trainscgRefers to the quantized conjugate gradient method
% 网络结构:三个隐含层、And the number of neurons is 5、12的前向BP网络,1个output
% net=newff(minmax(p1),[6, 15, 1],{'tansig', 'tansig','purelin'},'trainlm');
net=newff(minmax(p1),[12, 24, 32, 24, 1],{'tansig', 'tansig', 'tansig', 'tansig', 'purelin'},'trainlm');
% net=newff(minmax(p1),[5, 12, 3],{'tansig', 'tansig','purelin'},'trainlm');
%设置训练次数
net.trainParam.epochs = 600;
%设置收敛误差
net.trainParam.goal=0.0001;
%设置学习率
net.trainParam.lr = 0.03 ;
%Set the momentum factor,Avoid local optima and overfitting
net.trainParam.mc=0.9;
%Minimum number of confirmation failures
net.trainParam.max_fail=30;
%训练网络
[net,tr]=train(net,p1,t1);
%%
fuse_matrix_train = accuary(net, XTrain, YTrain, minp, maxp, mint,maxt);
fuse_matrix_Validation = accuary(net, XValidation, YValidation, minp, maxp, mint,maxt);
fuse_matrix_test = accuary(net, Xtest, Ytest, minp, maxp, mint,maxt);
%%
figure
imagesc(fuse_matrix_train)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("train data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_train);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_train(i,j)))
end
end
%
figure
imagesc(fuse_matrix_Validation)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("Validation data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_Validation);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_Validation(i,j)))
end
end
%
figure
imagesc(fuse_matrix_test)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("test data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_test);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_test(i,j)))
end
end
3、仿真分析



4、参考论文
略
边栏推荐
- C语言之实现倒置字符串的两种方法
- 【NOI模拟赛】防AK题(生成函数,单位根,Pollard-Rho)
- 【Jmeter】分布式搭建
- 面试官:Redis 大 key 要如何处理?
- 如何在WPF中设置Grid ColumnDefinitions的样式
- pytest框架之mark标记功能详细介绍
- 请问一下flink cdc mysql source 报这种错怎么处理呢?我都设置了useSSL=f
- 明明加了唯一索引,为什么还是产生重复数据?
- 【kali-密码攻击】(5.1.1)密码在线破解:Hydra(图形界面)
- Next second data: the transformation of the modern data stack brought about by the integration of lake and warehouse has begun
猜你喜欢

明明加了唯一索引,为什么还是产生重复数据?

STM32WB55的FUS更新及协议栈固件烧写方法

小满nestjs(第三章 前置知识装饰器)

分数阶混沌系统李雅普指数和分岔图

字节一面:TCP 和 UDP 可以使用同一个端口吗?

Openharmony Lightweight System Experiment--GPIO Lighting

为什么数字钱包需要引入小程序生态

小满nestjs(第六章 nestjs cli 常用命令)

Transformer如何用于3D视觉?阿联酋MBZUAI最新《3D视觉Transformers处理》综述,涵盖100+种方法

Cholesterol-PEG-Thiol,CLS-PEG-SH,胆固醇-聚乙二醇-巯基用于改善溶解度
随机推荐
What are the benefits of enterprise data integration?How do different industries solve the problem of data access?
MYSQL记录、自用
Overview of Security Analysis Technology for Smart Home Devices
基于SSM实现手机销售商城系统
分数阶混沌系统李雅普指数和分岔图
Queue topic: Implementing stacks with queues
An overall security understanding and method of cyberspace based on connection and security entropy
ClickHouse一种高性能分布式join查询模型(Colocate Join)
[Deep learning] pix2pix GAN theory and code implementation
Win11找不到Internet Explore怎么办
华为云创新中心助力启泰智能 补齐中小模具企业数字化能力短板
智能家居设备安全分析技术综述
如何从800万数据中快速捞出自己想要的数据?
Redis 大的情况下,key 要如何处理?
【NOI模拟赛】防AK题(生成函数,单位根,Pollard-Rho)
tki-tree 树组件控制默认展开第几层数据
WPF中加载并使用图像资源
Acrel5000web能耗系统在某学院的应用-Susie 周
PCL学习之滤波Filtering
laravel 时区问题timezone