Self Organizing Maps (SOM)

Akhir – akhir ini ke-‘kepo’-an saya meningkat loh mengenai jaringan syaraf tiruan atau bahasa kerennya neural network. Sah – sah aja kan ya kalau kepo-in hal yang positif daripada ….. *sensor . Alhamdulillah, berkah short course bulan Oktober tahun lalu, saya dipertemukan dengan orang yang ahli di bidangnya dan katanya lagi hanya beliau pakarnya Artificial Intelligence di tempat saya bekerja. Hastuadi Harsa. Ya , beliau yang mengenalkan saya tentang Self Organizing Map atau biasa disingkat SOM. Kali ini saya akan berbagi apa yang saya dapat dari HH.

Kohonen Self Organizing Map

Kohonen SOM atau jaringan kohonen pertama kali diperkenalkan oleh Prof. Teuvo Kohonen pada tahun 1982. SOM merupakan salah satu metode dalam Jaringan Syaraf Tiruan yang menggunakan pembelajaran tanpa pengarahan atau bahasa kerennya unsupervised learning. Metode pembelajaran tanpa pengarahan tidak memerlukan target, selama proses pembelajaran unit – unit input yang hampir sama dikelompokkan dalam kelompok tertentu yang berada di unit output atau cluster units.
Pada jaringan SOM, setiap neuron akan berkompetisi dan winner neuron akan menjadi patokan dalam update weight. Update weight dilakukan pada winner neuron dan neuron lainnya yang berada dalam neighborhood neuron tersebut. Neighborhood akan terus berkurang radiusnya untuk proses pembelajaran selanjutnya, hingga hanya winner neuron yang mengalami update weight.
Gimana? bingung kan? Sama seperti saya. Awalnya saya bingung juga. Kalau ditanya sekarang jawabannya ya tambah bingung. It’s okay. Ini namanya belajar. Mari kita lanjutkan.

Tujuan SOM

Tujuan secara prinsipal dari SOM adalah untuk mentransformasi high-dimensional input yang kompleks menjadi bentuk yang lebih sederhana dalam dimensi yang lebih rendah ( biasanya 2 dimensi) dengan memperhatikan hubungan antar data. SOM memliki keunggulan dalam hal kemudahan implementasi dan mampu menyelesaikan permasalahan kompleks yang nonlinier.

Untuk lebih mengerti bagaimana cara kerja SOM, dapat dilihat dari contoh sederhana dibawah ini:

Input Data

Bayangkan SOM akan melakukan pemetaan data 3 dimensi menjadi grid 2 dimensi. Dalam hal ini data 3 dimensi di representasikan menjadi red, blue and green (RGB) yang mempunyai nilai dari warna tertentu. Untuk input data dari permasalahan diatas dapat dilihat pada gambar dibawah:

Input Data RGB

Dari sekumpulan data diatas , pemetaan yang baik dan tepat akan mengelompokkan warna RGB terpisah satu sama lain dan menempatkan warna menengah (intermediate) diantara warna dasar (kuning mendekati merah dan hijau, nila mendekati warna hijau dan biru, dan seterusnya).

Jaringan Syaraf

Jaringan saraf dari SOM itu sendiri adalah grid dari neuron. Tiap-tiap neuron mengandung bobot vektor (weight vector) yang direpresentasikan dari nilai RGB dan lokasi geometri grid tersebut. Bobot vektor akan digunakan untuk menentukan winning neuron dari tiap input dan akan meng-update berdasarkan lokasi selama proses pembelajaran (training).

Inisialisasi dari jaringan saraf untuk permasalahan diatas dapat dilihat seperti tampilan berikut ini:

Inisialisasi jaringan syaraf pada kotak RGB

Kotak persegi pada gambar tersebut merepresentasikan neuron dan garis vertikal dimasing-masing kotak menunjukkan inisial dari nilai RGB. Bobot neuron dapat berupa inisial acak atau yang dihasilkan sebelumnya. Dalam kebanyakan kasus inisialisasi acak sudah mencukupi sebagaimana SOM yang akan mempertemukan secara langsung menjadi pemetaan akhir. Bagaimanapun Pre-generating dari bobot neuron dapat secara drastis meningkatkan waktu penyatuan warna, hal ini akan dibahas pada tahap Optimization atau kompetitif dalam mencari BMU atau bahasa kerennya Best Matching Unit.

Struktur SOM

Pada SOM, jaringan terdiri dari 2 layer, layer input dan layer output. Setiap node dari input terhubung dengan seluruh node pada output layer. Namun node pada output layer(neuron) tidak terhubung satu sama lain. Node dalam output layer ini disebut juga map node. Untuk memudahkan strukturnya dapat dilihat pada gambar dibawah:

Struktur SOM dengan input dan output layer

Output layer dapat berdimensi 1 atau 2. Layer ini juga dapat disebut sebagai computational layer atau competitive layer karena node-node pada layer ini berkompetisi dan selalu di-update bobotnya. Baik input maupun output node merupakan array yang menyimpan informasi karakteristik, atribut maupun ciri. Bobot (weight) ini merepresentasikan hal-hal tersebut.

Oke bray, sampai disini dulu sharing mengenai SOM-nya. Mudah – mudahan bisa bermanfaat. Insya Allah selanjutnya kalau sudah belajar lagi saya akan share mengenai tahapan – tahapan SOM dan contoh pengaplikasian dari SOM itu sendiri.

2 tanggapan untuk “Self Organizing Maps (SOM)

Tinggalkan Balasan

%d blogger menyukai ini: