目標函式: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網路的了解和認識,理解訊號的正向傳播和誤差的反向傳遞過程。二 實驗原理 由於傳統的感知器和線性神經網路有自身無法克服的缺陷,它們都不能解決線性不可分問題,因此在實...
神經網路評價法
第五章第一節思想和原理 第二節模型和步驟 第三節應用和案例 第一節思想和原理 在當今社會,面臨許許多多的選擇或決策問題。人們通過分析各種影響因素,建立相應的數學模型,通過求解最優解來得到最佳方案。由於數學模型有較強的條件限制,導致得出的最佳方案與現實有較大誤差。只有重新對各種因素進行分析,重新建立模...