Penerapan Backpropagation Matlab Code Example
Pageeee
brai, Ngoding dulu yuk,, Sadis!!!
Bagi
brai brai yang sedang melakukan penelitian, atau skripsi, atau joki coding
tentang Jaringan Syaraf Tiruan yang menggunakan metode BACKPROGATION atau Neural Network. Gasken brai contoh Penerapan
atau Implementasi Backpropagation Menggunakan Matlab.
Contoh berikut menggunkan 7 variabel (X1 – X7) sebanyak 4
data yang menggunakan 1 target atau 1 ouput pada jaringan tersebut Y0, pada
ouput layer gua menggunakan fungsi aktivasi sigmoid binner, untuk target atau
kelas yang gua gunakan ada 2 kelas.
Berikut tabel data yang gua gunakan untuk proses pelatihan yang
sudah di tranformasi:
1 =
Iya
0 =
Tidak
Tabel Data Pelatihan
X1
|
X2
|
X3
|
`X4
|
X5
|
X6
|
X7
|
Target
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
0
|
Tabel Data
Pengujian
X1
|
X2
|
X3
|
`X4
|
X5
|
X6
|
X7
|
Target
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
Tabel Target
Sigmoid Binner
Y0 (Target)
|
Kelas Sebenarnya
|
0
|
Kelas 1
|
1
|
Kelas 2
|
Pada metode Backpropagation terdapat 2 tahap yaitu Pelatihan
dan Pengujian
Keterangan Parameter Pada Matlab
net.trainParam.epochs
|
1000
|
Maximum number of
epochs to train
|
net.trainParam.goal
|
0
|
Performance goal
|
net.trainParam.showCommandLine
|
false
|
Generate
command-line output
|
net.trainParam.showWindow
|
true
|
Show training GUI
|
net.trainParam.lr
|
0.01
|
Learning rate
|
net.trainParam.max_fail
|
6
|
Maximum validation
failures
|
net.trainParam.min_grad
|
1e-5
|
Minimum performance
gradient
|
net.trainParam.show
|
25
|
Epochs between
displays (NaN for no displays)
|
net.trainParam.time
|
inf
|
Maximum time to
train in seconds
|
Berikut Tahapan Backpropagation Menggunkan Matlab.
Sebelum memulai Codding, pertama jangan lupa bahagia hehehe
just kidding, lanjut,,,, J
Memasukan data diatas menjadi pada directory folder codding matlab,
buat file baru dengan cara Right Click pada Workspace, Pilih New atau (Ctrl+N);
Simpan nama file tersebut dengan nama data_latih.mat, don’t forget isi file tersebut dengan data yang
digunakan untuk pelatihan. Dimana pada matlab Kolom akan menjadi baris, baris
akan menjadi kolom
Berikut contoh pada tabel data pelatihan diatas yang sudah gua
masukin pada file .mat
File data_latih.mat
Selanjut buat file target_latih.mat dengan cara seperti
diatas.
File target_latih.mat
Jika File data_latih.mat
dan target_latih.mat sudah Ready……………
Lanjut ketahap Pelatihan dan Pengujian Menggunakan Matlab (Untuk
Proses pelatihan dan Pengujian Silahkan Pelajari dulu dijurnal jurnal atau cari
sensei yang bisa membimbing kejalan yang benar)
1. Tahap Pelatihan (Created New File for
Training.m)
load
data_latih.mat;
load
target_latih.mat;
hidden_layer
= 6;
ouput
= 1;
net=newff(minmax(data_latih),[hidden_layer,
ouput],{'logsig','logsig'},'traingd');
net.performFcn
= 'mse';
net.trainparam.epochs=
10;
net.trainparam.goal=
0.001;
net.trainparam.lr=0.2;
net=init(net);
[net,tr]=train(net,data_latih,target_latih);
Run
Code (F5) pada Toolbar Editor
Berikut gambar Pelatihan yang sudah dilakukan, untuk melihat akurasi pada pelatihan dengan cara
klik Regression, akan muncul gambar
berikut
Semakin sejajar garis biru
dengan garis titik titik hitam, maka akurasi akan tinggi. Jika belum
sejajar atau jauh dari kata sejajar maka lakukan dengan cara merubah kombinasi
parameter seperti nilai learning rate jadi 0.1 atau 0.2 atau 0.5 dst hingga
<1 dan hidden layer. Karena parameter tersebut berpengaruh untuk proses
pelatihan, jika sudah hamper sejajar lanjut ke proses pengujian.
2. Tahap Pengujian (Create New File testing.m)
Buat file
baru yaitu data_uji.mat dengan cara
yang sama seperti membuat file data_latih dan target_latih diatas. Isi data
sesuai tabel Data Uji diatas
load('data_uji.mat')
jumlahData=2;
y
= sim(net, data_uji);
kelas=
zeros(1,jumlahData);
disp('Hasil Pengujian');
for(a=1:jumlahData)
if(y(1)>=0.5)
disp('Kelas 2');
else
disp('Kelas 1');
end
end
Run Code (F5) Output Pada proses Pengujian (Command Windows)
Data Uji yang digunakan
mendapat kan hasil pengujian (Y0 <0.5, Y0 = 0 jika lebih besar 0.5 maka Y0 =
1)
No
|
Hasil Pengujian
|
Hasil Y0
|
Sigmoid Binner
|
1
|
Kelas 2
|
1
|
1
|
2
|
Kelas 2
|
1
|
1
|
Selamat Mencoba…….
Source Code File (Email : rylai.usedota@gmail.com)
Wassalam, Good Luck, Have fun!!!





jika eror seperti itu solusinya gimana ya
ReplyDelete>> pengujian
Error using network/sim (line 266)
Input data sizes do not match net.inputs{1}.size.
Error in pengujian (line 4)
y = sim(net, data_uji);
Maaf sebelumnya mungkin ada kekeliruan saat menuliskan nya, Variable net diperoleh setelah melakukan pelatihan terlebih dahulu, atau silahkan liat pada video ini https://www.youtube.com/watch?v=8Zh5a26c1Hs
DeletePada diskripsi video ada link download source code brai
Sekian terima kasih
Izin bertanya min, bagaimana cara memformulasikan rumus akurasi pada MATLAB?
ReplyDeleteyoi berai, sorry late, sebenarnya ada banyak metode untuk melakukan perhitungan akurasi pada backpropagation berai, tapi yang mimin pake di matlab, itu menggunakan metode confusion matrix berai, good luck
DeleteSaya sudah berapa kali melakukan nya tetapi eror, dan saya sudah perbaiki terus juga eror, mhon bantuan nya
ReplyDelete