Anda di halaman 1dari 12

1

Identifikasi Citra Karang Menggunakan Jaringan Syaraf Tiruan


1.1 Jaringan Syaraf Tiruan

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.

Gambar 1 Sistem komputasi pemodelan neuron.


Dan pernyataan matematisnya

dengan xi
wi

= sinyal masukan, i = 1,2,,n


(n= banyaknya simpul masukan)
= bobot hubungan atau synapsis
= threshold atau bias

(*) = fungsi aktivasi


y
= sinyal keluaran dari neuron
Ide dasar JST adalah konsep belajar. Jaringan belajar melakukan generalisasi
karakteristik tingkah laku obyek. Jika dilihat dari sudut pandang manusia, hal ini
sama seperti bagaimana manusia belajar sesuatu. Manusia mengenal obyek dengan
mengatur otak untuk menggolongkan atau melakukan generalisasi terhadap obyek
tersebut.
Manusia menyimpan ilmu pengetahuannya ke dalam otak yang berisikan synapsis,
neuron, dan komponen lainnya. JST menyimpan ilmu pengetahuannya dalam nilai
bobot sambungan (seperti synapsis dalam otak manusia) dan elemen-elemen
(neuron) yang menghasilkan keluaran.
Untuk menyelesaikan permasalahan, JST memerlukan algoritma untuk belajar, yaitu
bagaimana konfigurasi JST dapat dilatih untuk mempelajari data histories yang ada.
Dengan pelatihan ini, pengetahuan yang terdapat pada data bisa diketahui dan
direpresentasikan dalam bobot sambungannya. Jenis Algoritma belajar yang ada
diantaranya:
a. Supervised Learning
Algoritma ini diberikan target yang akan dicapai. Contohnya Backpropagation
algorithm (algoritma propagasi balik) dan Radial basis function.
b. Unsupervised Learning
Pada Algoritma ini sama sekali ti dak disediakan target, misalnya CarpenterGrossberg Adaptive Resonance Theory (ART), Learning Vector Quantization
(LVQ) dan Competitive Learning Algorithm.
c. Reinforcement Learning
Bentuk khusus dari supervised learning, contohnya Genetic Algorithm (GA).
Propagasi balik (backpropagation) yang merupakan salah satu model JST untuk
pencocokan pola ( pattern matching), menggunakan arsitektur multi layer perceptron
(Gambar 2) dan pelatihan backpropagation. Walaupun JST backpropagation
membutuhkan waktu yang lama untuk pelatihan tetapi bila pelatihan telah selesai
dilakukan, JST akan dapat mengenali suatu pola dengan cepat. Beberapa karakteristik
dari JST backpropagation adalah sebagai berikut:

Jaringan Multi Layer.

JST backpropagation mempunyai lapisan input, lapisan tersembunyi dan


lapisan output dan setiap neuron pada satu lapisan menerima input dari semua
neuron pada lapisan sebelumnya.

Gambar 2 Arsitektur jaringan backpropagation.


Fungsi Aktivasi.
Fungsi aktivasi akan menghitung input yang diterima oleh suatu neuron,
kemudian neuron tersebut meneruskan hasil dari fungsi aktivasi ke neuron
berikutnya, sehingga fungsi aktivasi berfungsi sebagai penentu kuat lemahnya
sinyal yang dikeluarkan oleh suatu neuron. Beberapa fungsi aktivasi yang sering
digunakan dalam JST backpropagation adalah :
1. Fungsi sigmoid biner (seperti pada Gambar 3) , yaitu fungsi biner yang
memiliki rentang 0 s/d 1 dengan fungsi sebagai berikut :

Gambar 3 Sigmoid biner pada selang [0,1].

2. Fungsi sigmoid bipolar (seperti pada Gambar 4), yaitu fungsi yang memiliki
rentang -1 s/d 1 dengan fungsi sebagai berikut :

Gambar 4 Sigmoid bipolar pada selang [-1,1].


Algoritma pembelajaran JST backpropagation bersifat iterative dan didesain
untuk meminimalkan mean square error (mse) antara output yang dihasilkan
dengan output yang diinginkan (target). Dalam Mathworks (2004) mse dapat
dihitung dengan :

Langkah-langkah algoritma pelatihan JST


backpropagation yang
diformulasikan oleh Rumelhart, Hinton dan Rosenberg tahun 1986, secara
singkat adalah sebagai berikut :
a. Inisialisasi bobot, dapat dilakukan secara acak atau melalui metode Nguyen
Widrow
b. Perhitungan nilai aktivasi, tiap neuron menghitung nilai aktivasi dari input
yang diterimanya. Pada lapisan input nilai aktivasi adalah fungsi identitas. Pada
hidden neuron dan output nilai aktivasi dihitung melalui fungsi aktivasi.
c. Penyesuaian bobot dipengaruhi oleh besarnya nilai kesalahan ( error) antara
target output dan nilai output jaringan saat ini.
d. Iterasi akan terus dilakukan sampai kriteria error tertentu dipenuhi.

