BP神经网络实现汽油辛烷值预测,《MATLAB源码+数据集》
發(fā)展背景
在人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史上,感知機(jī)(Multilayer Perceptron,MLP)網(wǎng)絡(luò)曾對(duì)人工神經(jīng)網(wǎng)絡(luò)的發(fā)展發(fā)揮了極大的作用,也被認(rèn)為是一種真正能夠使用的人工神經(jīng)網(wǎng)絡(luò)模型,它的出現(xiàn)曾掀起了人們研究人工神經(jīng)元網(wǎng)絡(luò)的熱潮。單層感知網(wǎng)絡(luò)(M-P模型)做為最初的神經(jīng)網(wǎng)絡(luò),具有模型清晰、結(jié)構(gòu)簡單、計(jì)算量小等優(yōu)點(diǎn)。但是,隨著研究工作的深入,人們發(fā)現(xiàn)它還存在不足,例如無法處理非線性問題,即使計(jì)算單元的作用函數(shù)不用閥函數(shù)而用其他較復(fù)雜的非線性函數(shù),仍然只能解決線性可分問題.不能實(shí)現(xiàn)某些基本功能,從而限制了它的應(yīng)用。增強(qiáng)網(wǎng)絡(luò)的分類和識(shí)別能力、解決非線性問題的唯一途徑是采用多層前饋網(wǎng)絡(luò),即在輸入層和輸出層之間加上隱含層。構(gòu)成多層前饋感知器網(wǎng)絡(luò)。
20世紀(jì)80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分別獨(dú)立發(fā)現(xiàn)了誤差反向傳播算法(Error Back Propagation Training),簡稱BP,系統(tǒng)解決了多層神經(jīng)網(wǎng)絡(luò)隱含層連接權(quán)學(xué)習(xí)問題,并在數(shù)學(xué)上給出了完整推導(dǎo)。人們把采用這種算法進(jìn)行誤差校正的多層前饋網(wǎng)絡(luò)稱為BP網(wǎng)。
BP神經(jīng)網(wǎng)絡(luò)具有任意復(fù)雜的模式分類能力和優(yōu)良的多維函數(shù)映射能力,解決了簡單感知器不能解決的異或(Exclusive OR,XOR)和一些其他問題。從結(jié)構(gòu)上講,BP網(wǎng)絡(luò)具有輸入層、隱藏層和輸出層;從本質(zhì)上講,BP算法就是以網(wǎng)絡(luò)誤差平方為目標(biāo)函數(shù)、采用梯度下降法來計(jì)算目標(biāo)函數(shù)的最小值。
基本原理
在人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史上,感知機(jī)(Multilayer Perceptron,MLP)網(wǎng)絡(luò)曾對(duì)人工神經(jīng)網(wǎng)絡(luò)的發(fā)展發(fā)揮了極大的作用,也被認(rèn)為是一種真正能夠使用的人工神經(jīng)網(wǎng)絡(luò)模型,它的出現(xiàn)曾掀起了人們研究人工神經(jīng)元網(wǎng)絡(luò)的熱潮。單層感知網(wǎng)絡(luò)(M-P模型)做為最初的神經(jīng)網(wǎng)絡(luò),具有模型清晰、結(jié)構(gòu)簡單、計(jì)算量小等優(yōu)點(diǎn)。但是,隨著研究工作的深入,人們發(fā)現(xiàn)它還存在不足,例如無法處理非線性問題,即使計(jì)算單元的作用函數(shù)不用閥函數(shù)而用其他較復(fù)雜的非線性函數(shù),仍然只能解決線性可分問題.不能實(shí)現(xiàn)某些基本功能,從而限制了它的應(yīng)用。增強(qiáng)網(wǎng)絡(luò)的分類和識(shí)別能力、解決非線性問題的唯一途徑是采用多層前饋網(wǎng)絡(luò),即在輸入層和輸出層之間加上隱含層。構(gòu)成多層前饋感知器網(wǎng)絡(luò)。
20世紀(jì)80年代中期,David Runelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分別獨(dú)立發(fā)現(xiàn)了誤差反向傳播算法(Error Back Propagation Training),簡稱BP,系統(tǒng)解決了多層神經(jīng)網(wǎng)絡(luò)隱含層連接權(quán)學(xué)習(xí)問題,并在數(shù)學(xué)上給出了完整推導(dǎo)。人們把采用這種算法進(jìn)行誤差校正的多層前饋網(wǎng)絡(luò)稱為BP網(wǎng)。
BP神經(jīng)網(wǎng)絡(luò)具有任意復(fù)雜的模式分類能力和優(yōu)良的多維函數(shù)映射能力,解決了簡單感知器不能解決的異或(Exclusive OR,XOR)和一些其他問題。從結(jié)構(gòu)上講,BP網(wǎng)絡(luò)具有輸入層、隱藏層和輸出層;從本質(zhì)上講,BP算法就是以網(wǎng)絡(luò)誤差平方為目標(biāo)函數(shù)、采用梯度下降法來計(jì)算目標(biāo)函數(shù)的最小值。
代碼實(shí)現(xiàn):
部分代碼展示:
%% Part1:BP神經(jīng)網(wǎng)絡(luò)回歸擬合實(shí)現(xiàn)汽油辛烷值預(yù)測(cè) % clear all % clc %% 訓(xùn)練集/測(cè)試集產(chǎn)生 load xinwan_data.mat % 隨機(jī)產(chǎn)生訓(xùn)練集和測(cè)試集 temp = randperm(size(NIR,1));%打亂60個(gè)樣本排序 disp(temp(1:50)) % 訓(xùn)練集——50個(gè)樣本 P_train = NIR(temp(1:50),:)'; T_train = octane(temp(1:50),:)'; % 測(cè)試集——10個(gè)樣本 P_test = NIR(temp(51:end),:)'; T_test = octane(temp(51:end),:)'; N = size(P_test,2); %% 數(shù)據(jù)歸一化% 訓(xùn)練集 %% 這里函數(shù)的作用就是對(duì)p_train數(shù)據(jù)進(jìn)行歸一化處理 [Pn_train,inputps] = mapminmax(P_train); Pn_test = mapminmax('apply',P_test,inputps); % 測(cè)試集 %% 這里函數(shù)的作用就是對(duì)T_train數(shù)據(jù)進(jìn)行歸一化處理 [Tn_train,outputps] = mapminmax(T_train); Tn_test = mapminmax('apply',T_test,outputps);預(yù)測(cè)結(jié)果如下圖所示:
?其中50個(gè)樣本作為訓(xùn)練,10個(gè)樣本作為測(cè)試,代碼都是經(jīng)過調(diào)節(jié)的,可以根據(jù)論文要求更換數(shù)據(jù)。
完整代碼:請(qǐng)見詳情🍞正在為您運(yùn)送作品詳情
總結(jié)
以上是生活随笔為你收集整理的BP神经网络实现汽油辛烷值预测,《MATLAB源码+数据集》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外置MOS大功率升压芯片FP5207
- 下一篇: The parameter is (or