Upload
muhammad-dzikrullah-s
View
46
Download
19
Embed Size (px)
DESCRIPTION
laporan neural network backpro
Citation preview
PENDAHULUAN
Para ahli pada disiplin ilmu kecerdasan buatan mendefinisikan metode JST ini dengan nama artificial neural network (ANN) adalah sebagai model matematika maupun model komputasi yang cara kerjanya merupakan penyederhanaan dari model jaringan biologi otak manusia. Hal ini dikarenakan pada prinsipnya JST merupakan suatu program komputer yang dibuat berdasarkan cara kerja jaringan biologi otak manusia. JST yang telah dilatih (melakukan proses belajar dari suatu contoh kejadian) dapat melakukan fungsi-fungsi kompleks di berbagai bidang, antara lain identifikasi, pengenalan pola, klasifikasi, restorasi citra, termasuk juga untuk sistem kendali.
Secara umum, langkah pembuatan JST untuk suatu aplikasi adalah :
Kumpulkan dataPisahkan data untuk pelatihan (training) dan pengujian
DesainTentukan struktur jaringan, Metode untuk menentukan bobot penghubung (disebut metode trainning / learning / algoritma) dan Fungsi aktivasi.
CodingInputkan data pelatihan, pendeklarasian penciptaan struktur jaringan, Inisialisasi parameter jaringan, Pelatihan (perbarui bobot), plot hasil berupa grafik, pengujian.
JST Backpropagation merupakan salah satu algoritma yang sering digunakan dalam menyelesaikan masalah-masalah yang rumit. Metode ini merupakan metode yang sangat baik dalam menangani masalah pengenalan pola-pola kompleks. Hal ini dimungkinkan karena jaringan dengan algoritma ini dilatih dengan menggunakan metode belajar terbimbing (Supervised Learning).
Matlab menyediakan fungsi untuk membuat JST Backpropagation dengan struktur sintaks :
net= newff(PR, [S1 S2…. Sn],{TF1 TF2…TFn},BTF,BLF,PF)
PR = matriks ordo Rx2 (berisi nilai minimum dan maksimum data input) S1 = jumlah unit pada layer ke I TF1 = fungsi aktivasi yang digunakan pada layer I BTF = fungsi latihan jaringan (default trainlm) BLF = fungsi perubahan bobot/bias , default learngdm PF = fungsi error, default mse
1
CONTOH KASUS
Misalkan diberikan data mahasiswa.
No A B C1. 3 3 12. 2.5 4 13. 2.5 3 14. 2.7 2 05. 2 2 06. 3 2 07. 4 2 18. 3.5 3 19. 3 1 010. 4 1 011. 2.8 3 112. 2.8 2 013. 3.8 1 014. 3.8 4 1
Dalam kasus ini, sebanyak 10 sampel data akan dipakai untuk training dan 4 data digunakan untuk testing termasuk jumlah sampel training. Data input yaitu kolom A (Indeks Prestasi Mahasiswa (IPK)) dan kolom B (tingkat kemiskinan) akan dilatih untuk basis pengetahuan menghasilkan output sama atau mendekati target mendapat beasiswa atau tidak, kolom C (dapat beasiswa = 1, tidak dapat = 0).
Penyelesaian :
Desain
Input : 2 dengan 10 pola.
Output : 1
Struktur jaringan : Feedforward backprop, dengan 2 layer. Layer pertama terdiri 5 hidden layer, 1 layer pada lapisan output.
Fungsi pembelajaran : Trainlm (Levenberg-Marquardt).
Fungsi aktivasi : Logsig (Sigmoid biner), logsig.
2
Coding
%data input"p" dan target yang diinginkan "t" dari inputp=[3 2.5 2.5 2.7 2 3 4 3.5 3 4; 3 4 3 2 2 2 2 3 1 1];t=[1 1 1 0 0 0 1 1 0 0];%bangun jaringannet = newff(minmax(p), [5 1], {'logsig', 'logsig'}, 'trainlm');%melihat hasil desain jaringanview(net)%jumlah iterasi maksimum yang diinginkannet.trainParam.epochs = 100;%jumlah learning rate yang diinginkannet.trainParam.lr=0,01;%jumlah error minimum yang diinginkannet.trainParam.goal=1e-3;%jumlah epoch dimana penampilan grafik error akan di-updatenet.trainParam.show=2;%melakukan training datanet = train(net, p, t);%uji hasil training menggunakan data inputa=sim(net, p)%data error yang terjadit-sim (net,p)%menampilkan bobot hasil iterasidisp (net.IW{1,1})disp (net.b{1,1})disp (net.LW{2,1})disp (net.b{2,1})%menampilkan grafik hasilplot(p,t,'*',p,a,'o');title ('Hasil pengujian dengan Data Pelatihan: Target (*), Output (o)'); xlabel('Data ke-'); ylabel('Target/Output');%uji hasil training menggunakan data testingb=sim(net,[2.8 2.8 3.8 3.8; 3 2 1 4])
3
HASIL
Dari grafik di atas, menyatakan jika hasil pelatihan sudah pintar. Ini ditandai dengan tanda output yang semakin dekat dengan koordinat tanda target. Berikut hasil output (a) dan error yang terjadi terhadap target (t) :
t = 1 1 1 0 0 0 1 1 0 0
Keterangan :
IW = bobot dari input ke lapisan hidden layer
b1 = bias ke hidden layer
LW = bobot dari hidden layer ke lapisan output
b2 = bias ke lapisan output
4
Hasil 4 data testing (b) terhadap 10 sampel data yang sudah di-training, menunjukkan output sesuai target. Berikut grafik analisa hasil training :
Plot Performance
Jika garis train menurun sampai pada goal (jumlah error minimum yang diinginkan), maka berhasil. Grafik di atas menyatakan Goal tercapai pada Epoch (iterasi) ke-12.
Plot Regression
Dari grafik di atas diketahui, gradient garis hasil regresi linear bernilai 0.98 (mendekati 1), titik perpotongan dengan sumbu Y bernilai 0.0065 (mendekati 0) dan koefisien korelasi bernilai 0.99985 (mendekati 1), menunjukkan hasil yang baik untuk kecocokan output jaringan dengan target.
KESIMPULAN
5
JST yang dibangun mampu mengenali pola data latih dengan baik.
Agar JST kita lebih pintar, kita harus melatihnya lebih banyak lagi dengan cara kita naikkan nilai epoch dan selanjutnya kita latih dan simulasikan lagi.
Metode pembelajaran Trainlm menghasilkan waktu komputasi yang cepat.
Penentuan parameter training menentukan hasil output, dan performansi.
Jika bobot dan bias diset random, maka akan mengahasilkan hasil output yang berbeda disetiap running source code.
Semakin banyak sampel data yang akan di-training, maka semakin akurat juga data yang akan diuji
Perlu pemilihan sampel data training yang cukup mewakili data yang akan diuji.
6