%%%
bp神經網路
%有導師學習神經網路
%前向神經網路(誤差反向傳播)
%要求啟用函式可導/可微分
%學習演算法:1. propagation 2. weight update--梯度下降
%資料歸一化?(可以應用到julien專案的資料中)
%newff-- create feed-forward backpropagation network
%train-- train neural network
%sim-- simulate neural network
%% 隨機產生訓練集和測試集
temp=
randperm
(size
(features,1)
);p_train=
features
(temp(1
:300),
:)';
t_train=
activity
(temp(1
:300),
:)';
%測試集
p_test=
features
(temp
(301
:end),:
)';t_test=
activity
(temp
(301
:end),:
)';n
=size
(p_test,2)
;%% 資料歸一化
[p_train,ps_input]
=mapminmax
(p_train,0,
1);p_test=
mapminmax
(,p_test,ps_input)
;[t_train,ps_output]
=mapminmax
(t_train,0,
1);%
%bp神經網路建立,訓練及**測試
%建立網路
net=
newff
(p_train,t_train,9)
;%設定訓練引數
net.trainparam.epochs=
1000
;net.trainparam.goal=
1e-3
;net.trainparam.lr=
0.01
;%訓練網路
net=
train
(net,p_train,t_train)
;%**測試
t_sim=
sim(net,p_test)
;%資料反歸一化
t_sim=
mapminmax
('reverse'
,t_sim,ps_output);%
% 效能評價
%1. 相對誤差error
error=
abs(t_sim-t_test)
./t_test;
%2. 決定係數r^2
r2=(n
*sum
(t_sim.
*t_test)
-sum
(t_sim)
*sum
(t_test))^
2/((
n*sum(
(t_sim).^
2)-(
sum(t_sim))^
2)*(
n*sum(
(t_test).^
2)-(
sum(t_test))^
2));
%3. 結果對比
result=
[t_test' t_sim' error'];%
% 繪圖
figure
plot(1
:n,t_test,
'b:*',1
:n,t_sim,
'r-o'
)legend
('真實值'
,'**值'
)xlabel
('**樣本'
)ylabel
('activity'
)string=
;title
(string)
線性神經網路 matlab神經網路
自適應線性元件20世紀50年代末由widrow和hoff提出,主要用於線性逼近乙個函式式而進行模式聯想以及訊號濾波 模型識別和控制等。線性神經網路和感知器的區別是,感知器只能輸出兩種可能的值,而線性神經網路的輸出可以取任意值。線性神經網路採用widrow hoff學習規則,即lms least me...
MATLAB神經網路
ai 菌這幾天沉迷於數模的ai菌來補發文章啦。深深地體會到雖然神經網路工具的api已經有了非常完備的封裝,但是資料的預處理真的讓人感覺非常的麻煩。當你把所有的異常點一一清理,有一種 掘地求公升終於爬出大氣層 飛向太空的感覺 雖然ai菌連夢想開始的地方都爬不出去 所以今天就來介紹一下這幾天的收穫吧 a...
神經網路學習之 Hopfield神經網路
1982年,美國加州理工學院的優秀物理學家hopfield提出了hopfield神經網路。hopfield神經網路引用了物理力學的分析方法,把網路作為一種動態系統並研究這種網路動態系統的穩定性。dhnn 離散型hopfield神經網路 這是一種單層全反饋網路,共有n個神經元。其特點是任一神經元的輸出...