Learning Vector Quantization

Learning Vector Quantization: Pengertian dan Penerapan Algoritmanya

Apa itu Learning Vector Quantization?

Learning Vector Quantization (LVQ) adalah sebuah metode klasifikasi dimana setiap unit output mempresentasikan sebuah kelas. LVQ digunakan untuk pengelompokkan dimana jumlah kelompok sudah ditentukan arsitekturnya (target/kelas sudah ditentukan).

Kelebihan dari Learning Vector Quantization yaitu memiliki tingkat akurasi dan kecepatan tinggi dalam hal pemrosesan. Selain itu, LVQ juga banyak digunakan karena algoritma ini merupakan jenis Jaringan Syaraf Tiruan yang relatif mudah diimplementasikan dan cukup ringkas mengingat parameter yang digunakan dalam proses pembelajaran jaringan tidak banyak.

Arsitektur Learning Vector Quantization

Arsitektur Learning Vector Quantization

Pada gambar diatas, X merupakan vector input. Sedangkan W merupakan vector bobot. W yang akan menjadi penghubung setiap neuron pada lapisan ke-n ke lapisan output. Learning Vector Quantization akan mencari jarak terdekat/minimum antara vektor-vektor input. Jika jaraknya pendek atau terkecil maka algoritma ini akan menempatkan data tersebut ke kelas atau target yang memiliki jarak terkecil.

Algoritma Learning Vector Quantization

  • Inisialisasi nilai learning rate (𝛼), pengurangan learning rate atau fungsi pembelajaran (Dec 𝛼), maksimal epoch yang digunakan dan menentukan vector atau bobot awal dari setiap kelas atau target.
  • Masukan data input serta kelas atau kategori target.
  • Kerjakan apabila (𝑒𝑝𝑜𝑐ℎ ≤ 𝑚𝑎𝑥 𝑒𝑝𝑜𝑐ℎ):

Epoch = epoch + 1;

Kemudian, lakukan perhitungan jarak minimum dengan menggunakan Euclidean distance.

Rumus Euclidean Distance Learning Vector Quantization

Melakukan update vector atau bobot untuk memperbaiki nilai bobot dari setiap kelas dengan kondisi

Update Bobot Learning Vector Quantization

Kerjakan untuk data train ke-i = 1 sampai n

Melakukan pengurangan pada nilai learning rate dengan cara

Pengurangan Learning Rate LVQ

Proses akan berhenti jika telah mencapai maksimum epoch.

Setelah proses pelatihan selesai, maka akan diperoleh vector atau bobot akhir (w).

Contoh Penerapan Learning Vector Quantization

Misalnya diketahui 6 input vektor dalam 2 kelas sbb:

NoInput VektorKelas (T)
1(1110)1
2(1011)2
3(0110)1
4(0011)2
5(1111)1
6(1001)2
 (1011)2

Dua input pertama dijadikan sebagai inisialisasi bobot:

NoBobotKelas
1(1110)1
2(1011)2

Data yang lain akan dijadikan sebagai data latih. Selanjutnya inisialisasi nilai lerning rate, penurunan learning rate, dan maksimum epoch.

α=0,05, penurunan α=0,1 dan maksimum epoh=10

Kemudian masuk ke dalam Epoch ke-1

Data ke-1 : (0110)

Lakukan perhitungan Euclidien Distance pada bobot ke-1 dan ke-2

Bobot ke-1

=√(0 − 1)2 + (1 − 1)2 + (1 − 1)2 + (0 − 0)2 = 1

Bobot ke-2

=√(0 − 1)2 + (1 − 0)2 + (1 − 1)2 + (0 − 1)2 = 1,73

Jarak terkecil pada bobot ke-1, sedangkan target data ke-1=1. Karena jarak terkecil pada bobot ke-1 maka bobot ke-1 akan diperbarui.

Bobot ke-1 baru:

W11(baru)=w11(lama)+ α*[x11-w11(lama)]=1+0,05*(0-1)= 0,95

W12(baru)=w12(lama)+ α*[x12-w12(lama)]=1+0,05*(1-1)= 1

