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!!!



5 comments:

  1. jika eror seperti itu solusinya gimana ya
    >> 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);

    ReplyDelete
    Replies
    1. 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
      Pada diskripsi video ada link download source code brai
      Sekian terima kasih

      Delete
  2. Izin bertanya min, bagaimana cara memformulasikan rumus akurasi pada MATLAB?

    ReplyDelete
    Replies
    1. yoi 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

      Delete
  3. Saya sudah berapa kali melakukan nya tetapi eror, dan saya sudah perbaiki terus juga eror, mhon bantuan nya

    ReplyDelete

Powered by Blogger.