Untuk kasus klasifikasi, tersedia banyak metode, salah satunya Metode Backpropagation. Kali ini, aku akan memberikan source code Backpropagation menggunakan MATLAB. Dengan kasus XOR, inputan berupa Bipolar, Target berupa Bipolar, menggunakan fungsi aktivasi Sigmoid Bipolar, terdapat 2 neuron pada unit input, terdapat 2 hidden layer masing-masing pada 1 hidden layer terdapat 2 neuron, dan 1 neuron pada unit output. Tabel input dan bias dapat dilihat seperti dibawah ini :
Untuk arsitektur Backpropagationnya, dapat dilihat seperti dibawah ini :
Penjelasan untuk gambar diatas adalah sebagai berikut :
- X = merupakan unit inputan. 1 unit inputan terdiri dari 3 neuron, yaitu X1, X2, dan bias (1).
- Z = merupakan unit hidden layer pertama. 11 unit hidden layer pertama terdiri dari 3 neuron yaitu, Z1, Z2, dan bias (1).
- ZZ = merupakan unit hidden layer kedua. 1 unit hidden layer kedua terdiri dari 3 neuron yaitu, ZZ1, ZZ2, dan bias (1).
- Y = merupakan input keluaran
- Antara X dan Z terdapat bobot dengan simbol u.
- Antara Z dan ZZ terdapat bobot dengan simbol v.
- Antara ZZ dan Y terdapat bobot dengan simbol w.
- Bobot pertama dirandom.
- Kelas 1 merupakan kelas dengan target -1.
- Kelas 2 merupakan kelas dengan target 1.
%created by Soniya Gunawan, Agus Wirayasa, Ananta Wijaya
clc
input = [-1 -1 ; -1 1 ; 1 -1 ; 1 1 ]; %2 input dalam 1 pola
target = [-1 ; 1 ; 1 ; -1]; %target setiap input
u = zeros(2,2); %matriks kosong untuk nilai bobot dari input ke hidden layer pertama
v = zeros(2,2); %matriks kosong untuk nilai bobot dari hidden layer pertama ke hidden layer kedua
w = zeros(2,1); %matriks kosong untuk nilai bobot dari hidden layer kedua ke output
u0 = zeros(1,2); %matriks kosong untuk nilai bobot bias dari input ke hidden layer pertama
w0 = zeros(1,1); %matriks kosong untuk nilai bobot bias dari hidden layer kedua ke output
v0 = zeros(1,2); %matriks kosong untuk nilai bobot bias dari hidden layer pertama ke hidden layer kedua
for i=1:1 %random nilai bobot bias dari hidden layer kedua ke output
w0(i,1)=rand();
end
for i=1:2 %random nilai bobot bias dari hidden layer pertama ke hidden layer kedua
v0(1,i)=rand();
end
for i=1:2 %random nilai bobot bias dari input ke hidden layer pertama
u0(1,i)=rand();
end
for i=1:2 %random nilai bobot dari input ke hidden layer pertama
for j=1:2
u(i,j)=rand();
end
end
for i=1:2 %random nilai bobot dari hidden layer pertama ke hidden layer kedua
for j=1:2
v(i,j)=rand();
end
end
for i=1:2 %random nilai bobot dari hidden layer kedua ke output
for j=1:1
w(i,j)=rand();
end
end
rate = 0.02; %nilai learning rate
a=1;
for a=1:1000 %batas iterasi yang dilakukan
%menghitung nilai MSE
z_in = zeros(2,4); %matriks kosong untuk nilai Z_in (hidden layer pertama)
z = zeros(2,4); %matriks kosong untuk nilai Z_in yang sudah di aktivasi
zz_in = zeros(2,4); %matriks kosong untuk nilai ZZ_in (hidden layer kedua)
zz = zeros(2,4); %matriks kosong untuk nilai ZZ_in yang sudah di aktivasi
y_in = zeros(2,4); %matriks kosong untuk nilai Y_in (output)
y = zeros(2,4); %matriks kosong untuk nilai Y_in (output) yang sudah di aktivasi
%perhitungan pada hidden layer pertama
for k=1:4 %perulangan sebanyak data training
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak neuron input
z_in(i,k) = z_in(i,k)+u(j,i)*input(k,j);
end
z_in(i,k) = z_in(i,k)+ u0(1,i);
z(i,k) = (2/(1 + exp(-z_in(i,k))))-1;
%z(i,k) = (1-(exp(-z_in(i,k))))/(1+(exp(-z_in(i,k))));
end
end
%perhitungan pada hidden layer kedua
for k=1:4 %perulangan sebanyak data training
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak neuron input
zz_in(i,k) = zz_in(i,k) + v(j,i) * z(i,j);
end
zz_in(i,k) = zz_in(i,k)+v0(1,i);
zz(i,k) = (2/(1 + exp(-zz_in(i,k))))-1;
%zz(i,k) = (1-(exp(-zz_in(i,k))))/(1+(exp(-zz_in(i,k))));
end
end
%perhitungan pada layer output
for k=1:4 %perulangan sebanyak data training
for i=1:1 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden
y_in(i,k) = y_in(i,k)+w(j,i)*zz(j,k);
end
y_in(i,k) = y_in(i,k)+w0(1,i); %nilai y_in dijumlahkan dengan nilai bobot bias
y(k,i) = (2/(1 + exp(-y_in(i,k))))-1;
%y(k,i)=(1-(exp(-y_in(i,k))))/(1+(exp(-y_in(i,k)))); %perhitungan aktivasi untuk nilai y (output)
end
end
%menghitung nilai (tk-yk)kuadrat
temp = zeros(1,1); %matriks kosong untuk menyimpan hasil (tk-yk) kuadrat
for i=1:4 %perulangan sebanyak data training
for j=1:1 %perulangan sebanyak neuron output
temp(j,1) = temp(j,1)+(target(i,j)-y(i,j))^2;
end
end
%menghitung nilai MSE dengan mengkalikan 0.5
error = zeros(1,1);
for i=1:1
error(i,1) = (error(i,1)+temp(i,1))*0.5;
end
if(error>=0.4) %jika nilai error lebih besar dari sama dengan 0.4 maka lakukan perhitungan dibawah ini ;
for k=1:4 %perulangan sebanyak data training
z_in = zeros(2,1); %matriks kosong untuk nilai Z_in (hidden layer pertama)
z = zeros(2,1); %matriks kosong untuk nilai Z_in yang sudah di aktivasi
zz_in = zeros(2,1); %matriks kosong untuk nilai ZZ_in (hidden layer kedua)
zz = zeros(2,1); %matriks kosong untuk nilai ZZ_in yang sudah di aktivasi
%perhitungan pada hidden layer pertama
for i=1:2 %perulangan sebanyak neuron hidden layer
for j=1:2 %perulangan sebanyak neuron input
z_in(i,1) = z_in(i,1)+ u(j,i)*input(k,i);
end
z_in(i,1) = z_in(i,1)+ u0(1,i); %nilai Z_in dijumlahkan dengan nilai bobot bias
z(i,1) = (2/(1 + exp(-z_in(i,1))))-1;
%z(i,1) = (1-(exp(-z_in(i,1))))/(1+(exp(-z_in(i,1)))); %perhitungan aktivasi untuk nilai Z (hidden layer)
end
%perhitungan pada hidden layer kedua
for i=1:2 %perulangan sebanyak neuron hidden layer
for j=1:2 %perulangan sebanyak neuron input
zz_in(i,1) = zz_in(i,1)+v(j,i)* z(j,1);
end
zz_in(i,1) = zz_in(i,1) + v0(1,i); %nilai Z_in dijumlahkan dengan nilai bobot bias
zz(i,1) = (2/(1 + exp(-zz_in(i,1))))-1;
%zz(i,1) = (1-(exp(-zz_in(i,1))))/(1+(exp(-zz_in(i,1)))); %perhitungan aktivasi untuk nilai Z (hidden layer)
end
y_in = zeros(1,1);
y = zeros(1,1);
for i=1:1 %perulangan sebanyak nilai output
for j=1:2 %perulangan sebanyak jumlah neuron hidden layer
y_in(i,1) = y_in(i,1)+w(j,i)*zz(j,1);
end
y_in(i,1) = y_in(i,1)+w0(1,i); %nilai y_in dijumlahkan dengan nilai bobot bias
y(i,1) = (2/(1 + exp(-y_in(i,1))))-1;
%y(i,1)=(1-(exp(-y_in(i,1))))/(1+(exp(-y_in(i,1)))); %perhitungan aktivasi untuk nilai y (output)
end
delta_w = zeros(2,1); %matriks kosong untuk nilai delta w
delta_w0 = zeros(1,1); %matriks kosong untuk nilai w0 (w bias)
%menghitung delta_w
%perhitungan untuk mencari nilai sigma_k
for i=1:1 %perulangan sebanyak nilai output
sigma_k = (target(k,i)-y(i,1))*(1+y_in(i,1))*(1-y_in(i,1))/2; %perhitungan nilai sigma_k
for j=1:2 %perulangan sebanyak neuron hidden layer
delta_w(j,i) = rate*sigma_k*zz(j,1); %perhitungan nilai delta_w
end
delta_w0(i,1) = rate*sigma_k; %perhitungan nilai delta_w0
end
sigma_inj = zeros(2,1); %matriks kosong untuk sigma_in_j
sigma_j = zeros(2,1); %matriks kosong untuk sigma_j (yg telah di aktivasi)
for i=1:2 %perulangan sebanyak neuron hidden layer
for j=1:1 %perulangan sebanyak neuron output
sigma_inj(i,1) = sigma_inj(i,1)+ sigma_k *w(i,j); %perhitungan sigma_in_j
end
sigma_j(i,1) = sigma_inj(i,1)*(1+zz_in(i,1))*(1-zz_in(i,1))/2; %perhitungan sigma_j
end
delta_v = zeros(2,2); %matriks kosong untuk nilai delta w
delta_v0 = zeros(1,2); %matriks kosong untuk nilai w0 (w bias)
%menghitung delta_v
%perhitungan untuk mencari nilai sigma_j
for i=1:1 %perulangan sebanyak nilai output
for j=1:2 %perulangan sebanyak neuron hidden layer
delta_v(j,i) = rate*sigma_j(j,1)*z(j,1); %perhitungan nilai delta_w
end
delta_v0(i,j) = rate*sigma_j(i,1); %perhitungan nilai delta_w0
end
sigma_inh = zeros(2,1); %matriks kosong untuk sigma_in_j
sigma_h = zeros(2,1); %matriks kosong untuk sigma_j (yg telah di aktivasi)
for i=1:2 %perulangan sebanyak neuron hidden layer
for j=1:2 %perulangan sebanyak neuron hidden layer kedua
sigma_inh(i,1) = sigma_inh(i,1)+ sigma_j(j,1)*v(i,j); %perhitungan sigma_in_j
end
sigma_h(i,1) = sigma_inh(i,1)*(1+z_in(i,1))*(1-z_in(i,1))/2; %perhitungan sigma_j
end
delta_u = zeros(2,2); %matriks kosong untuk delta_v
for i=1:2 %perulangan sebanyak neuron input
for j=1:2 %perulangan sebanyak neuron hidden
delta_u(i,j)=rate*sigma_h(j,1)*input(k,j); %perhitungan delta_v
end
end
delta_u0 = zeros(1,2); %matriks kosong untuk delta_v0
for i=1:2 %perulangan sebanyak neuron hidden layer
delta_u0(1,i) = rate*sigma_h(i,1); %perhitungan delta_v0
end
for i=1:2 %perulangan sebanyak neuron hidden layer
for j=1:1 %perulangan sebanyak output
w(i,j) = w(i,j)+delta_w(i,j); %perhitungan w baru
end
end
for i=1:1 %perulangan sebanyak neuron output
w0(1,i) = w0(1,i)+delta_w0(i,1); %perhitungan w0 baru
end
for i=1:2 %perulangan sebanyak neuron input
for j=1:2 %perulangan sebanyak neuron hidden
v(i,j) = v(i,j)+delta_v(i,j); %perhitungan v baru
end
end
for i=1:2 %perulangan sebanyak neuron hidden
v0(1,i) = v0(1,i)+delta_v0(1,i); %perhitungan v0 baru
end
for i=1:2 %perulangan sebanyak neuron input
for j=1:2 %perulangan sebanyak neuron hidden
u(i,j) = u(i,j)+delta_u(i,j); %perhitungan u baru
end
end
for i=1:2 %perulangan sebanyak neuron hidden
u0(1,i) = u0(1,i)+delta_u0(1,i); %perhitungan u0 baru
end
end
else
end
%a = a + 1
end
% %testing
% %testing
z_in=zeros(2,1);
z = zeros(2,1);
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak jumlah neuron input
z_in(i,1) = z_in(i,1)+u(j,i)*input(1,j);
end
z_in(i,1) = z_in(i,1)+u0(1,i);
z(i,1) = (2/(1 + exp(-z_in(i,1))))-1;
%z(i,1) = (1-(exp(-z_in(i,1))))/(1+(exp(-z_in(i,1))));
end
zz_in = zeros(2,1);
zz = zeros(2,1);
for i=1:2 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
zz_in(i,1) = zz_in(i,1)+v(j,i)*z(j,1);
end
zz_in(i,1) = zz_in(i,1)+v0(1,i);
zz(i,1) = (2/(1 + exp(-zz_in(i,1))))-1;
%zz(i,1)=(1-(exp(-zz_in(i,1))))/(1+(exp(-zz_in(i,1))));
end
y_in = zeros(1,1);
y = zeros(1,1);
for i=1:1 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
y_in(i,1) = y_in(i,1)+w(j,i)*zz(j,1);
end
y_in(i,1) = y_in(i,1)+w0;
y(i,1) = (2/(1 + exp(-y_in(i,1))))-1;
%y(i,1)=(1-(exp(-y_in(i,1))))/(1+(exp(-y_in(i,1))));
y
end
if y<0 br=""> disp('Data 1 merupakan kelas 1');
else
disp('Data 1 merupakan kelas 2');
end
z_in=zeros(2,1);
z = zeros(2,1);
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak jumlah neuron input
z_in(i,1) = z_in(i,1)+u(j,i)*input(2,j);
end
z_in(i,1) = z_in(i,1)+u0(1,i);
z(i,1) = (2/(1 + exp(-z_in(i,1))))-1;
%z(i,1) = (1-(exp(-z_in(i,1))))/(1+(exp(-z_in(i,1))));
end
zz_in = zeros(2,1);
zz = zeros(2,1);
for i=1:2 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
zz_in(i,1) = zz_in(i,1)+v(j,i)*z(j,1);
end
zz_in(i,1) = zz_in(i,1)+v0(1,i);
zz(i,1) = (2/(1 + exp(-zz_in(i,1))))-1;
%zz(i,1)=(1-(exp(-zz_in(i,1))))/(1+(exp(-zz_in(i,1))));
end
y_in = zeros(1,1);
y = zeros(1,1);
for i=1:1 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
y_in(i,1) = y_in(i,1)+w(j,i)*zz(j,1);
end
y_in(i,1) = y_in(i,1)+w0;
y(i,1) = (2/(1 + exp(-y_in(i,1))))-1;
%y(i,1)=(1-(exp(-y_in(i,1))))/(1+(exp(-y_in(i,1))));
y
end
if y<0 br=""> disp('Data 2 merupakan kelas 1');
else
disp('Data 2 merupakan kelas 2');
end
z_in=zeros(2,1);
z = zeros(2,1);
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak jumlah neuron input
z_in(i,1) = z_in(i,1)+u(j,i)*input(3,j);
end
z_in(i,1) = z_in(i,1)+u0(1,i);
z(i,1) = (2/(1 + exp(-z_in(i,1))))-1;
%z(i,1) = (1-(exp(-z_in(i,1))))/(1+(exp(-z_in(i,1))));
end
zz_in = zeros(2,1);
zz = zeros(2,1);
for i=1:2 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
zz_in(i,1) = zz_in(i,1)+v(j,i)*z(j,1);
end
zz_in(i,1) = zz_in(i,1)+v0(1,i);
zz(i,1) = (2/(1 + exp(-zz_in(i,1))))-1;
%zz(i,1)=(1-(exp(-zz_in(i,1))))/(1+(exp(-zz_in(i,1))));
end
y_in = zeros(1,1);
y = zeros(1,1);
for i=1:1 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
y_in(i,1) = y_in(i,1)+w(j,i)*zz(j,1);
end
y_in(i,1) = y_in(i,1)+w0;
y(i,1) = (2/(1 + exp(-y_in(i,1))))-1;
%y(i,1)=(1-(exp(-y_in(i,1))))/(1+(exp(-y_in(i,1))));
y
end
if y<0 br=""> disp('Data 3 merupakan kelas 1');
else
disp('Data 3 merupakan kelas 2');
end
z_in=zeros(2,1);
z = zeros(2,1);
for i=1:2 %perulangan sebanyak jumlah neuron hidden layer
for j=1:2 %perulangan sebanyak jumlah neuron input
z_in(i,1) = z_in(i,1)+u(j,i)*input(4,j);
end
z_in(i,1) = z_in(i,1)+u0(1,i);
z(i,1) = (2/(1 + exp(-z_in(i,1))))-1;
%z(i,1) = (1-(exp(-z_in(i,1))))/(1+(exp(-z_in(i,1))));
end
zz_in = zeros(2,1);
zz = zeros(2,1);
for i=1:2 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
zz_in(i,1) = zz_in(i,1)+v(j,i)*z(j,1);
end
zz_in(i,1) = zz_in(i,1)+v0(1,i);
zz(i,1) = (2/(1 + exp(-zz_in(i,1))))-1;
%zz(i,1)=(1-(exp(-zz_in(i,1))))/(1+(exp(-zz_in(i,1))));
end
y_in = zeros(1,1);
y = zeros(1,1);
for i=1:1 %perulangan sebanyak neuron output
for j=1:2 %perulangan sebanyak neuron hidden layer
y_in(i,1) = y_in(i,1)+w(j,i)*zz(j,1);
end
y_in(i,1) = y_in(i,1)+w0;
y(i,1) = (2/(1 + exp(-y_in(i,1))))-1;
%y(i,1)=(1-(exp(-y_in(i,1))))/(1+(exp(-y_in(i,1))));
y
end
if y<0 br=""> disp('Data 4 merupakan kelas 1');
else
disp('Data 4 merupakan kelas 2');
end0>0>0>0>
Segitu saja yang bisa aku kasi. Semoga bisa bermanfaat bagi yang memerlukan. Segitu dulu ya yang bisa aku kasi infonya. Semoga bisa bermanfaat ya bagi kita semua. Sekedar mengingatkan, setelah membaca artikel ini, minta tolong ya.. Di share ke FB atau twitter. Terus diisi ya voting yang ada di pojok kanan atas dari halaman ini. Diisi juga kolom reaksi setelah membaca artikel ini, apakah bagus, penting, bermanfaat, atau yang lainnya. Bagi yang mau copy kata-kataku, jangan sampai lupa menyertai link dari halaman ini. Kalau ada yang bingung, silahkan tuliskan pertanyaan di form komentar. Makasi :)
mbak nia, kalau untuk jst backpropagation menggunakan 1 hidden layer tetapi datanya ambil dari access atau excell bisa gak?
ReplyDeletekalo boleh minta sourcode nya dunk...
pliiisss...
ian.screptz@gmail.com
waduhh aku gak bisa lo dik...
ReplyDeletembak punya GUI untuk backpropagation gak, kalo ada boleh minta gak?
ReplyDeletetrims
kk pnya GUI soal prediksi gax pake JST?
ReplyDeletekalau ada boleh minta ya kk
chandra.sunarya@gmail.com
waduuhhh maaf ya gak punya :(
ReplyDeletekak.. mau tanya kalau inputannya citra sama hiddennya cuma 1 cara pengujiannya gimana ya kak?? kalau boleh minta source code nya kak..
ReplyDeletetrima kasih..
kalau inputannya berupa citra, code nya beda lagi..
ReplyDeletepake ekstraksi fitur..
kalau code itu yang kamu minta aku enggak punya..
maaf ya :(
Kak, ini perhitungan di MS. EXCEL nya ada apa tidak? saya boleh minta?
ReplyDeletealfa_cew9e@yahoo.co.id
maaf gak ada lho :(
ReplyDeletembak, mau tanya dong. perhitungan algoritma dasar BP klo di matlab itu make metode yang mana si? Incremental Mode or Batch Mode. Soalnya waktu saya nyoba ngitung data dengan matlab, hasilnya gk sama dengan perhitungan manual saya. Mohon pencerahannya mbk...
ReplyDeleteini script yg saya masukin ke matlabnya mbk :
ReplyDeleteclc
p = [9761 9762 ; 93.13 93.61 ; 5.47 5.47 ];
t = [439251.38 445657.98 ];
net = newff(minmax(pn),[3 1],{'tansig' 'purelin'});
net.IW{1,1}=[3.33 1.66 -1.66; 0.71 2.14 -1.42; 1.66 3.33 -1.66];
net.b{1,1}=[0.1; 0.5; 0.2];
net.LW{2,1}=[0.3 0.1 0.5];
net.b{2,1}=[0.5];
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}
net.trainParam.epochs = 5;
net.trainParam.lr = 0.3;
net=train(net,p,t);
Bobot_Akhir_Input = net.IW{1,1}
Bobot_Akhir_Bias = net.b{1,1}
Bobot_Akhir_Lapisan1 = net.LW{2,1}
Bobot_Akhir_Bias_Lapisan1 = net.b{2,1}
y=sim(net,p)
H = [(1:size(p,2))' t' y' (t'-y')];
sprintf('%2d %9.2f %7.2f %5.2f\n',H')
%evaluasi
[m1,a1,r1] = postreg(y,t)
pause
plot([1:size(p,2)]',t,'bo',[1:size(p,2)]',y','r*');
title('Hasil pengujian dengan data pelatihan: Target (o), Output(*)');
xlabel('Data ke-'); ylabel('Target/Output');
grid;
Batch learning proceeds as follows:
ReplyDeleteInitialize the weights.
Repeat the following steps:
Process all the training data.
Update the weights.
Incremental learning proceeds as follows:
Initialize the weights.
Repeat the following steps:
Process one training case.
Update the weights.
Jadi BP itu increment ya ^^
mbk, mau tanya lg dong. klo da 2 pola masukan. trus kita mau ngitung pola yang kedua, bobot yang dipakai untuk ngitung pola yg kedua itu pake bobot yg pertama atau bobot yang telah diubah..?
ReplyDeletemaksudnya 2 pola itu 2 data atau 1 data memiliki 2 input?
ReplyDeletekalau enggak salah ngasi tau ya, hehe, BP itu misalkan ada 4 data, jadi data pertama diproses menghasilkan bobot, nah bobot itu yang akan digunakan untuk perhitungan data kedua
mbk mau tanya lagi dong. fungsi proses pengujian di BP itu untuk apa..?
ReplyDeletebiar kam tahu apakah program BP yang kamu buat kebenarannya akurat atau kurang akurat..
ReplyDeleteAss.
ReplyDeleteMbak untuk coding mengcluster gambar dengan algoritma Selft-organizing map ada nggak..?? mohon bantuannya..
maaf enggak punya..
ReplyDeleteAss.
ReplyDeleteMbak blh minta tolong berikan petunjuk perhitungan manual jaringan kohonen,..?? Mohon bantuannya.. Terima Kasih..
Asslamualaikum
ReplyDeletembk kirimin source code perceptron yg GUi dong.. :)
mas boleh minta SC GUI tolong krm ke vbfg23@gmail.com
ReplyDeletepermisi mbak nia,
ReplyDeletesaya mau bertanya, pada source code diatas ada bagian testing kan, nah itu tujuannya untuk apa ya? lalu mengapa ada semacam kesalahan pada :
if y<0 br=""> disp('Data 1 merupakan kelas 1');
|
Error: The input character is not valid in MATLAB statements or expressions.
kemudian yang kedua, ketika saya ingin melakukan train network pada nntool mengapa muncul window peringatan yang bertuliskan :
inputs and targets have different number of samples.
mohon pencerahannya ya mbak nia, terima kasih banyak sebelumnya untuk blog yang bermanfaat ini.
How it is Implement with UCI Dataset
ReplyDeletembak boleh tau GUI nya nggak, bisa dikirim ke email saya izzatika@gmail.com karna tugas akhir saya tentang backpropagattion, makasih sebelumnya
ReplyDeleteHalo kak nia,
ReplyDeleteMau nanya dong. Dalam proses testing dibutuhkan penghitungan mse juga nggak?
permisi mba mau tanya kalau yang untuk 3 layer (input, hidden dan output) ada tidak?
ReplyDeletepermisi mba mau tanya kalau yang untuk 3 layer (input, hidden dan output) ada tidak?
ReplyDeletepermisi mba mau tanya kalau yang untuk 3 layer (input, hidden dan output) ada tidak?
ReplyDeleteWah, Tutorialnya keren banget yah. semangat ngepost, biar makin banyak tutorial yang menarik yang dapat dipelajari.
ReplyDeleteSalam Sukses Blogger's.
mbak..td coba running tp ada error di
ReplyDeleteError in BPtest03 (line 264)
if y<0 br=""> disp('Data 1 merupakan kelas 1');
maksudnya gmn mbak..biar sukses di runnya...mohon infonya..tks
mbak..udh sy run cuma error...gmn caranya mbak..tolong infonya..tks
ReplyDeleteError in BPtest03 (line 264)
if y<0 br=''> disp('Data 1 merupakan kelas 1');
Error in BPtest03 (line 264)
ReplyDeleteif y<0 br=''> disp('Data 1 merupakan kelas 1');
mbak koq gakbs di run...bs tolong sarannya mgkn ada yg hrs dimodifikasi
mbak ada source code backpropagation menggunakan delphi gak? kalau ada minta donk
ReplyDeletembak ada source code backpropagation di delphi gak? kalau ada minta donk
ReplyDelete