11.1. Pemetaan Swa Organisasi Kohonen Pemetaan Swa Organisasi Kohonen (Kohonen Self Organizing Maps, SOM), merupakan model pemetaan dari jaringan syaraf tiruan dimana suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang memiliki vector bobot paling cocok dengan pola input (memiliki jarak yang paling dekat) akan terpilih sebagai pemenang. Selanjutnya, neuron yang menjadi pemenang beserta dengan neuron-neuron tetangganya akan memperbaiki bobotbobotnya masing-masing. 11.2. Arsitektur Jaringan Arsitektur jaringan Kohonen SOM diperlihatkan dalam gambar 11-1. Dalam hal ini, bila kita ingin membagi data-data menjadi K cluster,maka lapisan kompetitif akan terdiri atas K buah neuron.
Gambar 11-1 Jaringan Kohonen SOM Seperti yang diperlihatkan dalam gambar diatas dimisalkan bahwa terdapat 2 unit input ( P1 dan P2), yang akan dibentuk kedalam 3 cluster neuron lapisan output (Y1, Y2, dan Y3). Selanjutnya neuron-neuron tersebut akan memperbaiki bobotnya masing-
masing, sebagai bobot Wij . Dalam hal ini, bobot Wij mengandung pengertian bobot yang menghubungkan neuron ke-j pada lapisan input menuju neuron ke-i pada lapisan output.
11.3. Algoritma Jaringan Algoritma pelatihan Jaringan Kohonen SOM adalah sebagai berikut: Langkah-0. Inisialisasi bobot Wij Tetapkan parameter cluster (m) dan parameter laju pelatihan (). Langkah-1. Selama syarat berhenti salah, lakukan langkah-langkah dibawah ini: Langkah (i). Untuk setiap vector masukan X , lakukan beberapa langkah dibawah ini: Langkah (a). Untuk setiap j hitunglah:
D( j ) = ( wij xi ) 2
i
Langkah (b). Cari indeks j sedemikian sehingga D (j) minimum Langkah (c). Untuk semua unit j didalam ketetanggaan j, dan untuk semua i, hitunglah:
(0) = 0.6
step-1 Mulai pelatihan: step-2 Untuk vector pertama [ 1 1 0 0] lakukan langkah 3-5; step-3 D (1) = (0.2 1) 2 + (0.6 1) 2 + (0.5 0) 2 + (0.9 0) 2 = 1.86;
step-2 Untuk vector kedua [ 0 0 0 1] lakukan langkah 3-5; step-3 D (1) = (0.2 0) 2 + (0.6 0) 2 + (0.5 0) 2 + (0.9 1) 2 = 0.66;
step-2 Untuk vector ketiga [ 1 0 0 0] lakukan langkah 3-5; step-3 D (1) = (0.8 1) 2 + (0.24 0) 2 + (0.20 0) 2 + (0.96 0) 2 = 1.865;
step-2 Untuk vector keempat [ 0 0 1 1] lakukan langkah 3-5; step-3 D (1) = (0.08 0) 2 + (0.24 0) 2 + (0.20 1) 2 + (0.96 1) 2 = 0.705;
= 0.5(0.6) = 0.3
Persamaan bobot yang diperbaharui sekarang:
+0.3 xi
Hasil dari perhitungan sesuai dengan tahapan-tahapan pelatihan dimana learning rate dikurangi secara geometris dari 0.6 sampai 0.01 selama 100 iterasi (epoch) akan menghasilkan nilai matriks bobot sebagai berikut:
Iterasi-0
0 .2 0 .6 Matriks bobot: 0 .5 0 .9
0.92 0.76 0.28 0.12 0.970 0.300 0.110 0.048 0.9900 0.3000 0.0200 0.0086
Iterasi-1
Iterasi-2
Iterasi-10
1.5e 7 1.0000 4.6e 7 0.3700 Matriks bobot: 0.6300 5.4e 7 1.0000 2.3e 7 1.9e 19 1.0000 5.7e 15 0.4700 Matriks bobot: 0.5300 6.6e 15 1.0000 2.8e 15 6.7e 17 1.0000 2.0e 16 0.4900 Matriks bobot: 0.5100 2.3e 16 1.0000 1.0e 16
Iterasi-50
Iterasi-100
Seperti yang terlihat bahwa matriks bobot yang dihasilkan nampak konvergen dengan matriks:
Untuk memeriksa kebenaran maka: X = [1 1 0 0]; W =[0 1;0 0.5;0.5 0;1 0]; Y = X*W Y=[0 1.5000] Dengan demikian,vector masukan uji tersebut diklasifikasikan kedalam gugus(cluster) 2. Latihan soal 1. Vector-vector yang akan dikelompokkan adalah sebagai berikut: [1 1 1 0], [0 0 0 1], [1 0 0 0], [0 0 1 1]. Jumlah cluster yang diinginkan adalah m = 2, dengan bobot awal tiap cluster:W1= [0.2 0.6 0.5 0.9]; W2= [0.8 0.4 0.7 0.3]; Ditetapkan Laju pelatihan awal (0) = 0.6 dan (t+1) = 0.5 (t). Radius ketetanggaan R=0.Carilah matriks bobot setelah 100 iterasi dan tentukan termasuk kelompok cluster yang mana keempat vector masukan diatas. 2. Vector-vector yang akan dikelompokkan adalah sebagai berikut: [1 1 0 0], [0 1 0 1], [1 0 0 0], [0 0 1 1]. Jumlah cluster yang diinginkan adalah m = 2, dengan bobot awal tiap cluster:W1= [0.2 0.1 0.9 0.7]; W2= [0.2 0.5 0.7 0.8]; Ditetapkan Laju pelatihan awal (0) = 0.3 dan (t+1) = 0.1 (t). Radius ketetanggaan R=0.Carilah matriks bobot setelah 100 iterasi dan tentukan termasuk kelompok cluster yang mana keempat vector masukan diatas. 3. Vector-vector yang akan dikelompokkan adalah sebagai berikut: [1 1 0 0], [0 0 0 1], [1 01 0], [0 0 1 1]. Jumlah cluster yang diinginkan adalah m = 4, dengan bobot awal tiap cluster:W1= [0.3 0.7 0.5 0.8]; W2= [0.9 0.2 0.7 0.3];
Ditetapkan Laju pelatihan awal (0) = 0.6 dan (t+1) = 0.4 (t). Radius ketetanggaan R=0.Carilah matriks bobot setelah 100 iterasi dan tentukan termasuk kelompok cluster yang mana keempat vector masukan diatas. 4. Vector-vector yang akan dikelompokkan adalah sebagai berikut: [1 1 0 0], [0 0 0 1], [1 0 0 0], [1 0 1 1]. Jumlah cluster yang diinginkan adalah m = 3, dengan bobot awal tiap cluster:W1= [0.2 0.6 0.5 0.9]; W2= [0.6 0.5 0.9 0.3]; Ditetapkan Laju pelatihan awal (0) = 0.5 dan (t+1) = 0.2 (t). Radius ketetanggaan R=0.Carilah matriks bobot setelah 100 iterasi dan tentukan termasuk kelompok cluster yang mana keempat vector masukan diatas. 5. Vector-vector yang akan dikelompokkan adalah sebagai berikut: [1 1 0 0], [0 0 0 1], [1 0 1 0], [1 0 1 1]. Jumlah cluster yang diinginkan adalah m = 2, dengan bobot awal tiap cluster:W1= [0.3 0.7 0.5 0.9]; W2= [0.8 0.9 0.7 0.2]; Ditetapkan Laju pelatihan awal (0) = 0.5 dan (t+1) = 0.3 (t). Radius ketetanggaan R=0.Carilah matriks bobot setelah 100 iterasi dan tentukan termasuk kelompok cluster yang mana keempat vector masukan diatas.