W13(baru)=w13(lama)+ α*[x13-w13(lama)]=1+0,05*(1-1)= 1

W14(baru)=w14(lama)+ α*[x14-w14(lama)]=0+0,05*(0-0)= 0

Sehingga w1=(0,95 1 1 0), sedangkan W2=(1011)

Data ke-2 : (0011)

Lakukan perhitungan Euclidien Distance pada bobot ke-1 dan ke-2

Bobot ke-1

=√(0 − 0,95)2 + (0 − 1)2 + (1 − 1)2 + (1 − 0)2 = 1,7

Bobot ke-2

=√(0 − 1)2 + (0 − 0)2 + (1 − 1)2 + (1 − 1)2 = 1

Jarak terkecil pada bobot ke-2, sedangkan target data ke-2=2. Karena jarak terkecil pada bobot ke-2 maka bobot ke-2 akan diperbarui.

Bobot ke-2 baru:

W21(baru)=w21(lama)+ α*[x21-w21(lama)]=1+0,05*(0-1)= 0,95

W22(baru)=w22(lama)+ α*[x22-w22(lama)]=0+0,05*(0-0)= 0

W23(baru)=w23(lama)+ α*[x23-w23(lama)]=1+0,05*(1-1)= 1

W24(baru)=w24(lama)+ α*[x24-w24(lama)]=1+0,05*(1-1)= 1

Sehingga w2=(0,95 0 1 1), sedangkan w1=(0,95 1 1 0)

Data ke-3 : (1111)

Lakukan perhitungan Euclidien Distance pada bobot ke-1 dan ke-2

Bobot ke-1

=√(1 − 0,95)2 + (1 − 1)2 + (1 − 1)2 + (1 − 0)2 = 1,0023

Bobot ke-2

=√(1 − 0,95)2 + (1 − 0)2 + (1 − 1)2 + (1 − 1)2 = 1,0023

Jarak terkecil pada bobot ke-1 , sedangkan target data ke-3=1. Karena jarak terkecil pada bobot ke-1 maka bobot ke-1 akan diperbarui.

Bobot ke-1 baru:

W11(baru)=w11(lama)+ α*[x11- w11(lama)]=0,95+0,05*(1-0,95)= 0,953

W12(baru)=w12(lama)+ α*[x12-w12(lama)]=1+0,05*(1-1)= 1

W13(baru)=w13(lama)+ α*[x13-w13(lama)]=1+0,05*(1-1)= 1

W14(baru)=w14(lama)+ α*[x14-w14(lama)]=0+0,05*(1-0)= 0,05

Sehingga w1=(0,95 1 1 0,05), sedangkan w2=(0,95 0 1 1)

Data ke-4 : (1001)

Lakukan perhitungan Euclidien Distance pada bobot ke-1 dan ke-2

Bobot ke-1

=√(1 − 0,95)2 + (0 − 1)2 + (0 − 1)2 + (1 − 0,05)2 = 1,704

Bobot ke-2

=√(1 − 0,95)2 + (0 − 0)2 + (0 − 1)2 + (1 − 1)2 = 1,00125

Jarak terkecil pada bobot ke-2, sedangkan target data ke-4=2. Karena jarak terkecil pada bobot ke-2 maka bobot ke-2 akan diperbarui.

Bobot ke-2 baru:

W21(baru)=w21(lama)+ α*[x11- w21(lama)]=0,95+0,05*(1-0,95)= 0,953

W22(baru)=w22(lama)+ α*[x12-w22(lama)]=0+0,05*(0-0)= 0

W23(baru)=w23(lama)+ α*[x13-w23(lama)]=1+0,05*(0-1)= 0,95

W24(baru)=w24(lama)+ α*[x14-w24(lama)]=1+0,05*(1-1)= 1

Sehingga w2=(0,953 0 0,95 1), sedangkan w1=(0,95 1 1 0,05)

sebelum masuk ke Epoch ke-2, learning rate (α) diupdate

sehingga α = α(lama) – [α(lama) * dec α] = 0.05 – (0.05 * 0.1) = 0,045

