| 4 | 1/1 | 返回列表 |
| 查看: 1223 | 回復(fù): 3 | |||
kathy2836鐵桿木蟲 (小有名氣)
|
[求助]
BP神經(jīng)網(wǎng)絡(luò)進(jìn)行水質(zhì)評價遇到問題 已有1人參與
|
|
用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行水質(zhì)評價,選取6個水質(zhì)因子進(jìn)行評價,通過rand函數(shù)在水質(zhì)標(biāo)準(zhǔn)各等級標(biāo)準(zhǔn)值區(qū)間分別隨機(jī)生成400個數(shù)值。因?yàn)闃?biāo)準(zhǔn)中添加了劣五類水質(zhì),所以共隨機(jī)生成2400組數(shù)據(jù),其中每個等級區(qū)間內(nèi)選取300個用作訓(xùn)練樣本,其余100個為測試樣本。輸出目標(biāo)格式為: T=[1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1]’。 輸入神經(jīng)元為6個,輸出神經(jīng)元為6個。通過試錯法得到隱含層神經(jīng)元數(shù)量為10的時候誤差最小。訓(xùn)練網(wǎng)絡(luò)的時候也能達(dá)到設(shè)定的目標(biāo)誤差,但是再用水質(zhì)標(biāo)準(zhǔn)值歸一化后通過訓(xùn)練好的網(wǎng)絡(luò)得到的輸出卻和預(yù)計輸出差很遠(yuǎn)。代碼如下,請高手指點(diǎn)一下問題出在哪里,十分感謝! **************************************************************************************************** % 6個因子的水質(zhì)標(biāo)準(zhǔn),包含劣五類水質(zhì) P=[7.5 15 2 0.015 0.2 0.01;6 15 4 0.5 0.5 0.025;5 20 6 1 1 0.05; 3 30 10 1.5 1.5 0.1;2 40 15 2 2 0.2;0 200 25 8 40 1]'; %隨機(jī)生成訓(xùn)練樣本 P1=[(15-P(1,1))*rand(1,400)+P(1,1);P(2,1)*rand(1,400);P(3,1)*rand(1,400); P(4,1)*rand(1,400);P(5,1)*rand(1,400);P(6,1)*rand(1,400)]; P2=[(P(1,1)-P(1,2))*rand(1,400)+P(1,2);P(2,2)*rand(1,400);(P(3,2)-P(3,1))*rand(1,400)+P(3,1); (P(4,2)-P(4,1))*rand(1,400)+P(4,1);(P(5,2)-P(5,1))*rand(1,400)+P(5,1);(P(6,2)-P(6,1))*rand(1,400)+P(6,1)]; P3=[(P(1,2)-P(1,3))*rand(1,400)+P(1,3);(P(2,3)-P(2,2))*rand(1,400)+P(2,2);(P(3,3)-P(3,2))*rand(1,400)+P(3,2); (P(4,3)-P(4,2))*rand(1,400)+P(4,2);(P(5,3)-P(5,2))*rand(1,400)+P(5,2);(P(6,3)-P(6,2))*rand(1,400)+P(6,2)]; P4=[(P(1,3)-P(1,4))*rand(1,400)+P(1,4);(P(2,4)-P(2,3))*rand(1,400)+P(2,3);(P(3,4)-P(3,3))*rand(1,400)+P(3,3); (P(4,4)-P(4,3))*rand(1,400)+P(4,3);(P(5,4)-P(5,3))*rand(1,400)+P(5,3);(P(6,4)-P(6,3))*rand(1,400)+P(6,3)]; P5=[(P(1,4)-P(1,5))*rand(1,400)+P(1,5);(P(2,5)-P(2,4))*rand(1,400)+P(2,4);(P(3,5)-P(3,4))*rand(1,400)+P(3,4); (P(4,5)-P(4,4))*rand(1,400)+P(4,4);(P(5,5)-P(5,4))*rand(1,400)+P(5,4);(P(6,5)-P(6,4))*rand(1,400)+P(6,4)]; P6=[(P(1,5)-P(1,6))*rand(1,400)+P(1,6);(P(2,6)-P(2,5))*rand(1,400)+P(2,5);(P(3,6)-P(3,5))*rand(1,400)+P(3,5); (P(4,6)-P(4,5))*rand(1,400)+P(4,5);(P(5,6)-P(5,5))*rand(1,400)+P(5,5);(P(6,6)-P(6,5))*rand(1,400)+P(6,5)]; %隨機(jī)生成的樣本矩陣(6*2400) PP=[P1 P2 P3 P4 P5 P6]; %各選取300個做為訓(xùn)練樣本 PI=[P1(:,1:300) P2(:,1:300) P3(:,1:300) P4(:,1:300) P5(:,1:300) P6(:,1:300)]; %其余100個做為測試樣本 PT=[P1(:,301:400) P2(:,301:400) P3(:,301:400) P4(:,301:400) P5(:,301:400) P6(:,301:400)]; %讀取目標(biāo)輸出矩陣文件(6*2400) T=xlsread('C:\Users\Kathy\Desktop\ANN\T.xlsx','Sheet1'); %對應(yīng)訓(xùn)練樣本和測試樣本的輸出矩陣 TI=[T(:,1:300) T(:,401:700) T(:,801:1100) T(:,1201:1500) T(:,1601:1900) T(:,2001:2300)]; TTEST=[T(:,301:400) T(:,701:800) T(:,1101:1200) T(:,1501:1600) T(:,1901:2000) T(:,2301:2400)]; %將訓(xùn)練樣本歸一化至[-1,1]區(qū)間 [PN,ps]=mapminmax(PI); %建立訓(xùn)練網(wǎng)絡(luò)。這里我開始用的是tansig激活函數(shù),但是三條線的收斂效果很差,所以改成了logsig。不知道有沒有問題?是不是歸一化區(qū)間為[-1,1]要對應(yīng)使用tansig函數(shù)? net6=newff(minmax(PN),TI,[10,6],{'logsig','purelin'},'trainlm'); %設(shè)定輸入層權(quán)重和閾值 inputWeight6=net6.IW{1,1}; inputbias6=net6.b{1}; %設(shè)定當(dāng)前層權(quán)重和閾值 layerWeight6=net6.LW{2,1}; layerbias6=net6.b{2}; % 設(shè)定訓(xùn)練參數(shù) net6.trainParam.show=5; net6.trainParam.lr=0.05; net6.trainParam.mc=0.95; net6.trainParam.epochs=3000; net6.trainParam.goal=0.0001; %對網(wǎng)絡(luò)進(jìn)行訓(xùn)練 net6=train(net6,PN,TI); A6=sim(net6,PN); E6=TI-A6; MSE6=mse(E6); ****************************************************************************** 通過以上步驟之后,得到的A6矩陣很滿意,和預(yù)計輸出差不多,但是當(dāng)我用這個網(wǎng)絡(luò)對水質(zhì)標(biāo)準(zhǔn)值(就是上面代碼中的P矩陣)歸一化之后進(jìn)行操作時,得到的結(jié)果卻和預(yù)計輸出差很多, 對30個站位的水質(zhì)監(jiān)測值進(jìn)行同樣操作,結(jié)果也是有一些站位的值異常。 請高手給予指點(diǎn),問題出在哪里呢?困擾我很久了,十分感謝! |
木蟲 (知名作家)
|
沒看太明白,但 大致知道你做的是個分類問題。 考慮一下兩個方面: 1.你的描述水質(zhì)的指標(biāo)是否合理?難道你的訓(xùn)練集不是測定的數(shù)據(jù)樣本?訓(xùn)練集是否有代表性? 2.判斷水質(zhì)類別與定量預(yù)測不同,不許要過度追求尋兩誤差有多小,只要訓(xùn)練分類合理即可,過度要求小的訓(xùn)練誤差會導(dǎo)致訓(xùn)練過度,降低網(wǎng)絡(luò)的泛化能力。 |

