Tugas UAS JARINGAN SYARAF TIRUAN
NAMA : SEPTIAN DWI PRATAMA
NIM : 201080200086
S1 INFORMATIKA UMSIDA
Berikut ini merupakan tugas Ujian Akhir Semester Jaringan Syaraf Tiruan menggunakan algoritma Backpropagation sederhana untuk identifikasi wajah seseorang berdasarkan gambar grayscale ukuran 32 x 32 piksel terdapat 5 objek wajah dengan masing-masing 10 gambar. data diambil dari yale face database
Data Wajah
1. Langkah pertama yaitu mempersiapkan data untuk proses pelatihan dan pengujian
Berikut ini merupakan contoh data untuk proses pelatihan.
Sedangkan contoh data untuk pengujian adalah sbb:
2. Langkah selanjutnya yaitu menuliskan coding pada script matlab seperti berikut ini
2.1 Coding untuk menuliskan data latih dan target latih pada matlab.
karena data latih sudah disiapkan pada workspace, maka script adalah sebagai berikut:
>> % Mempersiapkan data latih dan target latih
data_latih = face;
target_latih = label;
[~,N] = size(data_latih);
2.2 Selanjutnya membuat coding Jaringan Syaraf Tiruan Backpropagation dengan arsitektur 1024-2-1 dan inisialisasi bobot awal secara acak. Pada pemrograman ini digunakan fungsi aktivasi sigmoid biner (logsig) pada hidden layer dan fungsi aktivasi linear (purelin) pada layer keluaran. Sedangkan fungsi pelatihan menggunakan metode gradien descent.
>>% Pembuatan JST
net = newff(minmax(data_latih),[2 1],{'logsig','purelin'},'traingdx');
net.IW{1,1} = [init0;init1];
net.LW{2,1} = [-2.40,-2.67];
net.b{1,1} = [9.38;-2.7];
net.b{2,1} = 5.93;
2.3 Membuat coding untuk memberikan parameter-parameter yang mempengaruhi proses pelatihan jst seperti parameter jumlah epoch, target error, learning rate, momentum.
>>% Memberikan nilai untuk mempengaruhi proses pelatihan
net.performFcn = 'mse';
net.trainParam.goal = 0,01;
net.trainParam.show = 5120;
net.trainParam.epochs = 10000;
net.trainParam.mc = 0.95;
net.trainParam.lr = 0.1;
2.4 Membuat coding untuk melakukan pelatihan jaringan
>>% Proses training
[net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);
sehingga muncul tampilan seperti berikut:
Sedangkan koefisien korelasi hasil pelatihan dapat dilihat dengan meng-klik tombol ‘regression’ sehingga diperoleh:
Nilai koefisien korelasi sebesar 0.99777 menunjukkan bahwa akurasi hasil proses pelatihan sangat baik.
2.5 Untuk melihat nilai-nilai hasil pelatihan, kita dapat menuliskan coding sbb:
>>% Hasil setelah pelatihan
bobot_hidden = net_keluaran.IW{1,1};
bobot_keluaran = net_keluaran.LW{2,1};
bias_hidden = net_keluaran.b{1,1};
bias_keluaran = net_keluaran.b{2,1};
jumlah_iterasi = tr.num_epochs;
nilai_keluaran = Y;
nilai_error = E;
error_MSE = (1/N)*sum(nilai_error.^2);
3. Langkah terakhir yaitu proses pengujian jaringan
3.1 Data uji telah disajikan pada workspace yang telah di download tadi. dan dapat ditulis coding sebagai berikut
>>% Performa jaringan
data_uji = tes
hasil_uji = round(sim(net_keluaran,data_uji))
sehingga diperoleh hasil pada command window seperti berikut ini:
1. https://pemrogramanmatlab.com/2015/08/24/jaringan-syaraf-tiruan-untuk-identifikasi-wajah/
2. http://www.cad.zju.edu.cn/home/dengcai/Data/FaceData.html