Fix Printjst
Fix Printjst
Dalam identifikasi karang, pembentukan model referensi karang dan pencocokan pola
adalah dua tahapan yang sangat berkaitan. Pembentukan model referensi karang akan
membentuk suatu model referensi yang akan digunakan untuk pencocokan pola.
Salah satu teknik yang dapat digunakan dalam pencocokan pola adalah Jaringan
Syaraf Tiruan (JST). JST akan melakukan pembelajaran untuk membentuk suatu
model referensi, kemudian JST yang telah melakukan pembelajaran tersebut dapat
digunakan untuk pencocokan pola.
JST didefinisikan sebagai sistem komputasi yang didasarkan pada pemodelan syaraf
biologi ( neuron) melalui pendekatan dari sifat-sifat komputasi biologis (biological
computation). JST bisa dibayangkan berupa jaringan dengan elemen pemroses
sederhana yang saling terhubung. Seperti pada Gambar 1, elemen pemroses
berinteraksi melalui sambungan variabel yang disebut bobot, dan bila diatur secara
tepat dapat meng hasilkan sifat yang diinginkan. Model neuron sederhana disajikan
pada Gambar 1.
dengan xi
wi
2. Fungsi sigmoid bipolar (seperti pada Gambar 4), yaitu fungsi yang memiliki
rentang -1 s/d 1 dengan fungsi sebagai berikut :
2.1
Semua fungsi fungsi syaraf biologis, termasuk memory, disimpan dalam sel syaraf
(neuron) dan dalam hubungan antar neuron. Pembelajaran dipandang sebagai
pembentukan hubungan baru antar neuron atau modifikasi dari hubungan yang telah
ada. Ide tersebut yang mengilhami pembentukan jaringan syaraf tiruan yang berupa
abstraksi sederhana dari sel syaraf biologis.
Jaringan syaraf tiruan ini tidak mendekati kerumitan otak manusia, tetapi dapat
dilatih untuk melakukan fungsi fungsi yang berguna. Ada dua kesamaan antara
jaringan syaraf biologis dan tiruan (Hagan et al. 2002).
Pertama, bagian bagian pembentuk kedua jaringan merupakan alat alat
perhitungan sederhana (meskipun sel syaraf tiruan jauh lebih sederhana daripada sel
syaraf biologis) yang sangat berhubungan satu dengan yang lainnya. Kedua,
hubungan antara sel sel syaraf menentukan fungsi dari jaringan tersebut.
Contoh neuron dengan satu masukan pada jaringan syaraf tiruan ditunjukkan pada
Gambar 5, di mana masukan p yang berupa skalar dikalikan dengan bobot w yang
juga berupa skalar untuk menghasilkan wp, yang merupakan salah satu bagian yang
dikirim ke penjumlah (Hagan et al. 2002).
Masukan yang lain, 1, dikalikan dengan sebuah bias b dan kemudian dikirim juga ke
penjumlah. Keluaran dari penjumlah yaitu n, yang biasa disebut sebagai masukan
jaringan, dikirim ke sebuah fungsi aktivasi, f, yang menghasilkan sebuah keluaran
neuron skalar a.
jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa
(tapi tidak sama) dengan pola yang dipakai selama pelatihan (Siang 2005).
Metode propagasi balik merupakan metode yang sangat baik dalam menangani
masalah pengenalan pola pola kompleks. Metode ini merupakan metode jaringan
syaraf tiruan yang populer. Beberapa contoh aplikasi yang melibatkan metode ini
adalah kompresi data, pendeteksian virus komputer, pengidentifikasian objek,
sintesis suara dari teks, peramalan, dan lain lain.
Propagasi balik memiliki beberapa unit yang ada dalam satu atau lebih lapisan
tersembunyi. Pada Gambar 6 ditunjukan arsitektur propagasi balik dengan n buah
masukan (ditambah sebuah bias), sebuah lapisan tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m buah unit keluaran. Di mana v ij merupakan bobot
garis dari unit masukan x i ke unit lapisan tersembunyi z j (vj0 merupakan bobot garis
yang menghubungkan bias di unit masukan ke unit lapisan tersembunyi zj), wkj
merupakan bobot dari unit lapisan tersembunyi zj ke unit keluaran yk (wk0
merupakan bobot dari bias di lapisan tersembunyi ke unit keluaran zk).
Fungsi aktivasi yang digunakan dalam propagasi balik harus memenuhi beberapa
syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak
turun. Fungsi - fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai
adalah fungsi sigmoid biner dan sigmoid bipolar (Siang. 2005). Alternatif lain adalah
menggunakan fungsi akti vasi sigmoid hanya pada lapisan yang bukan lapisan
keluaran, sedangkan pada lapisan keluaran yang dipakai adalah fungsi identitas.
Pelatihan propagasi balik meliputi tiga fase. Fase pertama adalah fase maju. Pola
masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran
menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur.
Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan
yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang
berhubungan langsung dengan unit unit di lapisan keluaran. Fase ketiga adalah
modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut
diulang ulang terus hingga kondisi penghentian terpenuhi. Umumnya kondisi
penghentian yang sering dipakai adalah jumlah iterasi (epoch) atau kesalahan. Iterasi
akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum
iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas
toleransi yang diijinkan.
Pada penelitian ini digunakan fungsi pelatihan conjugate gradient dengan algoritma
sebagai berikut (Ham & Kostanic 2001) :
Langkah 1 : Inisialisasi bobot jaringan dengan nilai acak yang kecil.
Langkah 2 : Propagasi pola pelatihan ke-q ke seluruh jaringan, hitung keluaran untuk
tiap node.
Langkah 3 : Hitung galat lokal pada tiap node di jaringan. Untuk nodes keluaran,
galat lokal dihitung sebagai berikut :
dimana g() adalah derivatif dari fungsi aktivasi f(). Untuk tiap nodes
di lapisan tersembunyi,galat local dihitung sebagai berikut:
Langkah 4 : Untuk tiap perkiraan kombinasi linear, nilai keluaran yang diinginkan
Atau jika
, vektor bobot node tersebut jangan disesuaikan dan lanjutkan
ke langkah 7; atau lakukan langkah berikut :
(b) Cari arah d(k). Jika angka iterasi adalah sebuah integer kelipatan dari jumlah
bobot pada node, maka
Jika tidak
Dimana
akan mampu mengenali pola pengujian dengan tepat. Jadi tidak bermanfaat untuk
meneruskan iterasi hingga semua kesalahan pola pelatihan = 0.
Umumnya data dibagi menjadi dua bagian saling terpisah, yaitu pola data yang
dipakai sebagai pelatihan dan data yang dipakai untuk pengujian. Perubahan bobot
dilakukan berdasarkan pola pelatihan. Akan tetapi selama pelatihan (misal setiap 10
epoch), kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan
pengujian). Selama kesalahan ini menurun, pelatihan terus dijalankan. Akan tetapi
jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya untuk diteruskan
lagi. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara sp esifik oleh
data pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah mulai kehilangan
kemampuan melakukan generalisasi.
Salah satu bidang di mana propagasi balik dapat diaplikasikan dengan baik adalah
bidang peramalan (forecasting). Peramalan yang sering dilakukan antara lain
peramalan besarnya penjualan, nilai tukar valuta asing, harga saham, prediksi
besarnya aliran air sungai, dll.
Secara umum masalah peramalan dapat dinyatakan sebagai berikut : Diketahui
sejumlah data deret waktu ( time series) x1, x2, ..., x n. Masalahnya adalah
memperkirakan berapa harga xn+1 berdasarkan x1, x2, ..., xn.
Dengan propagasi balik, record data dipakai sebagai data pelatihan untuk mencari
bobot yang optimal. Untuk itu perlu ditetapkan besarnya periode di mana data
berfluktuasi. Periode ini ditentukan secara intuitif.
Bagian tersulit adalah menentukan jumlah lapisan (dan unitnya). Tidak ada teori yang
dengan pasti dapat dipakai. Tetapi secara praktis dicoba jaringan yang kecil terlebih
dahulu (misal terdiri dari 1 lapisan tersembunyi dengan beberapa unit saja), lalu
jaringan diperbesar dengan menambah unit tersembunyi.
DAFTAR PUSTAKA
[1] E. Triana, Model Peramalan Harga Saham Dengan Jaringan Syaraf Tiruan
Propagasi Balik, Bogor : Sekolah Pascasarjana Institut Pertanian Bogor ,2008.
[2] R. Salambue, Identifikasi Citra Karang Menggunakan Jaringan Syaraf Tiruan:
Kasus Family Pocilloporidae, Bogor : Sekolah Pascasarjana Institut Pertanian
Bogor, 2007