Blog Archives
Jaringan Syaraf Tiruan Untuk Pengenalan Pola
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan algoritma jaringan syaraf tiruan propagasi balik (backpropagation neural network).
Pada contoh ini dilakukan pengklasifikasian terhadap bentuk segi-3, segi-4, dan segi-5. Ciri yang digunakan untuk membedakan ketiga jenis bentuk tersebut adalah metric dan eccentricity.
Metric merupakan nilai perbandingan antara luas dan keliling objek. Sedangkan eccentricity merupakan nilai perbandingan antara jarak foci ellips minor dengan foci ellips mayor suatu objek. (Materi mengenai ekstraksi ciri lebih lanjut dapat dilihat pada laman berikut ini: Ekstraksi Ciri Citra).
Langkah-langkah pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan matlab adalah sebagai berikut:
1. Menyiapkan data latih untuk proses pelatihan (training). Pada proses ini digunakan 45 citra data latih yang terdiri dari 15 citra segi-3, 15 citra segi-4, dan 15 citra segi-5.
Jaringan Syaraf Tiruan untuk Prediksi menggunakan Matlab
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.
Data masukan dirambatkan maju, dihubungkan oleh bobot-bobot masukan yang sebelumnya telah diinisialisasi secara acak menuju neuron pada layer tersembunyi
Pada layer tersembunyi, data masukan yang telah dihubungkan dengan bobot tersebut kemudian diproses menggunakan fungsi aktivasi. Selanjutnya data hasil olahan dari layer tersembunyi dihubungkan oleh bobot-bobot tersembunyi menuju neuron pada layer keluaran.
Hasil yang diperoleh kemudian dibandingkan dengan data target sehingga diperoleh tingkat kesalahan (error). Apabila tingkat kesalahan yang diperoleh lebih kecil daripada tingkat kesalahan yang sebelumnya telah ditetapkan (target error), maka proses perambatan akan berhenti. Namun apabila tingkat kesalahan masih lebih besar daripada tingkat kesalahan tetapan maka dilakukan proses perambatan balik dengan melakukan pembaharuan bobot.
Salah satu aplikasi dari algoritma jaringan syaraf tiruan adalah untuk kasus prediksi.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk memprediksi curah hujan menggunakan algoritma jaringan syaraf tiruan propagasi balik (backpropagation neural network).
Langkah-langkahnya yaitu:
1. Mempersiapkan data curah hujan time series untuk prediksi. Pada contoh ini digunakan data rata-rata curah hujan tiap bulan di kota Semarang pada tahun 2005 s.d 2007. Pada algoritma jaringan syaraf tiruan propagasi balik ini digunakan fungsi aktivasi sigmoid biner di mana fungsi ini bernilai antara 0 s.d 1. Namun fungsi sigmoid biner tersebut sejatinya tidak pernah mencapai angka 0 maupun 1. Oleh sebab itu, data curah hujan perlu dinormalisasi terlebih dahulu salah satu contohnya ke dalam range 0,1 s.d 0,9 menggunakan persamaan berikut ini:
di mana:
X’ = data hasil normalisasi
X = data asli/data awal
a = nilai maksimum data asli
b = nilai minimum data asli
Data curah hujan asli dan setelah dinormalisasi tampak pada gambar di bawah ini:
Jaringan Syaraf Tiruan untuk Identifikasi Wajah
Berikut ini merupakan contoh aplikasi pemrograman Jaringan Syaraf Tiruan Backpropagation sederhana untuk identifikasi wajah seseorang berdasarkan ciri mata, hidung, mulut, dan telinga.
1. Langkah pertama yaitu mempersiapkan data untuk proses pelatihan dan pengujian
Berikut ini merupakan contoh data untuk proses pelatihan
No | Ciri/ Feature | Target | |||
Mata | Hidung | Mulut | Telinga | Nama Orang | |
1 | 0.35 | 0.47 | 0.88 | 0.34 | Adi |
2 | 0.59 | 0.11 | 0.90 | 0.56 | Budi |
3 | 0.19 | 0.89 | 0.54 | 0.38 | Candra |
4 | 0.36 | 0.90 | 0.39 | 0.82 | Dedi |
5 | 0.58 | 0.45 | 0.80 | 0.91 | Erik |
6 | 0.40 | 0.45 | 0.80 | 0.35 | Adi |
7 | 0.61 | 0.11 | 0.90 | 0.55 | Budi |
8 | 0.20 | 0.87 | 0.56 | 0.41 | Candra |
9 | 0.38 | 0.88 | 0.35 | 0.85 | Dedi |
10 | 0.57 | 0.46 | 0.82 | 0.92 | Erik |
11 | 0.33 | 0.45 | 0.85 | 0.37 | Adi |
12 | 0.55 | 0.14 | 0.90 | 0.57 | Budi |
13 | 0.18 | 0.87 | 0.55 | 0.40 | Candra |
14 | 0.38 | 0.89 | 0.37 | 0.85 | Dedi |
15 | 0.56 | 0.47 | 0.83 | 0.91 | Erik |