本程序是BP算法的演示程序, 其中的Levenberg-Marquardt算法具有實(shí)用價(jià)值.
一、網(wǎng)絡(luò)訓(xùn)練
程序默認(rèn)狀態(tài)是樣本訓(xùn)練狀態(tài),現(xiàn)將樣本訓(xùn)練狀態(tài)下的如何訓(xùn)練網(wǎng)絡(luò)進(jìn)行說明:
1.系統(tǒng)精度:
定義系統(tǒng)目標(biāo)精度,根據(jù)需要定義網(wǎng)絡(luò)訓(xùn)練誤差精度.誤差公式是對(duì)訓(xùn)練出網(wǎng)絡(luò)的輸出層節(jié)點(diǎn)和實(shí)際的網(wǎng)絡(luò)輸出結(jié)果求平方差的和.
最大訓(xùn)練次數(shù):
默認(rèn)為10000次,根據(jù)需要調(diào)整,如果到達(dá)最大訓(xùn)練次數(shù)網(wǎng)絡(luò)還未能達(dá)到目標(biāo)精度,程序退出.
3.步長(zhǎng):
默認(rèn)為0.01,由于采用變步長(zhǎng)算法,一般不需人工設(shè)置.
4.輸入層數(shù)目:
人工神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元的節(jié)點(diǎn)數(shù)目.
5.隱含層數(shù)目:
人工神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元的節(jié)點(diǎn)數(shù)目.
6.輸出層數(shù)目:
人工神經(jīng)網(wǎng)絡(luò)的輸出層神經(jīng)元的節(jié)點(diǎn)數(shù)目.
7.訓(xùn)練算法:
強(qiáng)烈建議選取Levenberg-Marquardt算法,該算法經(jīng)過測(cè)試比較穩(wěn)定.
8.激活函數(shù):
不同的網(wǎng)絡(luò)激活函數(shù)表現(xiàn)的性能不同,可根據(jù)實(shí)際情況選擇.
9.樣本數(shù)據(jù)的處理:
由于程序沒有實(shí)現(xiàn)歸一化功能, 因此用來訓(xùn)練的樣本數(shù)據(jù)首先要?dú)w一化后才能進(jìn)行訓(xùn)練.
標(biāo)簽:
Levenberg-Marquardt
程序
狀態(tài)
樣本
上傳時(shí)間:
2013-12-19
上傳用戶:firstbyte
% Train a two layer neural network with the Levenberg-Marquardt
% method.
%
% If desired, it is possible to use regularization by
% weight decay. Also pruned (ie. not fully connected) networks can
% be trained.
%
% Given a set of corresponding input-output pairs and an initial
% network,
% [W1,W2,critvec,iteration,lambda]=marq(NetDef,W1,W2,PHI,Y,trparms)
% trains the network with the Levenberg-Marquardt method.
%
% The activation functions can be either linear or tanh. The
% network architecture is defined by the matrix NetDef which
% has two rows. The first row specifies the hidden layer and the
% second row specifies the output layer.
標(biāo)簽:
Levenberg-Marquardt
desired
network
neural
上傳時(shí)間:
2016-12-27
上傳用戶:jcljkh