BP神經(jīng)網(wǎng)絡(luò)非線性回歸研究_第1頁
BP神經(jīng)網(wǎng)絡(luò)非線性回歸研究_第2頁
BP神經(jīng)網(wǎng)絡(luò)非線性回歸研究_第3頁
BP神經(jīng)網(wǎng)絡(luò)非線性回歸研究_第4頁
BP神經(jīng)網(wǎng)絡(luò)非線性回歸研究_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、(聲明:此程序?yàn)镚reenSim團(tuán)隊(duì)的原創(chuàng)作品,我們刪除了程序中的若干行,一般人是難以將其補(bǔ)充完整并正確運(yùn)行的,如果有意購買此程序,請(qǐng)與我們聯(lián)系,Email:)function Alpha1,Alpha2,Alpha,Flag,B=SVMNR(X,Y,Epsilon,C,TKF)% SVMNR.m% Support Vector Machine for Nonlinear Regression% ChengAihua,PLA Information Engineering University,ZhengZhou,China% All rights reserved% 支持向量機(jī)非線性回歸通用

2、程序% 程序功能:% 使用支持向量機(jī)進(jìn)行非線性回歸,得到非線性函數(shù)y=f(x1,x2,xn)的支持向量解析式,% 求解二次規(guī)劃時(shí)調(diào)用了優(yōu)化工具箱的quadprog函數(shù)。本函數(shù)在程序入口處對(duì)數(shù)據(jù)進(jìn)行了% -1,1的歸一化處理,所以計(jì)算得到的回歸解析式的系數(shù)是針對(duì)歸一化數(shù)據(jù)的,仿真測% 試需使用與本函數(shù)配套的Regression函數(shù)。% 主要參考文獻(xiàn):% 輸入?yún)?shù)列表% X 輸入樣本原始數(shù)據(jù),nl的矩陣,n為變量個(gè)數(shù),l為樣本個(gè)數(shù)% Y 輸出樣本原始數(shù)據(jù),1l的矩陣,l為樣本個(gè)數(shù)% Epsilon 不敏感損失函數(shù)的參數(shù),Epsilon越大,支持向量越少% C 懲罰系數(shù),C過大或過小,泛化能力變差%

3、 TKF Type of Kernel Function 核函數(shù)類型% TKF=1 線性核函數(shù),注意:使用線性核函數(shù),將進(jìn)行支持向量機(jī)的線性回歸% TKF=2 多項(xiàng)式核函數(shù)% TKF=3 徑向基核函數(shù)% TKF=4 指數(shù)核函數(shù)% TKF=5 Sigmoid核函數(shù)% TKF=任意其它值,自定義核函數(shù)% 輸出參數(shù)列表% Alpha1 系數(shù)% Alpha2 *系數(shù)% Alpha 支持向量的加權(quán)系數(shù)(*)向量% Flag 1l標(biāo)記,0對(duì)應(yīng)非支持向量,1對(duì)應(yīng)邊界支持向量,2對(duì)應(yīng)標(biāo)準(zhǔn)支持向量% B 回歸方程中的常數(shù)項(xiàng)%-%-數(shù)據(jù)歸一化處理-nntwarn offX=premnmx(X);Y=premnmx

