Tugas UAS
1. Jaringan Syaraf Tiruan untuk Klasifikasi Citra Daun oleh adi pamungkas, M.si
2. Deep Learning: Convolutional Neural Networks oleh Mega Bagus Herlambang
>Klasifikasi adalah suatu teknik pada penerapan algoritma jaringan syaraf tiruan, klasifikasi digunakan untuk membedakan suatu objek dengan objek yang lainnya
Jaringan syaraf tiruan merupakan algoritma klasifikasi yang meniru prinsip kerja dari jaringan syaraf manusia. Algoritma ini memetakan data masukan pada layer masukan menuju target pada layer keluaran melalui neuron-neuron pada layer tersembunyi.
1. Jenis jaringan syaraf tiruan yang akan digunakan
2. Jumlah neuron pada layer masukan, layer tersembunyi, dan layer keluaran
3. Jumlah layer tersembunyi (hidden layer)
4. Fungsi aktivasi pada layer tersembunyi
5. Inisialisasi bobot awal
6. Inisialisasi nilai target kesalahan (error goal)
7. Inisialisasi nilai epoch
8. Inisialisasi nilai momentum
b. Segmentasi citra dengan metode thresholding pada kanal merah
c. Operasi morfologi untuk memperbaiki hasil segmentasi
d. Ekstraksi ciri bentuk berdasarkan parameter metric dan eccentricity
e. Menetapkan target latih (kelas Bougainvillea sp disimbolkan dengan angka 1, kelas Geranium sp dengan angka 2, kelas Magnolia soulangeana dengan angka 3, dan kelas Pinus sp dengan angka 4)
f. Membangun arsitektur jaringan syaraf tiruan propagasi balik
g. Melatih jaringan dengan hasil ekstraksi ciri sebagai masukannya
h. Menghitung akurasi hasil pelatihan
b. Segmentasi citra dengan metode thresholding pada kanal merah
c. Operasi morfologi untuk memperbaiki hasil segmentasi
d. Ekstraksi ciri bentuk berdasarkan parameter metric dan eccentricity
e. Menetapkan target uji (kelas Bougainvillea sp disimbolkan dengan angka 1, kelas Geranium sp dengan angka 2, kelas Magnolia soulangeana dengan angka 3, dan kelas Pinus sp dengan angka 4)
f. Memanggil jaringan syaraf tiruan propagasi balik yang telah dibuat pada proses pelatihan
g. Menguji jaringan dengan hasil ekstraksi ciri sebagai masukannya
h. Menghitung akurasi hasil pengujian
hasil pelatihan
hasil pelatihan dapat berbeda-beda untuk setiap kali pelatihannya dan setelah di uji 5 kali didapat bahwa kesalahn paling besar terdapat 1 kesalahan ini menandakan bahwa jst sangat baik dalam mengklasifikasikan citra daun
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:
Keterangan: 1 = Adi, 2 = Budi, 3 = Candra, 4 = Dedi, 5 = Erik
Langkah selanjutnya yaitu menuliskan coding pada script matlab seperti berikut ini
1. Coding untuk menuliskan data latih dan target latih pada matlab
% Mempersiapkan data latih dan target latih
data_latih = [0.35,0.59,0.19,0.36,0.58,0.40,0.61,0.20,0.38,0.57,0.33,0.55,0.18,0.38,0.56;...
0.47,0.11,0.89,0.90,0.45,0.45,0.11,0.87,0.88,0.46,0.45,0.14,0.87,0.89,0.47;...
0.88,0.90,0.54,0.39,0.80,0.80,0.90,0.56,0.35,0.82,0.85,0.90,0.55,0.37,0.83;...
0.34,0.56,0.38,0.82,0.91,0.35,0.55,0.41,0.85,0.92,0.37,0.57,0.40,0.85,0.91];
target_latih = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
[~,N] = size(data_latih);
2. Selanjutnya membuat coding Jaringan Syaraf Tiruan Backpropagation dengan arsitektur 4-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} = [-7.62,0.97,-2.60,-9.55;-5.83,-3.41,3.08,-4.44];
net.LW{2,1} = [-2.40,-2.67];
net.b{1,1} = [9.38;-2.7];
net.b{2,1} = 5.93;
% Memberikan nilai untuk mempengaruhi proses pelatihan
net.performFcn =
'mse'
;
net.trainParam.goal = 0.01;
net.trainParam.show = 20;
net.trainParam.epochs = 1000;
net.trainParam.mc = 0.95;
net.trainParam.lr = 0.1;
% Proses training
[net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);
Sedangkan koefisien korelasi hasil pelatihan dapat dilihat dengan meng-klik tombol ‘regression’ sehingga diperoleh:
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);
Data uji disusun seperti ditunjukkan oleh matriks berikut
% Performa jaringan
data_uji = [0.38,0.60,0.19,0.35,0.59;...
0.43,0.14,0.88,0.90,0.45;...
0.85,0.87,0.60,0.41,0.78;...
0.34,0.57,0.40,0.83,0.93];
hasil_uji = round(sim(net_keluaran,data_uji))
sehingga diperoleh hasil pada command window seperti berikut ini:
No comments:
Post a Comment