根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。 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); 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)];重要的训练样本百分比 %% %======非时间序列BP神经网络===== %=======原始数据输入======== 多个备件矩阵的三个因素的百分比[年度故障次数单价购买提前期] p = SampleM';%训练样本, %===========预期输出======= %与多个备件对应的期望重要性输出值,即匹配重要性后训练样本的第四列值 t = d(: ,4)'; %===========测试数据======= %从原始输入数据中选择一个零件,然后添加一些其他数据作为测试数据矩阵 %% 此处已修改% %测试数据 ptest = dataa(:神经网络预测大量数据,1: 3)'; %test数据的预期输出 ttest = dataa(: ,4); %% %归一化数据 [pn,minp,maxp,tn,mint,maxt] = premnmx(p神经网络预测大量数据,t);%归一化数据 %考虑到没有太多数据,所以设置了两个隐藏层 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); %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('错误更改图') 网格
|
温馨提示:喜欢本站的话,请收藏一下本站!