4、(Y);%-核函數(shù)參數(shù)初始化-switch TKFcase 1%線性核函數(shù) K=sum(x.*y)%沒有需要定義的參數(shù)case 2%多項(xiàng)式核函數(shù) K=(sum(x.*y)+c)pc=0.1;p=2;case 3%徑向基核函數(shù) K=exp(-(norm(x-y)2/(2*sigma2)sigma=10;case 4%指數(shù)核函數(shù) K=exp(-norm(x-y)/(2*sigma2)sigma=10;case 5%Sigmoid核函數(shù) K=1/(1+exp(-v*sum(x.*y)+c)v=0.5;c=0;otherwise%自定義核函數(shù),需由用戶自行在函數(shù)內(nèi)部修改,注意要同時(shí)修改好幾處!%暫時(shí)定

5、義為 K=exp(-(sum(x-y).2)/(2*sigma2)sigma=8;end%-構(gòu)造K矩陣-l=size(X,2);K=zeros(l,l);%K矩陣初始化for i=1:lfor j=1:lx=X(:,i);y=X(:,j);switch TKF%根據(jù)核函數(shù)的類型,使用相應(yīng)的核函數(shù)構(gòu)造K矩陣case 1K(i,j)=sum(x.*y);case 2K(i,j)=(sum(x.*y)+c)p;case 3K(i,j)=exp(-(norm(x-y)2/(2*sigma2);case 4K(i,j)=exp(-norm(x-y)/(2*sigma2);case 5K(i,j)=1/(

6、1+exp(-v*sum(x.*y)+c);otherwiseK(i,j)=exp(-(sum(x-y).2)/(2*sigma2);endendend%-構(gòu)造二次規(guī)劃模型的參數(shù)H,Ft,Aeq,Beq,lb,ub-%支持向量機(jī)非線性回歸,回歸函數(shù)的系數(shù),要通過求解一個(gè)二次規(guī)劃模型得以確定Beq=0;lb=eps.*ones(2*l,1);ub=C*ones(2*l,1);%-調(diào)用優(yōu)化工具箱quadprog函數(shù)求解二次規(guī)劃-OPT=optimset;OPT.LargeScale=off;OPT.Display=off;%-整理輸出回歸方程的系數(shù)-Alpha1=(Gamma(1:l,1);Alp

7、ha=Alpha1-Alpha2;Flag=2*ones(1,l);%-支持向量的分類-Err=0.000000000001;for i=1:lAA=Alpha1(i);BB=Alpha2(i);if (abs(AA-0)=Err)&(abs(BB-0)Err)&(AAC-Err)&(abs(BB-0)=Err)Flag(i)=2;%標(biāo)準(zhǔn)支持向量endif (abs(AA-0)Err)&(BBC-Err)Flag(i)=2;%標(biāo)準(zhǔn)支持向量endif (abs(AA-C)=Err)&(abs(BB-0)=Err)Flag(i)=1;%邊界支持向量endif (abs(AA-0)=Err)&(ab

8、s(BB-C)Err)&(AAC-Err)&(abs(BB-0)0switch TKFcase 1SUM=SUM+Alpha(j)*sum(X(:,j).*X(:,i);case 2SUM=SUM+Alpha(j)*(sum(X(:,j).*X(:,i)+c)p;case 3SUM=SUM+Alpha(j)*exp(-(norm(X(:,j)-X(:,i)2/(2*sigma2);case 4SUM=SUM+Alpha(j)*exp(-norm(X(:,j)-X(:,i)/(2*sigma2);case 5SUM=SUM+Alpha(j)*1/(1+exp(-v*sum(X(:,j).*X(:

9、,i)+c);otherwiseSUM=SUM+Alpha(j)*exp(-(sum(X(:,j)-X(:,i).2)/(2*sigma2);endendendB=B+b;counter=counter+1;endif (abs(AA-0)Err)&(BB0switch TKFcase 1SUM=SUM+Alpha(j)*sum(X(:,j).*X(:,i);case 2SUM=SUM+Alpha(j)*(sum(X(:,j).*X(:,i)+c)p;case 3SUM=SUM+Alpha(j)*exp(-(norm(X(:,j)-X(:,i)2/(2*sigma2);case 4SUM=SU

10、M+Alpha(j)*exp(-norm(X(:,j)-X(:,i)/(2*sigma2);case 5SUM=SUM+Alpha(j)*1/(1+exp(-v*sum(X(:,j).*X(:,i)+c);otherwiseSUM=SUM+Alpha(j)*exp(-(sum(X(:,j)-X(:,i).2)/(2*sigma2);endendendb=Y(i)-SUM+Epsilon;counter=counter+1;endendif counter=0B=0;elseB=B/counter;end 為檢驗(yàn)支持向量機(jī)非線性回歸的泛化能力,本文做了如下實(shí)驗(yàn):把第i(i=1,2,21)組原始數(shù)

11、據(jù)樣本抽取出來,把剩下的20組數(shù)據(jù)作為學(xué)習(xí)樣本,輸入支持向量機(jī)非線性回歸的程序,計(jì)算相應(yīng)的非線性回歸方程,并把抽取出來的那一組數(shù)據(jù)作為測試數(shù)據(jù),計(jì)算輸出值,并與其原始值做比較,計(jì)算絕對(duì)誤差和相對(duì)誤差。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21絕對(duì)誤差 -0.02 0.04 0.05 0.10 0.00 -0.03 -0.05 -0.03 -0.03 -0.08 0.07 -0.09 -0.01 -0.01 -0.02 0.03 -0.02 0.00 0.18 0.13 -0.12相對(duì)誤差 -0.05 0.06 0.09 0.17

12、 0.00 -0.04 -0.08 -0.04 -0.05 -0.11 0.16 -0.16 -0.01 -0.02 -0.04 0.04 -0.02 0.00 0.51 0.26 -0.14平均相對(duì)誤差為0.0978 BP神經(jīng)網(wǎng)絡(luò)有著很強(qiáng)的非線性擬合能力,能以任意精度逼近任意非線性連續(xù)函數(shù),當(dāng)然其前提條件是神經(jīng)網(wǎng)絡(luò)構(gòu)造適當(dāng)并且訓(xùn)練充分。對(duì)于本文的19維的輸入變量,而只有少量的20組訓(xùn)練樣本的情況下,其泛化能力表現(xiàn)如何呢?我們使用Matlab自帶的神經(jīng)網(wǎng)絡(luò)工具箱,構(gòu)造并訓(xùn)練了一個(gè)BP神經(jīng)網(wǎng)絡(luò),其仿真誤差如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21絕對(duì)誤差 0.04 0.13 0.38 0.09 -0.27 0.18 -0.04 0.31 -0.11 0.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論