Senin, 11 Januari 2010

Algoritma Kohonen

Prinsip kerja dari algoritma Kohonen adalah pengurangan node-node tetangganya (neighbour), sehingga pada akhirnya hanya ada satu keluaran node yang terpilih (winner node). Langkah pertama adalah melakukan inisialisasi bobot untuk tiap-tiap node dengan nilai random. Setelah diberikan bobot random, jaringan diberi masukan sejumlah dimensi masukan node/neuron. Setelah masukan diterima jaringan, jaringan mulai melakukan perhitungan jarak vector yang didapatkan dengan menjumlahkan selisih atau jarak antar vektor dengan vektor bobot. Secara matematis, dituliskan sebagai berikut :










Setelah diketahui tiap-tiap jarak antara keluaran node dengan masukannya, dilakukan perhitungan jumlah jarak selisih minimum. Node yang terpilih (winner) dan berjarak minimum diberi tanda khusus, yaitu diberikan angka satu dan node yang lain nol. Tahap akhir algoritma ini adalah melakukan perubahan bobot pada keluaran node yang terpilih beserta tetangga sekitarnya (misal node terpilih adalah node ke-20 dan jumlah neighbourhood=5, maka bobot pada node ke-15 sampai ke-25 akan diubah), yang dirumuskan sebagai berikut :







dimana :



0 < α(t) < 1

x = masukan

w = bobot

Ne = nilai neighborhood

t = waktu

i = indeks masukan node

j = indeks keluaran node



α(t) merupakan alpha/learning rate yaitu faktor pengali pada perubahan bobot yang berubah terhadap perubahan error. Perubahan alpha ini sesuai dengan banyaknya masukan yang masuk. Faktor pengali alpha/learning rate ini akan selalu berkurang bila tidak ada perubahan error.



Pada metode ini, hasil pengenalan pola ada pada bobot-bobot yang terdapat pada node winner output. Dibandingkan dengan bobot-bobot yang lain, bobot pada winner output ini paling mendekati dengan pola yang dilatihkan pada jaringan. Proses pelatihan bobot pada winner output beserta dengan tetangganya selalu diupdate, dan dilakukan iterasi terus menerus sampai mencapai error yang diinginkan. Jika belum mencapai eror tertentu, maka proses kembali pada penginputan pola/citra untuk dilatih kembali. Dalam perubahan bobot ini, hal yang paling menentukan adalah alpha/learning rate α(t). Faktor pengali ini menentukan kecepatan belajar jaringan dan diset dengan nilai antara nol sampai satu.



Faktor pengali yang cukup besar akan didapatkan hasil belajar yang cepat, tetapi dengan pemetaan yang kasar. Sedangkan, faktor pengali yang kecil akan didapatkan pemetaan yang bagus dengan waktu belajar yang lebih lama. Bobot yang didapatkan bukan hanya didasarkan pada besarnya vektor, tetapi arah vektor itu sendiri. Inisialisasi bobot dilakukan dengan cara memberikan bobot random antara -1 sampai 1. Jika hal ini dilakukan, maka vektor bobot akan benar-benar menyebar secara random. Konsekuesi dari penyebaran yang random memungkinkan jaringan tidak dapat belajar secara konvergen dan akhirnya jaringan akan memiliki orientasi yang sangat berbeda dengan orientasi awal. Karena kesalahan orientasi ini akan dapat menyebabkan jaringan tidak terlatih dan pada akhirnya menghasilkan sedikit node yang dapat membedakan input. Salah satu metode untuk mencegah terjadinya non-konvergen adalah menginisialisasi bobot awal dengan pola-pola yang sangat mirip dengan pola-pola yang akan dilatihkan (input pattern).



Dengan cara ini, jaringan akan dapat belajar secara perlahan mengikuti perubahan input yang ada, yang pada akhirnya didapatkan bentuk pemetaan yang sesuai dengan yang diperlukan oleh jaringan untuk pengenalan pola. Pada algoritma Kohonen, didapatkan keluaran node yang saling berhubungan antara satu node dengan node yang lain, dari hubungan ini maka node yang satu akan mempengaruhi node-node yang lain. Sebelum diberikan masukan, daerah keputusan memiliki area yang sangat lebar. Setelah melewati tahapan pelatihan, luas area dari vektor keputusan akan semakin kecil.

Tidak ada komentar:

Posting Komentar