Mempelajari Kuantisasi Vektor
Learning Vector Quantization (LVQ), berbeda dengan vektor kuantisasi (VQ) dan Kohonen Self-Organizing Maps (KSOM), pada dasarnya adalah jaringan kompetitif yang menggunakan pembelajaran yang diawasi. Kita dapat mendefinisikannya sebagai proses pengklasifikasian pola di mana setiap unit keluaran mewakili sebuah kelas. Karena menggunakan pembelajaran yang diawasi, jaringan akan diberikan serangkaian pola pelatihan dengan klasifikasi yang diketahui bersama dengan distribusi awal kelas keluaran. Setelah menyelesaikan proses pelatihan, LVQ akan mengklasifikasikan vektor masukan dengan menetapkannya ke kelas yang sama dengan yang ada pada unit keluaran.
Arsitektur
Gambar berikut menunjukkan arsitektur LVQ yang sangat mirip dengan arsitektur KSOM. Seperti yang bisa kita lihat, ada“n” jumlah unit masukan dan “m”jumlah unit keluaran. Lapisan tersebut sepenuhnya saling berhubungan dengan memiliki bobot di atasnya.
Parameter yang Digunakan
Berikut adalah parameter yang digunakan dalam proses pelatihan LVQ serta di diagram alir
x= vektor pelatihan (x 1 , ..., x i , ..., x n )
T = kelas untuk vektor pelatihan x
wj = vektor bobot untuk jth unit keluaran
Cj = kelas yang terkait dengan jth unit keluaran
Algoritma Pelatihan
Step 1 - Inisialisasi vektor referensi, yang dapat dilakukan sebagai berikut -
Step 1(a) - Dari kumpulan vektor pelatihan yang diberikan, ambil "m"(Jumlah cluster) vektor pelatihan dan menggunakannya sebagai vektor bobot. Vektor yang tersisa dapat digunakan untuk pelatihan.
Step 1(b) - Tentukan bobot awal dan klasifikasi secara acak.
Step 1(c) - Menerapkan metode pengelompokan K-means.
Step 2 - Inisialisasi vektor referensi $ \ alpha $
Step 3 - Lanjutkan dengan langkah 4-9, jika kondisi untuk menghentikan algoritma ini tidak terpenuhi.
Step 4 - Ikuti langkah 5-6 untuk setiap vektor input pelatihan x.
Step 5 - Hitung Kuadrat Jarak Euclidean untuk j = 1 to m dan i = 1 to n
$$ D (j) \: = \: \ displaystyle \ sum \ limit_ {i = 1} ^ n \ displaystyle \ sum \ limit_ {j = 1} ^ m (x_ {i} \: - \: w_ {ij }) ^ 2 $$
Step 6 - Dapatkan unit pemenang J dimana D(j) minimal.
Step 7 - Hitung bobot baru unit pemenang dengan hubungan berikut -
jika T = Cj lalu $ w_ {j} (baru) \: = \: w_ {j} (lama) \: + \: \ alpha [x \: - \: w_ {j} (lama)] $
jika T ≠ Cj lalu $ w_ {j} (baru) \: = \: w_ {j} (lama) \: - \: \ alpha [x \: - \: w_ {j} (lama)] $
Step 8 - Kurangi kecepatan pembelajaran $ \ alpha $.
Step 9- Uji kondisi berhenti. Mungkin sebagai berikut -
- Jumlah periode maksimum tercapai.
- Kecepatan pembelajaran dikurangi menjadi nilai yang dapat diabaikan.
Diagram alir
Varian
Tiga varian lainnya yaitu LVQ2, LVQ2.1 dan LVQ3 telah dikembangkan oleh Kohonen. Kompleksitas dalam ketiga varian ini, karena konsep yang akan dipelajari oleh pemenang serta unit runner-up, lebih banyak daripada di LVQ.
LVQ2
Seperti yang dibahas pada konsep varian lain dari LVQ di atas, kondisi LVQ2 dibentuk oleh jendela. Jendela ini akan didasarkan pada parameter berikut -
x - vektor masukan saat ini
yc - vektor referensi yang paling dekat dengan x
yr - vektor referensi lainnya, yang paling dekat dengan x
dc - jarak dari x untuk yc
dr - jarak dari x untuk yr
Vektor masukan x jatuh di jendela, jika
$$ \ frac {d_ {c}} {d_ {r}} \:> \: 1 \: - \: \ theta \: \: dan \: \: \ frac {d_ {r}} {d_ {c }} \:> \: 1 \: + \: \ theta $$
Di sini, $ \ theta $ adalah jumlah sampel pelatihan.
Pembaruan dapat dilakukan dengan rumus berikut -
$ y_ {c} (t \: + \: 1) \: = \: y_ {c} (t) \: + \: \ alpha (t) [x (t) \: - \: y_ {c} (t)] $ (belongs to different class)
$ y_ {r} (t \: + \: 1) \: = \: y_ {r} (t) \: + \: \ alpha (t) [x (t) \: - \: y_ {r} (t)] $ (belongs to same class)
Di sini $ \ alpha $ adalah kecepatan pemelajaran.
LVQ2.1
Di LVQ2.1, kita akan mengambil dua vektor terdekat yaitu yc1 dan yc2 dan kondisi jendela adalah sebagai berikut -
$$ Min \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}}, \ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \:> \ :( 1 \ : - \: \ theta) $$
$$ Max \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}}, \ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \: <\ :( 1 \ : + \: \ theta) $$
Pembaruan dapat dilakukan dengan rumus berikut -
$ y_ {c1} (t \: + \: 1) \: = \: y_ {c1} (t) \: + \: \ alpha (t) [x (t) \: - \: y_ {c1} (t)] $ (belongs to different class)
$ y_ {c2} (t \: + \: 1) \: = \: y_ {c2} (t) \: + \: \ alpha (t) [x (t) \: - \: y_ {c2} (t)] $ (belongs to same class)
Di sini, $ \ alpha $ adalah kecepatan pemelajaran.
LVQ3
Di LVQ3, kita akan mengambil dua vektor terdekat yaitu yc1 dan yc2 dan kondisi jendela adalah sebagai berikut -
$$ Min \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}}, \ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \:> \ :( 1 \ : - \: \ theta) (1 \: + \: \ theta) $$
Di sini $ \ theta \ sekitar 0,2 $
Pembaruan dapat dilakukan dengan rumus berikut -
$ y_ {c1} (t \: + \: 1) \: = \: y_ {c1} (t) \: + \: \ beta (t) [x (t) \: - \: y_ {c1} (t)] $ (belongs to different class)
$ y_ {c2} (t \: + \: 1) \: = \: y_ {c2} (t) \: + \: \ beta (t) [x (t) \: - \: y_ {c2} (t)] $ (belongs to same class)
Di sini $ \ beta $ adalah kelipatan dari kecepatan pembelajaran $ \ alpha $ dan $\beta\:=\:m \alpha(t)$ untuk setiap 0.1 < m < 0.5