關於建立
神經網路**段的引數說明:
net=feedforwardnet(n,'trainlm');
% n為隱藏層大小,預設為10;『trainlm』是被指定的訓練函式:levenberg-marquardt
演算法t=p;
net.trainparam.goal=0.001;
%goal是最小均方誤差的訓練目標
net.trainparam.epochs=500;
%epochs是較大訓練次數(迭代次數)
tic%記錄當前時間
net=train(net,p,t);
%自動把輸出按比例劃分為訓練集、測試集、**集
toc%
記錄執行train
的耗費時間
其它的訓練函式有如下:
其它可以指定的訓練函式有如下:
% net.trainfcn ='traingd'; % 梯度下降演算法
% net.trainfcn ='traingdm'; % 動量梯度下降演算法
%% net.trainfcn ='traingda'; % 變學習率梯度下降演算法
% net.trainfcn ='traingdx'; % 變學習率動量梯度下降演算法
%% (大型網路的推薦演算法)
% net.trainfcn ='trainrp'; % rprop(彈性bp)演算法,記憶體需求最小
%% (共軛梯度演算法)
% net.trainfcn ='traincgf'; % fletcher-reeves修正演算法
% net.trainfcn ='traincgp'; % polak-ribiere修正演算法,記憶體需求比fletcher-reeves修正演算法略大
% net.trainfcn ='traincgb'; % powell-beal復位演算法,記憶體需求比polak-ribiere修正演算法略大
%% (大型網路的推薦演算法)
%net.trainfcn ='trainscg'; % scaled conjugategradient演算法,記憶體需求與fletcher-reeves修正演算法相同,計算量比上面三種演算法都小很多
% net.trainfcn ='trainbfg'; % quasi-newtonalgorithms - bfgs algorithm,計算量和記憶體需求均比共軛梯度演算法大,但收斂比較快
% net.trainfcn ='trainoss'; % one step secantalgorithm,計算量和記憶體需求均比bfgs演算法小,比共軛梯度演算法略大
%% (中型網路的推薦演算法)
%net.trainfcn ='trainlm'; % levenberg-marquardt演算法,記憶體需求較大,收斂速度最快
% net.trainfcn ='trainbr'; % 貝葉斯正則化演算法
%% 有代表性的五種演算法為:'traingdx','trainrp','trainscg','trainoss','trainlm'
級聯相關神經網路
一般的神經網路是固定好拓撲結構,然後訓練權重和閾值。級聯相關神經網路是從乙個小網路開始,自動訓練和新增隱含單元,最終形成乙個多層的結構。級聯相關神經網路具有以下優點 後向傳播演算法執行緩慢主要有兩個原因 步長問題和目標移動問題。為了快速學習,我們通常希望步長越大越好。然而,如果步長過大,訓練網路不能...
神經網路相關模型
logistic regression模型 y wtx b 記住使用的啟用函式 是sigmoid函式。損失函式 l y y y log y 1 y log 1 y 衡量 值y 與真實值y的差距,越小越好。代價函式 損失均值,j w,b 1 m mi 1l y i y i 是w和b的函式,學習的過程就...
卷積神經網路引數
卷積神經網路 convolutional neural network,cnn 是深度學習技術中極具代表的網路結構之一,在影象處理領域取得了很大的成功,在國際標準的imagenet資料集上,許多成功的模型都是基於cnn的。cnn相較於傳統的影象處理演算法的優點之一在於,避免了對影象複雜的前期預處理過...