BP神經網路

2023-01-16 18:30:04 字數 1662 閱讀 4756

目標函式:y=sin(2x)+sin(πx) x=[-5,5]其影象為:

程式:clc

clear all

x=-5:0.01:5;

y=sin(pi*x)+sin(2*x);

net=newff(minmax(x),[10,1],,'traingd');

net=train(net,x,y);

y1=sim(net,x);

plot(x,y);

hold on

plot(x,y1,'r+');

一、訓練函式對程式效能的影響:

梯度下降法(traingd):

有動量的梯度下降法(traingdm):`

有自適應lr的梯度下降法(traingda):

有動量加自適應lr的梯度下降法(traingdx):

彈性梯度下降法(trainrp):

f-r共軛梯度下降法(traincgf):

p-r共軛梯度法(traincgp):

p-b共軛梯度法(traincgb):

量化共軛梯度法(trainscg):

l-m演算法(trainlm):

結論:從以上圖形可以看出,從擬合效果來看,共軛梯度與l-m演算法能夠達到很好的擬合效果,而其他幾種都在不同部位有差別比較大的擬合。從訓練速度看,l-m演算法的訓練速度比較快,並且能夠達到很高的精度,適用於高精度要求的場合。

二、隱含層結點數對程式效能的影響:

隱含層結點數為10, 標準梯度下降法:

隱含層結點數為20,標準梯度下降法:

隱含層結點數為100,標準梯度下降法:

結論: 從圖中可以看出對於同樣的引數設定 ,改變隱含層結點數能夠很好的改變程式效能,提高訓練速度。當選用過大的隱含層結點數時,會增加訓練時間,擬合效果也不是很好。

所以隱含層結點數的選取有很重要的作用,一般都是根據經驗公式選擇,使程式得到最佳效能。

三、權值和閾值初始值的影響:

結論 : 可以看出選擇合適的權值和閾值初始值,能夠減少訓練回合次數。

4、bp神經網路的區域性最優情況:(梯度下降法)

用數學解析知識可以算得,該函式的在自變數取值範圍內的最小值為:

x=-0.5766 y=-1.8853。

利用bp神經網路進行尋優。

程式:clc

clear all

syms x y b

f=2*(x-2)^2+(y-4)^2;

grad=[diff(f,x),diff(f,y)];%求梯度

v=[x,y];v0=[-3,-3];

grad0=subs(grad,v,v0);%求v0梯度

m=norm(grad0);%梯度的模,方向導數

n=0;

while n<=100

d=-grad0;

f1=subs(f,v,v0);

ft=subs(f,v,v0+b*d);

dft=diff(ft);

b=solve(dft);%得到該方向的最優步長

v0=v0+b*d;

grad0=subs(grad,v,v0);

m=norm(grad0);

n=n+1;

endv0=double(v0);

f1=double(subs(f,v,v0));

disp(v0)

disp(f1)

bp神經網路

實驗四計算智慧型 1 1 實驗目的 理解反向傳播網路的結構和原理,掌握反向傳播演算法對神經元的訓練過程,了解反向傳播公式。通過構建bp網路例項,熟悉前饋網路的原理及結構。2 實驗內容 編寫乙個bp神經網路程式,實現簡單的分類。3 實驗報告要求 1 簡述實驗原理及方法,並請給出程式設計流程圖。bp演算...

BP神經網路實驗報告

一 實驗目的 1 熟悉matlab中神經網路工具箱的使用方法 2 通過在matlab下面程式設計實現bp網路逼近標準正弦函式,來加深對bp網路的了解和認識,理解訊號的正向傳播和誤差的反向傳遞過程。二 實驗原理 由於傳統的感知器和線性神經網路有自身無法克服的缺陷,它們都不能解決線性不可分問題,因此在實...

神經網路評價法

第五章第一節思想和原理 第二節模型和步驟 第三節應用和案例 第一節思想和原理 在當今社會,面臨許許多多的選擇或決策問題。人們通過分析各種影響因素,建立相應的數學模型,通過求解最優解來得到最佳方案。由於數學模型有較強的條件限制,導致得出的最佳方案與現實有較大誤差。只有重新對各種因素進行分析,重新建立模...