Kemudian, lakukan Sampai epoch maximum = 10

Misalnya setelah epoch ke-10 di dapat bobot-bobot:

w1=(0,95 1 1 0,05)

w2=(0,953 0 0,95 1)

Kita akan menguji vektor (1011), masuk kelas yang mana?

Maka dilakukan perhitungan untuk mencari jarak terdekat dengan menggunakan Euclidean Distance:

Bobot ke-2

=√(1 − 0,953)2 + (0 − 0)2 + (1 − 0,95)2 + (1 − 1)2 = 0,0686

Bobot ke-1

=√(1 − 0,95)2 + (0 − 1)2 + (1 − 1)2 + (1 − 0,05)2 = 1,38

Minimum pada ke-2 maka masuk kelas ke-2

Tambahan: Cara Menentukan Bobot Awal LVQ

Inisialisasi bobot awal atau dalam LVQ disebut juga sebagai vektor referensi termudah dan paling umum digunakan adalah dengan memilih n vektor input pertama yang mewakili setiap kelas dalam proses pelatihan, dimana n adalah jumlah kelas yang akan diklasifikasikan. Inisialisasi vektor referensi (bobot) dengan cara ini sangat sensitif terhadap akurasi sistem karena ketidaktepatan dalam pemilihannya dapat mengakibatkan akurasi sistem yang buruk.

Alternatif lain untuk menentukan vektor referensi adalah dengan menggunakan teknik clustering. Clustering adalah proses pengelompokan data ke dalam kelompok-kelompok yang kita tentukan di awal jumlahnya, tetapi kelompok-kelompok tersebut tidak memiliki label/nama.

Penggunaan clustering pada LVQ bertujuan untuk mendapatkan titik fokus dari cluster data. Data yang dikelompokan melalui proses clustering diasumsikan akan terbagi sesuai dengan label/kelas data tersebut, sehingga titik fokus masing-masing kelompok (cluster) dianggap mewakili kelas-kelas yang ada. Sebagai perwakilan dari kelas yang ada, maka titik pusat ini akan digunakan sebagai bobot awal (vektor acuan) dari masing-masing kelas.

Setelah bobot awal ditentukan menggunakan teknik clustering, proses pelatihan dan proses pengujian LVQ dilakukan seperti biasa. Teknik clustering yang dapat digunakan untuk menentukan bobot awal ini antara lain Self Organizing Map (SOM) dan K-Means clustering.

Alternatif lain yang dapat digunakan untuk menentukan bobot awal yang lebih baik adalah dengan menggunakan metode optimasi seperti Algoritma Genetika dan Particle Swarm Optimization (PSO). Terdapat sedikit perbedaan dalam penentuan bobot awal menggunakan teknik clustering dan metode optimasi.

Dalam menentukan bobot awal dengan teknik clustering, proses clustering akan berdiri sendiri dalam membentuk kelompok data (cluster) yang nantinya kita hanya akan mengambil titik pusat sebagai bobot awal, sedangkan dalam menentukan bobot awal menggunakan metode optimasi, evaluasi fitness nilai atau nilai biaya.

Nilai yang mempengaruhi evaluasi nilai fitness atau nilai biaya biasanya adalah nilai akurasi. Nilai akurasi diperoleh dengan melakukan langkah-langkah seperti proses pengujian pada tahap LVQ. Bobot dengan nilai fitness atau nilai cost terbaik akan dipilih sebagai bobot awal. Setelah bobot awal ditentukan, proses pelatihan dan proses pengujian pada tahap LVQ akan dilakukan seperti biasa.

Metode clustering dan optimasi merupakan alternatif yang dapat digunakan untuk menentukan bobot awal (vektor referensi) yang lebih baik pada LVQ. Jika ditanya mana yang lebih baik, maka perlu dilakukan penelitian lebih lanjut mengenai hal ini, karena penerapan metode LVQ dalam melakukan klasifikasi beserta modifikasi yang dilakukan di dalamnya akan sangat bergantung pada masalah yang diambil dan data yang digunakan di dalamnya

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top