根據(jù)運(yùn)行的環(huán)境,操作系統(tǒng)可以分為桌面操作系統(tǒng),手機(jī)操作系統(tǒng),服務(wù)器操作系統(tǒng),嵌入式操作系統(tǒng)等。 clc 清除 %從三類k均值聚類結(jié)果的每一個中隨機(jī)選擇190行,以形成一個新的570 * 3矩陣,即訓(xùn)練樣本. load('data1.mat'); load('data2.mat'); load('data3.mat'); data = [data1; data2; data3]; %% %第一類數(shù)據(jù)是80,是隨機(jī)選擇的過程 M1 = data1; S1 =大小(M1,1); SampleRows1 = randperm(S1); SampleRows1 = SampleRows1(1:80); SampleM1 = M1(SampleRows1,: ); %第二種數(shù)據(jù)是110,是隨機(jī)選擇的過程 M2 = data2; S2 = size(M2,1); SampleRows2 = randperm(S2); SampleRows2 = SampleRows2(1:80); SampleM2 = M2(SampleRows2,: ); %第三種數(shù)據(jù)是110,是隨機(jī)選擇的過程 M3 = data3; S3 = size(M3,1); SampleRows3 = randperm(S3); SampleRows3 = SampleRows3(1:80); SampleM3 = M3(SampleRows3,: ); SampleM = [SampleM1; SampleM2; SampleM3]; %將重要性與前三列中的數(shù)據(jù)相匹配,并輸出所需的輸出. %首先將隨機(jī)選擇的訓(xùn)練樣本分配給d,然后將d與dataa匹配. 更新后的d具有匹配的重要性,第四列. d = SampleM;%訓(xùn)練樣本 %% %將相應(yīng)的重要性添加到訓(xùn)練樣本中 load('dataa.mat'); %匹配訓(xùn)練樣本的重要性值 aInb = ismember(d,dataa); [m,n] = size(aInb); [mdataa,ndataa] = size(dataa); d = [d dataa(1: m,n + 1: ndataa)];重要的訓(xùn)練樣本百分比 %% %======非時間序列BP神經(jīng)網(wǎng)絡(luò)===== %=======原始數(shù)據(jù)輸入======== 多個備件矩陣的三個因素的百分比[年度故障次數(shù)單價購買提前期] p = SampleM';%訓(xùn)練樣本, %===========預(yù)期輸出======= %與多個備件對應(yīng)的期望重要性輸出值,即匹配重要性后訓(xùn)練樣本的第四列值 t = d(: ,4)'; %===========測試數(shù)據(jù)======= %從原始輸入數(shù)據(jù)中選擇一個零件,然后添加一些其他數(shù)據(jù)作為測試數(shù)據(jù)矩陣 %% 此處已修改% %測試數(shù)據(jù) ptest = dataa(:神經(jīng)網(wǎng)絡(luò)預(yù)測大量數(shù)據(jù),1: 3)'; %test數(shù)據(jù)的預(yù)期輸出 ttest = dataa(: ,4); %% %歸一化數(shù)據(jù) [pn,minp,maxp,tn,mint,maxt] = premnmx(p神經(jīng)網(wǎng)絡(luò)預(yù)測大量數(shù)據(jù),t);%歸一化數(shù)據(jù) %考慮到?jīng)]有太多數(shù)據(jù),所以設(shè)置了兩個隱藏層 NodeNum1 = 10;%隱藏層第一層中的節(jié)點(diǎn)數(shù) NodeNum2 = 10;%隱藏層第二層中的節(jié)點(diǎn)數(shù) %輸出尺寸 TypeNum = 1; 每一層的%Transfer函數(shù),TF3是輸出層的傳遞函數(shù) TF1 ='tansig'; TF2 ='tansig'; TF3 ='tansig'; %創(chuàng)建四層BP神經(jīng)網(wǎng)絡(luò) net = newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx'); %網(wǎng)絡(luò)創(chuàng)建人Tradingdx net.trainParam.show = 50;%訓(xùn)練顯示間隔 net.trainParam.epochs = 60000; %最大訓(xùn)練時間設(shè)置 net.trainParam.goal = 1e-5; %最小均方誤差,即訓(xùn)練所需的精度 net.trainParam.lr = 0.01;%學(xué)習(xí)率 net = train(net,pn,tn); %train BP網(wǎng)絡(luò) %測試數(shù)據(jù)的規(guī)范化 p2n = tramnmx(ptest,minp,maxp); %BP結(jié)果輸出 an = sim(net,p2n); %數(shù)據(jù)的非規(guī)格化,即您想要獲得的最終預(yù)測結(jié)果 [a] = postmnmx(an,mint,maxt) %% ============================================= ====================== %% %plot函數(shù)的輸出有問題,或者矩陣尺寸設(shè)置有問題 %aaaaaaaaaaaaaaaaaaaa ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++++++++++ plot(1: length(ttest),a,'o',1: length(ttest),ttest','. '); title('o表示預(yù)測值--- *表示實(shí)際值') 堅持 推遲 m = length(a);向量a的%長度 t1 = ttest'; error = abs(t1-a); %錯誤向量 圖 plot(1: length(error),error,'-. ') title('錯誤更改圖') 網(wǎng)格
|
溫馨提示:喜歡本站的話,請收藏一下本站!