当前位置:萝卜系统 > 硬件软件教程 > 详细页面

为啥有848个数据BP神经网络预测误差仍然很大

为啥有848个数据BP神经网络预测误差仍然很大

更新时间:2023-06-20 文章作者:未知 信息来源:网络 阅读次数:

根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

大量数据的查找算法_json解析大量数据_神经网络预测大量数据

clc

清除

%从三类k均值聚类结果的每一个中随机选择190行,以形成一个新的570 * 3矩阵,即训练样本.

load('data1.mat');

load('data2.mat');

load('data3.mat');

data = [data1; data2; data3];

%%

%第一类数据是80,是随机选择的过程

M1 = data1;

S1 =大小(M1,1);

SampleRows1 = randperm(S1);

SampleRows1 = SampleRows1(1:80);

SampleM1 = M1(SampleRows1,: );

%第二种数据是110,是随机选择的过程

M2 = data2;

S2 = size(M2,1);

SampleRows2 = randperm(S2);

SampleRows2 = SampleRows2(1:80);

神经网络预测大量数据_大量数据的查找算法_json解析大量数据

SampleM2 = M2(SampleRows2,: );

%第三种数据是110,是随机选择的过程

M3 = data3;

S3 = size(M3,1);

SampleRows3 = randperm(S3);

SampleRows3 = SampleRows3(1:80);

SampleM3 = M3(SampleRows3,: );

SampleM = [SampleM1; SampleM2; SampleM3];

%将重要性与前三列中的数据相匹配,并输出所需的输出.

%首先将随机选择的训练样本分配给d,然后将d与dataa匹配. 更新后的d具有匹配的重要性,第四列.

d = SampleM;%训练样本

%%

%将相应的重要性添加到训练样本中

load('dataa.mat');

%匹配训练样本的重要性值

aInb = ismember(d,dataa);

[m,n] = size(aInb);

[mdataa,ndataa] = size(dataa);

d = [d dataa(1: m,n + 1: ndataa)];重要的训练样本百分比

神经网络预测大量数据_json解析大量数据_大量数据的查找算法

%%

%======非时间序列BP神经网络=====

%=======原始数据输入========

多个备件矩阵的三个因素的百分比[年度故障次数单价购买提前期]

p = SampleM';%训练样本,

%===========预期输出=======

%与多个备件对应的期望重要性输出值,即匹配重要性后训练样本的第四列值

t = d(: ,4)';

%===========测试数据=======

%从原始输入数据中选择一个零件,然后添加一些其他数据作为测试数据矩阵

%%

此处已修改%

%测试数据

ptest = dataa(:神经网络预测大量数据,1: 3)';

%test数据的预期输出

ttest = dataa(: ,4);

%%

%归一化数据

[pn,minp,maxp,tn,mint,maxt] = premnmx(p神经网络预测大量数据,t);%归一化数据

神经网络预测大量数据_json解析大量数据_大量数据的查找算法

%考虑到没有太多数据,所以设置了两个隐藏层

NodeNum1 = 10;%隐藏层第一层中的节点数

NodeNum2 = 10;%隐藏层第二层中的节点数

%输出尺寸

TypeNum = 1;

每一层的%Transfer函数,TF3是输出层的传递函数

TF1 ='tansig';

TF2 ='tansig';

TF3 ='tansig';

%创建四层BP神经网络

net = newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');

%网络创建人Tradingdx

net.trainParam.show = 50;%训练显示间隔

net.trainParam.epochs = 60000; %最大训练时间设置

net.trainParam.goal = 1e-5; %最小均方误差,即训练所需的精度

net.trainParam.lr = 0.01;%学习率

net = train(net,pn,tn); %train BP网络

%测试数据的规范化

p2n = tramnmx(ptest,minp,maxp);

神经网络预测大量数据_json解析大量数据_大量数据的查找算法

%BP结果输出

an = sim(net,p2n);

%数据的非规格化,即您想要获得的最终预测结果

[a] = postmnmx(an,mint,maxt)

%% ============================================= ======================

%%

%plot函数的输出有问题,或者矩阵尺寸设置有问题

%aaaaaaaaaaaaaaaaaaaa ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

%++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++++++++++

plot(1: length(ttest),a,'o',1: length(ttest),ttest','. ');

title('o表示预测值--- *表示实际值')

坚持

推迟

m = length(a);向量a的%长度

t1 = ttest';

error = abs(t1-a); %错误向量

plot(1: length(error),error,'-. ')

title('错误更改图')

网格


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-287220-1.html



温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html