新蟲 (初入文壇)
| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 321求調(diào)劑 +8 | 何潤采123 2026-03-18 | 10/500 |
|
|---|---|---|---|---|
|
[考研] 307求調(diào)劑 +6 | 冷笙123 2026-03-17 | 6/300 |
|
|
[考研] 一志愿天津大學(xué)化學(xué)工藝專業(yè)(081702)315分求調(diào)劑 +11 | yangfz 2026-03-17 | 11/550 |
|
|
[考研] 0817 化學(xué)工程 299分求調(diào)劑 有科研經(jīng)歷 有二區(qū)文章 +12 | rare12345 2026-03-18 | 12/600 |
|
|
[考研] 化學(xué)求調(diào)劑 +3 | 臨澤境llllll 2026-03-17 | 4/200 |
|
|
[考研] 287求調(diào)劑 +3 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 一志愿985,本科211,0817化學(xué)工程與技術(shù)319求調(diào)劑 +10 | Liwangman 2026-03-15 | 10/500 |
|
|
[考研] 267一志愿南京工業(yè)大學(xué)0817化工求調(diào)劑 +10 | SUICHILD 2026-03-12 | 10/500 |
|
|
[考研] 一志愿中國海洋大學(xué),生物學(xué),301分,求調(diào)劑 +4 | 1孫悟空 2026-03-17 | 4/200 |
|
|
[考研] 295求調(diào)劑 +3 | 一志愿京區(qū)211 2026-03-18 | 5/250 |
|
|
[考研] 298-一志愿中國農(nóng)業(yè)大學(xué)-求調(diào)劑 +7 | 手機(jī)用戶 2026-03-17 | 7/350 |
|
|
[考研] 304求調(diào)劑 +12 | 小熊joy 2026-03-14 | 13/650 |
|
|
[考博] 環(huán)境領(lǐng)域全國重點(diǎn)實(shí)驗(yàn)室招收博士1-2名 +3 | QGZDSYS 2026-03-13 | 5/250 |
|
|
[考研] 材料與化工專碩調(diào)劑 +5 | heming3743 2026-03-16 | 5/250 |
|
|
[考研] 283求調(diào)劑 +3 | 聽風(fēng)就是雨; 2026-03-16 | 3/150 |
|
|
[考研] 中科院材料273求調(diào)劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 266求調(diào)劑 +4 | 學(xué)員97LZgn 2026-03-13 | 4/200 |
|
|
[考研] 304求調(diào)劑 +7 | 7712b 2026-03-13 | 7/350 |
|
|
[考研] 311求調(diào)劑 +3 | 冬十三 2026-03-13 | 3/150 |
|