日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB中BP神经网络用于回归拟合算法实现(另附GRNN代码)

發布時間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB中BP神经网络用于回归拟合算法实现(另附GRNN代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BP神經網絡:是1986年由Rumelhart和McClelland為首的科學家提出的概念,是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,是目前應用最廣泛的神經網絡。神經網絡是把生活中的常見情節推廣到計算仿真的范疇,這樣的啟發式算法還有許多,例如:遺傳算法、煙花算法、蟻群算法、模擬退火算法等等。

一、神經網絡算法步驟

1、導入需要處理的數據,隨機獲取實驗數據和目標數據。

2、構建訓練網絡,函數:newwff。

3、對網絡訓練,函數:train。

4、仿真操作,函數:sin(net,x)。

5、評價。

6、模擬訓練的效果可視化。

在神經網絡訓練中,我們構建神經網絡的實驗數據和目標收斂數據都是從原始數據中隨機獲取的。

二、神經網絡學習主要函數說明

  • newff:前饋網絡創建函數
    函數結構:net = newff(A,B,{C},’trainFun’,’BLF’,’PF’)。
    參數:
    A:一個n*2的矩陣,第i行元素為輸入信號Xi的最大最小值;
    B:一個K維行向量,其元素為網絡中各個節點的數量;
    C:一個K維字符串行向量,每一個分量為對應層的神經元的激活函數,默認為“tansig”;
    trainFun:為學習規則的采用的訓練算法。默認為:“trainlm”;
    BLF:BP權值/偏差學習函數。默認為:“learngdm”;
    PF:性能函數,默認為“mse”;

  • train函數
    函數結構
    網絡學習函數:[net,tr,YI,E] = train(net,X,Y) 。
    參數:
    X:網絡實際輸入;
    Y:網絡應有輸出;
    tr:網絡跟蹤信息;
    YI:網絡實際輸出;
    E:誤差矩陣。

  • sim函數
    函數結構:Y = sim(net,X) 。
    參數
    X:輸入給網絡的KN矩陣,K為網絡輸入個數,N為樣本數據量;
    Y:輸出矩陣QN,其中Q為網絡輸出個數。

  • 三、案例

    1.案例1

    利用三層BP神經網絡來完成非線性函數的逼近任務,其中隱層神經元個數為五個。

    clear; clc;X=-1:0.1:1;D=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609...0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 -.0988...0.3072 0.3960 0.3449 0.1816 -0.312 -0.2189 -0.3201];net=newff([-1,1],[5,1],{'tansig','tansig'});%初始網絡net.trainParam.epochs=1000;%最大訓練次數net.trainParam.goal=0.005;%訓練要求精度net=train(net,X,D);%網絡訓練figureplot(X,D,'*',X,Y); %繪制實際曲線點和預測曲線% 利用得到的神經網絡和數據仿真預測Y=sim(net,X) %Y為預測結果

    2.案例2

    clear;clc;P=[-1 -1 2 2 4;0 5 0 5 7];T=[-1 -1 1 1 -1];% 樣本數據歸一化處理[input_n,input_ps]=mapminmax(P);[output_n,output_ps]=mapminmax(T);% 初始化網絡結果(利用minmax函數求輸入樣本范圍)net=newff(input_n,output_n,[5,1]);%三個數據為輸入樣本數據,輸出樣本數據和隱含層節點數%設置參數net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.epochs=300;net.trainParam.goal=0.005;%網絡訓練[net,tr]=train(net,P,T);%利用得到的神經網絡和數據仿真預測Y=sim(net,P)%Y為預測結果


    以上是BP神經網絡的相關介紹,BP神經網絡適用于大樣本數據的預測,至于小樣本還有灰色理論、最小二乘支持向量機、廣義回歸神經網絡、灰色神經網絡,不同的數據需要根據其自身特點選擇不同的預測方法。在很多次實驗之后,我比較鐘情于BP神經網絡和組合預測,組合預測是大趨勢,客觀上有道理,主觀上有更大的操作可能性。
    下面給出廣義回歸神經網絡(包含交叉驗證過程的GRNN)用于小樣本量預測的代碼,包括BP神經網絡預測結果的對比。
    GRNN預測,BP對比

    總結

    以上是生活随笔為你收集整理的MATLAB中BP神经网络用于回归拟合算法实现(另附GRNN代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。