📄 bp2.m
字号:
% backpropagation dengan gradien descend(learngd)
clear;
% data input dan target
P=[0 1 2 1 10 12 -5 -8 -10 -15; 0 1 -1 6 3 -1 -2 2 -5 2];
T=[0 0 1 1 2 2 -1 -1 -2 -2];
% membangun jaringan feedforward
net=newff(minmax(P), [5 1], {'tansig' 'purelin'});
%melihat bobot awal input lapisan, dan bias
bobotawal_input = net.IW{1,1}
bobotawal_bias_input = net.b{1,1}
bobotawal_lapisan = net.LW{2,1}
bobotawal_bias_lapisan = net.b{2,1}
% set fungsi pelatihan jaringan
net.adaptFcn = 'adaptwb';
%set fungsi pembelajaran bobot input , lapidan dan bias
net.inputWeights{1,1}.learnFcn='learngd';
net.layerWeights{2,1}.learnFcn='learngd';
net.biases{1,1}.learnFcn='learngd';
net.biases{2,1}.learnFcn='learngd';
% set learning rate
net.inputWeights{1,1}.learnParam.lr=0.02;
net.layerWeights{2,1}.learnParam.lr=0.02;
net.biases{1,1}.learnParam.lr=0.02;
net.biases{2,1}.learnParam.lr=0.02;
% set maksimum epoch
net.adaptParam.passes = 50;
%ubah matrik input dan target ke bentk cell
p=num2cell(P,1);
t=num2cell(T,1);
%melakukan pelatihan
[net,Y,e]=adapt(net,p,t);
% melihat bobot awal input, lapisan dan bias
bobotawal_input = net.IW{1,1}
bobotawal_bias_input = net.b{1,1}
bobotawal_lapisan = net.LW{2,1}
bobotawal_bias_lapisan = net.b{2,1}
% melakukan simulasi
a = sim(net,P)
% menggambar grafik
subplot(211)
plot(P(1,:),T,'bo',P(1,:),a,'r*');
title('Perbandingan antara target (o) dan output jaringan (*)');
xlabel('input pertama');
ylabel('target atau ooutput');
grid;
subplot(212)
plot(P(2,:),T,'bo',P(2,:),a,'r*');
title('Perbandingan antara target (o) dan output jaringan (*)');
xlabel('input kedua');
ylabel('target atau ooutput');
grid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -