Jaringan
kohonen ini pertama kali diperkenalkan oleh Prof. Teuvo Kohonen pada tahun 1982. Pada jaringan
ini, 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 vektor bobot paling cocok dengan pola input (memiliki
jarak yang paling dekat) akan terpilih sebagai
pemenang. Neuron yang menjadi pemenang beserta neuron-neuron tetangganya akan memperbaiki bobot-bobotnya.
Algoritma
1. Inisialisasi bobot: wij.
Set parameter-parameter tetangga. Set parameter learning rate.
2.
Kerjakan jika kondisi berhenti bernilai FALSE:
a. Untuk setiap vektor input x, kerjakan:
®
Untuk setiap j, hitung:
D(J) = å(wij - xi)2
i
® Tentukan
J, sedemikian hingga D(J) minimum.
®
Untuk setiap unit j dengan spesifikasi tetangga tertentu, dan untuk setiap i:
wij(baru) = wij(lama) + a(xi – wij(lama))
b.
Perbaiki learning rate.
c. Kurangi radius ke-tetangga-an pada waktu-waktu tertentu.
d. Tes kondisi berhenti.
Contoh 8.11:
Misalkan kita ingin mengcluster
data-data berikut: X1 X2
0,10 0,10
0,20 0,20
0,30 0,10
0,50 0,30
0,40 0,40
0,20 0,40
menjadi 2 cluster. Bobot awal yang akan kita gunakan adalah matriks berukuran 2x2 dengan tiap-tiap
elemen bernilai 0,5. Learning rate (a=0,6) dengan tiap kenaikan epoh akan diset 0,5x(a). Maksimum
epoh ditetapkan sebesar 10.
alfa (a)= 0,60
MaxEpoh = 10
Pengurangan alfa = 0,50
Matriks yang akan dicluster, X: 0,10 0,10
0,20 0,20
0,30 0,10
0,50 0,30
0,40 0,40
0,20 0,40
Bobot awal: 0,50 0,50
0,50 0,50
Epoh ke- 1
--------------------
Data ke- 1 Jarak pada:
* bobot ke-1 = (0,5 – 0,1)2 + (0,5 – 0,1)2 = 0,32
* bobot ke-2 = (0,5 – 0,1)2 + (0,5 – 0,1)2 = 0,32
Jarak terkecil pada bobot ke-1 Bobot ke- 1 baru:
w11 = 0,5 + 0,6(0,1 – 0,5) = 0,26
w12 = 0,5 + 0,6(0,1 – 0,5) = 0,26
Data ke- 2 Jarak pada:
* bobot ke-1 = (0,26 – 0,2)2 + (0,26 – 0,2)2 = 0,0072
* bobot ke-2 = (0,50 – 0,2)2 + (0,50 – 0,2)2 = 0,1800
Jarak terkecil pada bobot ke-1 Bobot ke- 1 baru:
w11 = 0,26 + 0,6(0,2 – 0,26) = 0,224
w12 = 0,26 + 0,6(0,2 – 0,26) = 0,224
Data ke- 3 Jarak pada:
* bobot ke-1 = (0,224 – 0,3)2 + (0,224 – 0,1)2 = 0,0212
* bobot ke-2 = (0,5 – 0,3)2 + (0,5 – 0,1)2 = 0,2000
Jarak terkecil pada bobot ke-1 Bobot ke- 1 baru:
w11 = 0,224 + 0,6(0,3 – 0,224) = 0,2696
w12 = 0,224 + 0,6(0,1 – 0,224) = 0,1496
Data ke- 4 Jarak pada:
* bobot ke-1 = (0,2696 – 0,5)2 + (0,1496 – 0,3)2 = 0,0757
* bobot ke-2 = (0,5 – 0,5)2 + (0,5 – 0,3)2 = 0,0400
Jarak terkecil pada bobot ke-2 Bobot ke- 2 baru:
w21 = 0,5 + 0,6(0,5 – 0,5) = 0,5000
w22 = 0,5 + 0,6(0,3 – 0,5) = 0,3800
Data ke- 5 Jarak pada:
* bobot ke-1 = (0,2696 – 0,4)2 + (0,1496 – 0,4)2 = 0,0797
* bobot ke-2 = (0,5 – 0,4)2 + (0,38 – 0,4)2 = 0,0104
Jarak terkecil pada bobot ke-2 Bobot ke- 2 baru:
w21 = 0,5 + 0,6(0,4 – 0,5) = 0,4400
w22 = 0,38 + 0,6(0,4 – 0,38) = 0,3920
Data ke- 6 Jarak pada:
* bobot ke-1 = (0,2696 – 0,2)2 + (0,1496 – 0,4)2 = 0,0675
* bobot ke-2 = (0,44 – 0,2)2 + (0,392 – 0,4)2 = 0,0577
Jarak terkecil pada bobot ke-2 Bobot ke- 2 baru:
w21 = 0,44 + 0,6(0,2 – 0,44) = 0,2960
w22 = 0,392 + 0,6(0,4 – 0,392) = 0,3968
a = 0,5*0,6 = 0,3
Nilai bobot akhir setelah epoh ke-10 adalah: w =
0,2190 0,3424
0,1351 0,3754
Misalkan kita akan melakukan testing terhadap data ketiga: [0,3 0,1] termasuk dalam cluster mana, maka kita cari terlebih
dahulu jarak data tersebut pada bobot setiap cluster:
Jarak pada:
* bobot ke-1 = (0,2190 – 0,3)2 + (0,1351 – 0,1)2 = 0,0078
* bobot ke-2 = (0,3424 – 0,3)2 + (0,3754 – 0,1)2 = 0,0776
Ternyata
jarak yang lebih pendek adalah jarak terhadap bobot ke-1, maka data tersebut termasuk
dalam cluster pertama.
Kita juga bisa melakukan
testing terhadap data yang tidak ikut dilatih, misalkan: [0,4 0,5] termasuk
dalam cluster mana, maka seperti biasa kita cari terlebih dahulu jarak data tersebut
pada bobot setiap cluster:
Jarak pada:
* bobot ke-1 = (0,2190 – 0,4)2 + (0,1351 – 0,5)2 = 0,1997
* bobot ke-2 = (0,3424 – 0,4)2 + (0,3754 – 0,5)2 = 0,0404
Ternyata jarak yang lebih pendek
adalah jarak terhadap bobot ke-2, maka data tersebut termasuk
dalam cluster kedua.
0 Komentar untuk "Unsupervised Learning (Jaringan Kohonen)"