1樓:檀君博
主要看均方誤差和其百分比(準確率)。假如你擬合出來是ui,計算(yi-ui)^2的平均值,然後計算這個平均值與yi平均值的比(也就是均方誤差百分比),當然用1減去這個百分比就是準確率了。一般也會畫一幅圖,把yi和ui分別用不同的顏色或者符號表示出來,直觀對比。
擬合時的隱含層節點數目前沒有一個通行的公式進行確定,只能憑藉經驗和試湊。一般情況下,問題的複雜程度(非線性程度和維度)越高,隱含層節點數越多。這裡介紹一個小經驗:
先用不太大的節點數進行**,如果增加節點數測試集準確率和訓練集準確率都有所提升,則應該繼續增加。如果增加節點數測試集準確率增加很不明顯,而訓練集準確率還是有所提升,則不應該繼續增加,當前的就是很理想的,繼續增加節點數只會起到反效果。
2樓:匿名使用者
看方差值確定效果。
隱藏的節點數通過經驗判斷,通常存在加速區與緩速區,當處於加速區時,應增加節點,直到效果沒有明顯改善時進入緩速區為止。
用一些其他的方式可以改變加速區與緩速區的分配
3樓:匿名使用者
mse,sse都可以。
神經網路擬合函式的小例題
4樓:匿名使用者
你這個問題其實我回答過,你可以參考
5樓:
最簡單的擬合方法就是利用matlab中的nntool工具箱,無論是知道擬合曲線的形式還是不知道,都可以用nntool工具箱。我做出來的擬合曲線即相關引數,擬合影象分別如下圖。
講解bp神經網路比較好的書有:matlab神經網路:從零開始》(共上下兩冊)和
《matlab 神經網路30個案例分析》
6樓:添顏旅行
人工神經網路第一次作業
題目:使用函式
sin()au
tecu
試驗matlab
中的bp演算法1
、改變不同訓練演算法,觀察效果;
2、改變引數
a,c的值,觀察效果;
3、改變隱層神經網路個數,觀察效果;
4、嘗試:加入噪聲的訓練效果。
一、改變不同訓練演算法,觀察效果
在matlab
中,bp
網路的訓練函式一共有以下幾種,改變不同訓練演算法,
觀察效果就是在其他引數不變只改變程式中訓練函式的情況下,
得到不同訓練算
法的訓練結果。
訓練方法
訓練函式
梯度下降法
traingd
有動量的梯度下降法
traingdm
自適應lr
梯度下降法
traingda
自適應lr
動量梯度下降法
traingdx
彈性梯度下降法
trainrp
fletcher-reeves
共軛梯度法
traincgf
ploak-ribiere
共軛梯度法
traincgp
powell-beale
共軛梯度法
traincgb
量化共軛梯度法
trainscg
擬牛頓演算法
trainbfg
一步正割演算法
trainoss
levenberg-marquardt
法trainlm
由於這只是改變程式中的訓練演算法,
其他不變,
所以為了簡潔,
在本程式中
只選取了四種訓練演算法,
分別是梯度下降法
traingd
、彈性梯度下降法
trainrp、擬
牛頓演算法
trainbfg
和levenberg-marquardt
法trainlm
,只更改不同的訓練演算法來
構造節點,程式如下,得到不同訓練演算法下的**圖如圖
1所示。
clear
all;
close
all;
clc;
a=1,c=1;
%在此改變
a,c的值
layer_number=20;
%在此改隱含層的個數
u=-4:0.001:4;
t=exp(-a*u).*sin(c*u);
%這裡是矩陣相乘,要用點乘
net=newff(minmax(u),[layer_number,1],,
'traingd');%
梯度下降法
y1=sim(net,u);
%未訓練直接輸出
net1=newff(minmax(u),[layer_number,1],,
'traingd');
%梯度下降法
net2=newff(minmax(u),[layer_number,1],,
'trainrp');
%彈性梯度下降法
net3=newff(minmax(u),[layer_number,1],,
'trainbfg');%
擬牛頓演算法
net4=newff(minmax(u),[layer_number,1],,
'trainlm');
%levenberg-marquardt
net.trainparam.show = 50;
net.trainparam.epochs=1000;
net.trainparam.goal=0.01;
net1=train(net1,u,t);
%採用梯度下降法訓練節點
net2=train(net2,u,t);
%採用彈性梯度下降法訓練節點
net3=train(net3,u,t);
%採用擬牛頓演算法訓練節點
net4=train(net4,u,t);%採用
levenberg-marquardt
法訓練節點
y2_1=sim(net1,u);
y2_2=sim(net2,u);
y2_3=sim(net3,u);
y2_4=sim(net4,u);
subplot(2,2,1)
plot(u,t,
'b--'
,u,y1,
'g:'
,u,y2_1,
'r-'
); title(
'1、採用梯度下降法的**結果圖
');xlabel(
'input_u'
);ylabel(
'output_y'
);legend(
'目標函式曲線',
'未經訓練
bp網路逼近曲線',
'訓練後的
bp網路逼近曲線');
subplot(2,2,2)
plot(u,t,
'b--'
,u,y1,
'g:'
,u,y2_2,
'r-'
) title(
'2、採用彈性梯度下降法的**結果圖
');xlabel(
'input_u'
);ylabel(
'output_y'
);legend(
'目標函式曲線',
'未經訓練
bp網路逼近曲線',
'訓練後的
bp網路逼近曲線');
subplot(2,2,3)
plot(u,t,
'b--'
,u,y1,
'g:'
,u,y2_3,
'r-'
) title(
'3、採用擬牛頓演算法的**結果圖
');xlabel(
'input_u'
);ylabel(
'output_y'
);legend(
'目標函式曲線',
'未經訓練
bp網路逼近曲線',
'訓練後的
bp網路逼近曲線');
subplot(2,2,4)
plot(u,t,
'b--'
,u,y1,
'g:'
,u,y2_4,
'r-'
) title(
'4、採用
levenberg-marquardt
法的**結果圖
');xlabel(
'input_u'
);ylabel(
'output_y'
);legend(
'目標函式曲線',
'未經訓練
bp網路逼近曲線',
'訓練後的
bp網路逼近曲線');
用matlabbp神經網路做多元線性迴歸,求問各引數的擬合值怎麼看? 10
7樓:
根據神經網路的結構,得到了w和b,將他們帶進去,通過一層層網路的計算,就得到引數。
這個沒法直接看,要算一下。
8樓:
這個要看你選擇的啟用函式,若是你的啟用函式為非線性函式,那就不可能得到各引數的擬合值。如果你所選用的啟用函式是線性函式,那麼就可以先把輸出的表示式寫出來,即權向量和輸入的矩陣乘積。得到表示式後就可以得到相應引數的擬合值了
9樓:竺枝
你的目的是?打算看什麼引數?是說訓練時候所選的網路引數?
神經網路經過訓練後如何檢視訓練出來的函式?matlab的
10樓:xxj傑
用net.iw函式輸出權值矩陣,按列求平均算出各個變數的權重。你去中國知網搜尋
bp神經網路高等學校標準學費,記得是有這麼的相關文獻的!
數碼相機引數怎麼看,買相機主要看哪些引數?
一般是看ccd跟光圈和鏡頭,相數一般1000w足夠了 畫素影響相片大小的清晰度 感光度光圈 快門速度 光線越差 速度要越慢 還有個很關鍵的 注意不要抖 韓燎笪山 主要引數有 ccd大小 光圈 焦距 光變倍數 畫素。一般家用攝影主要使用卡片機,卡片機的便攜性也是最好的。稍微專業點的可以使用長焦機,單反...
神經內科都看哪些病,神經內科是看什麼病的?
一零啞劇 神經系統分中樞神經系統和周圍神經系統,中樞神經系統包括腦和脊髓,周圍神經系統分佈於身體各個部位,和全身各個臟器有著密切的關係。因此神經內科的所診治的疾病比較廣泛,而且有一些屬於疑難雜症。最常見的是腦血管病,比如癲癇 頭疼 偏頭疼,還有頭暈 眩暈綜合徵。常見的顱內感染,比如腦炎 腦膜炎,多因...
主機板好壞主要看哪些引數,看電腦配置的好壞 主要看哪幾個方面?
niter的主機板前面的字母.如 g代表是整合的板子.帶有顯示卡晶片.p x不帶集顯.等級 效能上x好於p好於g.字尾數字越大.等級越高.amd的板子數字型號在前.也是數字越大.等級越高.字尾字母.g也是整合的.沒有g字樣的是不帶集顯的.區分主機板的好壞.主要先看品牌度.一線的華碩 技嘉 微星等.二...