elman神經網路算力更強
1. elman神經網路和rnn有什麼關系
深度學習是多層的神經網路。RNN和elman神經網路是深度學習的主要內容之一。深度學習絕不僅僅是多層的神經網路。網路必須擁有一定的」記憶能力」。為了賦予網路這樣的記憶力,一種特殊結構的神經網路——遞歸神經網路(Recurrent Neural Network)便應運而生了。Elman神經網路是 J. L. Elman於1990年首先針對語音處理問題而提出來的,是一種典型的局部回歸網路( global feed forward local recurrent)。
2. 怎樣在matlab中建立elman神經網路
t=1:20;
p1=sin(t);
p2=sin(t)*2;
plot(t,p1,'r');
hold on
plot(t,p2,'b--');
hold on
t1=ones(1,20);t2=ones(1,20)*2;%產生兩組向量,分別為這兩波形幅值,作為輸出向量
p=[p1 p2 p1 p2];
t=[t1 t2 t1 t2];
Pseq=con2seq(p);%將矩陣形式的訓練樣本轉換為序列的形式
Tseq=con2seq(t);
R=1;%輸入元素的數目為1
S2=1;%輸出曾的神經元個數為1
S1=10;%中間層有10個神經元
net=newelm([-2,2],[S1,S2],{'tansig','purelin'});
net.trainParam.epochs=100;%設定次數
net=train(net,Pseq,Tseq);
y=sim(net,Pseq);
%預測
P=randn(12,2);T=randn(12,2);
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
a=[11 17 23];
for i=1:3
net=newelm(threshold,[a(i),4],{'tansig','purelin'});
net.trainParam.epochs=1000;
net=init(net);
net=train(net,P,T);
y=sim(net,p_test);
error(i,:)=y'-t;
end
hold off;
plot(1:4,error(1,:));
hold on;
plot(1:4,error(2,:),'-.');
hold on;
plot(1:4,error(3,:),'--');
hold off;
3. 請問有誰對elman神經網路做過深入研究嗎其中承接層的權值是如何安排和定位的呀
1、如果使用MATLAB的話不要自己設定,newff之後會自動賦值
也可以手動:net.IW=
2、一般來說輸入歸一化,那麼w和b取0-1的隨機數就行
4. Elman神經網路學習問題
你是參考別人的代碼修改的吧?報錯信息的意思是:input_train、output_train這兩個變數沒有定義。你應該在之前對這兩個變數進行賦值,即將訓練數據的輸入和輸出做成矩陣形式,以一列為一個樣本,再賦值給這兩個變數。
訓練Elman神經網路可以用train()或者adapt()。兩個函數不同之處在於,train()函數應用反向傳播訓練函數進行權值修正,通常選用traingdx訓練函數;adapt()函數應用學習規則函數進行權值修正,通常選用learngdm函數。
Elman神經網路的可靠性要比一些其他類型網路差一些,這是因為在訓練和調整時,應用誤差梯度的估計值。恰恰因為這一點,構建網路時,為了達到這一精度,Elman神經網路隱含層神經元的數目比其他網路結構相對較多。
5. elman神經網路能夠解決的問題,還有其他什麼網路能夠更好的解決
還可以使用GRNN神經網路,效果非常好,並且訓練速度非常快。廣義回歸神經網路GRNN:徑向基神經元和線性神經元可以建立廣義回歸神經網路,它是徑RBF網路的一種變化形式,經常用於函數逼近。在某些方面比RBF網路更具優勢。
在MATLAB中,直接使用net=newgrnn(P,T,spread)就能以非常快的速度設計出一個GRNN網路,其進行訓練及預測時,效果非常好,不會比elman神經網路差。擴展常數SPREAD不能太小,才能使部分徑向基神經元能夠對輸入向量所覆蓋的區間產生相應,但也不能太大,否則計算困難。可以通過試湊來獲得最佳擴展常數。
6. Elman神經網路和回聲狀態網路哪個好
BP等前饋型神經網路是將動態時間建模問題變為靜態空間建模問題,同時還需對模型結構進行定介,特別是隨系統階次的增加或階次未知,迅速擴大的網路結構使網路學習的收斂速度減慢,並造成網路輸入節點過多、訓練困難及對外部雜訊敏感等弊病。
Elman回歸神經網路是在BP網路基本結構的基礎上,通過存儲內部狀態使其具備映射的動態特徵功能,從而使系統具有適應時變特性的能力。
7. 採用什麼手段使神經網路預測更加准確
優化神經網路結構。如BP神經網路改變隱層神經元數量、訓練演算法等;
使用其他神經網路。如Elman神經網路考慮了前一時刻的輸出,比較適合用於預測,預測效果往往更好。RBF神經網路的訓練速度很快,訓練效果也很好。
改進的神經網路演算法。例如BP神經網路增加動量項、自適應學習率等措施,防止陷入局部極小影響預測效果。
組合神經網路。取長補短,將全局搜索能力強的演算法與局部逼近快的演算法組合起來,如遺傳演算法優化初始權值,再訓練。這種方法比較靈活,可以和許多演算法融合。
全面考慮影響因素。未來的預測值受許多因素影響,所以應該在基於歷史數據的基礎上,充分考慮各種因素,考慮得越周全,預知信息越多,預測效果一般更好。
8. 求大神幫忙,用BP或elman神經網路實現風速預測程序怎麼寫
x=[6.2 ,5.8 ,5.5 , 5.6 ,5.4 ,5.1 ,5.2 , 5.2 ,5.1 ,4.9 ,4.8 ,5 ,5.2 ,5.3 ...
,5.2 ,5.1 ,5.1 ,5 ,4.8 , 4.9 ,5.3 ,5.4 ,5.3 ,5.3 ,5.5 ,5.2 ,4.6 ,4.9 ...
,4.9 ,5.4 ,5.4 ,5.5 ,5.4 ,5.1 ,5 ,5.1 ,5.2 ,4.9 ,5.2 ,5.1 ,5.1 ,4.8 ,...
3.8 ,3.4 ,3.8 ,3.9 ,3.8 ,3.7 ,3.6 ,2.9 ,3.1 ,3.7 ,3.9 ,3.7 ,3.7 ,3.8 ,...
3.6 ,3.7 ,2.7 ,2.8 ,1.9 ,2.7 ,2.9 ,2.8 ,3.5 ,3.6 ,3.7 ,3.3 ,3.6 ,3.5 ,...
4.3 ,4.4 ,3.9 ,4.5 ,4.2 ,4.9 ,4.5 ,4.6 4.8, 5.7, 5.6, 5.6, 5.6, 5.6, ...
5.6,5.6, 5.6, 5.6, 5.6, 5.6,5.6 ,5.6,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ...
,5.6 ,5.6 ,5.6 ,5.6 ,5.5 ,5.5 ,5.2 ,3.6 ,5.6 ,4.5 ,6.1,6.2 ,5.6 ,6.4 ,...
5.5 ,4.8 ,5.1 ,6.1 ,5.5 ,4.6 ,4.3 ,6.7 ,5.9 ,4.8 ,5.8 ,5.7 ,5.7 ,5.4 ,...
5.9 ,5.7 ,6.2 ,5.2 ,4.6 ,4.1 ,4.3 ,4.3 ,4.1 ,3.9 ,3.8 ,4.3 ,4.6,4.2,...
4.1 ,4.5 ,4.3 ,3.7 ,3.1 ,2.7 ,2.9 ,2.4 ,3 ,2.8 ,2.8];
% 該腳本用來做NAR神經網路預測
% 作者:Macer程
lag=3; % 自回歸階數
iinput=x; % x為原始序列(行向量)
n=length(iinput);
%准備輸入和輸出數據
inputs=zeros(lag,n-lag);
for i=1:n-lag
inputs(:,i)=iinput(i:i+lag-1)';
end
targets=x(lag+1:end);
%創建網路
hiddenLayerSize = 10; %隱藏層神經元個數
net = fitnet(hiddenLayerSize);
% 避免過擬合,劃分訓練,測試和驗證數據的比例
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
%訓練網路
[net,tr] = train(net,inputs,targets);
%% 根據圖表判斷擬合好壞
yn=net(inputs);
errors=targets-yn;
figure, ploterrcorr(errors) %繪制誤差的自相關情況(20lags)
figure, parcorr(errors) %繪制偏相關情況
%[h,pValue,stat,cValue]= lbqtest(errors) %Ljung-Box Q檢驗(20lags)
figure,plotresponse(con2seq(targets),con2seq(yn)) %看預測的趨勢與原趨勢
%figure, ploterrhist(errors) %誤差直方圖
%figure, plotperform(tr) %誤差下降線
%% 下面預測往後預測幾個時間段
fn=5; %比如預測步數為fn。
f_in=iinput(n-lag+1:end)';
f_out=zeros(1,fn); %預測輸出
% 多步預測時,用下面的循環將網路輸出重新輸入
for i=1:fn
f_out(i)=net(f_in);
f_in=[f_in(2:end);f_out(i)];
end
% 畫出預測圖
figure,plot(1:n,iinput,'b',n:n+fn,[iinput(end),f_out],'r')
效果不是很好,但未來5個點風速應該是增大的。
9. PNN神經網路,BP神經網路,Elman神經網路,ANN神經網路,幾種神經網路中哪個容錯能力最強
多層前向BP網路是目前應用最多的一種神經網路形式, 它具備神經網路的普遍優點!
10. 用BP或elman神經網路實現風速預測程序怎麼寫
神經網路可以指向兩種,一個是生物神經網路,一個是人工神經網路。
生物神經網路:一般指生物的大腦神經元,細胞,觸點等組成的網路,用於產生生物的意識,幫助生物進行思考和行動。
人工神經網路(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經網路(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經網路行為特徵,進行分布式並行信息處理的演算法數學模型。這種網路依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。
人工神經網路:是一種應用類似於大腦神經突觸聯接的結構進行信息處理的數學模型。在工程與學術界也常直接簡稱為「神經網路」或類神經網路。