Untuk mengimplementasikan algoritma pelatihan diatas, JST harus memiliki


suatu set data pelatihan. Data pelatihan harus mencakup seluruh jenis pola yang
ingin dikenal agar nantinya dapat mengenali seluruh pola yang ada.
Dalam kaitannya dengan sistem identifikasi karang, data pelatihan harus
mencakup seluruh spesies. Dalam JST semakin banyak contoh suatu pola dalam
pelatihan maka JST akan semakin baik mengenal pola tersebut. Untuk itu akan
lebih baik jika tiap citra karang digunakan lebih dari satu kali pengulangan
untuk nantinya digunakan dalam pembelajaran JST.
JST akan menerima data input berupa vektor. Jika dimensi vektor terlalu besar
maka JST akan bekerja lebih lambat. Dalam identifikasi ini setiap citra digital
akan diproses terlebih dahulu dengan teknik ekstraksi ciri sehingga dimensi data
akan tereduksi. Dalam pembelajaran seluruh set data pembelajaran akan
diproses sehingga JST akan membentuk suatu model referensi bagi seluruh
pola-pola yang ada.

Model Peramalan Harga Saham dengan Jaringan Syaraf Tiruan

2.1

Jaringan Syaraf Tiruan

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.

Gambar 5 Neuron dengan satu masukan


Keluaran neuron dihitung sebagai
a = ( wp + b )
Keluaran yang dihasilkan tergantung pada fungsi aktivasi yang dipilih. Bias mirip
dengan bobot, hanya saja bias memiliki masukan yang tetap, yaitu 1. Parameter w
dan b merupakan parameter skalar yang dapat disesuaikan. Biasanya fungsi aktivasi
dipilih oleh perancang jaringan dan kemudian parameter w dan b akan disesuaikan
dengan suatu aturan pembelajaran sehingga hubungan antara masukan dan keluaran
neuron memenuhi suatu target tertentu.
2.2 Metode propagasi balik
Kelemahan jaringan syaraf tiruan dengan lapisan tunggal memiliki keterbatasan
dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu
atau beberapa lapisan tersembunyi diantara lapisan masukan dan keluaran.
Salah satu metode jaringan syaraf tiruan adalah propagasi balik (backpropagation).
Metode ini melatih jaringan untuk mendapatkan keseimbangan antara kemampuan
jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan

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).

Gambar 6 Arsitektur propagasi balik

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

diberikan sebagai berikut :

Langkah 5 : Sesuaikan estimasi matriks kovarian pada tiap lapisan :

Sesuaikan perkiraan vektor cross-correlation untuk tiap node :

dimana k adalah indeks presentasi pola.


Langkah 6 : Sesuaikan vektor bobot untuk tiap node pada jaringan sebagai berikut :
(a) Pada tiap node hitung

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

(c) Hitung step size

(d) Modifikasi vector bobot berdasarkan

Langkah 7 : Jika jaringan belum konvergen, kembali ke langkah 2.


Masalah utama yang dihadapi dalam propagasi balik adalah lamanya iterasi yang
harus dilakukan. Propagasi balik tidak dapat memberikan kepastian tentang berapa
epoch yang harus dilalui untuk mencapai kondisi yang diinginkan. Oleh karena itu
harus diteliti bagaimana parameter parameter jaringan dibuat sehingga
menghasilkan jumlah iterasi yang relatif lebih sedikit.
Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau
global, dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan
aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan
bobotnya menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu
besar karena nilai turunan fungsi aktivasinya menjadi sangat kecil juga. Oleh karena
itu dalam standar propagasi balik, bobot dan bias diisi dengan bilangan acak kecil.
Salah satu keputusan yang harus dibuat dalam penggunaan jaringan syaraf tiruan
propagasi balik adalah berapa lapisan tersembunyi yang dibutuhkan agar
mendapatkan sebuah model yang baik. Tetapi menggunakan lebih dari dua layar
tersembunyi tidak bermanfaat (Kecman 2001). Arsitektur dengan satu dan dua layar
tersembunyi secara teoritis dapat mengenali sembarangan perkawanan antara
masukan dan target dengan tingkat kete litian yang ditentukan. Namun sebaiknya
dicoba terlebih dahulu membuat model dengan satu layar tersembunyi.
Jika jaringan memiliki lebih dari satu lapisan tersembunyi, maka algoritma pelatihan
yang dijabarkan sebelumnya perlu direvisi. Dalam propagasi maju , keluaran harus
dihitung untuk tiap lapisan, dimulai dari lapisan tersembunyi paling bawah
(terdekat dengan masukan). Sebaliknya, dalam propagasi mundur, faktor d perlu
dihitung untuk tiap layer tersembunyi, dimulai dari layer keluaran.
Tujuan utama penggunaan propagasi balik adalah mendapatkan keseimbangan antara
pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang
sejenis (disebut data pengujian). Jaringan dapat dilatih terus menerus hingga semua
pola pelatihan dikenali dengan benar. Akan tetapi hal itu tidak menjamin jaringan

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

Anda mungkin juga menyukai