Está en la página 1de 10

TUGAS 4 DATA MINING (A)

Artificial Neural Network [Learning Vector Quantization (LVQ)]

Oleh :
Ni Kadek Giofanni Chandra Devi (1605551001)
Ngakan Nyoman Pandika Pinata (1605551015)
Putu Dipa Pradnya Pratiwi (1605551018)
I Wayan Karang Yudha Prawira (1605551024)
Kadek Satria Umbaraditha (1605551025)
Ni Putu Ratih Andini Putri (1605551026)
Ni Putu Priyastini Dessy Safitri (1605551031)
Desak Ayu Putu Savita Arsarini (1605551053)

PROGRAM STUDI TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2019
1. Pengertian LVQ
Learning Vector Quantization (LVQ) adalah salah satu algoritma dari supervised
artificial neural network yang menggunakan strategi competitive learning sebagai jaringan
winner-take-all, yaitu algoritma pembelajaran yang kompetitif dari algoritma kohonen Self-
Organizing Map (SOM). LVQ merupakan metode pengelompokan pada setiap unit yang
menghasilkan output dan menampilkan sebuah kelas. LVQ ini digunakan untuk melakukan
pengelompokkan, yangmana setiap jumlah kelompok atau item dapat ditentukan kelasnya.
Tujuannya adalah melakukan distribusi kelas vector, supaya dapat menimalisir kesalahan
dalam melakukan pengelompokkan.
Sistem LVQ direpresentasikan oleh banyak n prototype yang didefinisikan
dalam feature space data. Dalam algoritma winner-take-all, untuk setiap titik data akan
ditentukan prototype yang paling dekat dengan input berdasarkan distance measure yang
diketahui. Posisi dari prototype (yang menang) tersebut kemudian beradaptasi. Misalnya,
prototype menjadi dekat jika mengklasifikasi titik data dengan benar dan menjauh jika
mengklasifikasi titik data dengan salah.

2. Arsitektur LVQ
Penggambaran arsitektur LVQ dapat dilihat seperti berikut:

x1
|| x- w1|| H1 D1

x2
|| x- w2| H2 D2

x3
|| x- wn| Hn Dn

x4

Gambar 1 Arsitektur Learning Vector Quantization


Gambar 1 merupakan arsitektur LVQ. Algoritma LVQ bertujuan akhir mencari nilai
bobot yang sesuai untuk mengelompokkan vektor – vektor kedalam kelas tujuan yang telah di
inisialisasi pada saat pembentukan jaringan LVQ. Sedangkan algoritma pengujiannya adalah
menghitung nilai output (kelas vektor) yang terdekat dengan vektor input, atau dapat
disamakan dengan proses pengklasifikasian (pengelompokan). Keterangan pada Gambar 1
adalah sebagai berikut:
a) x1 sampai dengan x4 = nilai input
b) || x – w1 || sampai dengan || x – wn || = jarak bobot
c) H1 sampai dengan Hn = lapisan output
d) D1 sampai dengan Dn = nilai output
e) n = jumlah data karakter (jumlah kelas)

dimana:
 x1 sampai dengan x19200 merupakan elemen matriks dalam setiap pola karakter yang
akan dijadikan sebagai nilai input.
 -|| x – w1 || sampai dengan || x – wn || merupakan perhitungan jarak bobot terkecil
dengan w1 sampai dengan wn adalah nilai data inisialisasi.
 H1 sampai dengan Hn adalah lapisan output.
 D1 sampai dengan Dn adalah bobot akhir yang nantinya akan dipakai dalam proses
pengujian dengan data karakter baru yang dimasukkan.

3. Pembelajaran pada Learning Vector Quantization


Metode LVQ akan melakukan pengenalan terlebih dahulu terhadap pola masukan
yang harus disajikan dalam bentuk vektor agar dapat dicari kelasnya. Karena setiap neuron
keluaran menyatakan kelas atau kategori tertentu, maka pola, masukkan dapat dikenali
kelasnya berdasarkan neuron keluaran yang diperoleh. Metode LVQ mengenali pola masukkan
berdasarkan pada pendekatan jarak antara dua vektor yaitu vektor dari unit/neuron masukkan
dengan vektor bobot. Pengenalan metode LVQ ini terdapat dua proses yaitu proses
pembelajaran dan proses pengujian.
3.1 Proses Pembelajaran
Algoritma pembelajaran pada LVQ bertujuan mencari nilai bobot yang sesuai untuk
mengelompokkan vektor-vektor input ke dalam kelas yang sesuai dengan yang telah
diinisialisasi pada saat pembentukan jaringan LVQ. Parameter-parameter yang digunakan pada
metode LVQ ini adalah sebagai berikut:
a. Alfa (Learning rate) didefinisikan sebagai tingkat pembelajaran. Jika alfa terlalu
besar, maka algoritma akan menjadi tidak stabil sebaliknya jika alfa terlalu kecil,
maka prosesnya akan terlalu lama. Nilai alfa adalah 0 < α < 1.
b. DecAlfa (Penurunan Learning rate) yaitu penurunan tingkat pembelajaran.
c. MinAlfa (Minimum Learning rate) yaitu minimal nilai tingkat pembelajaran yang
masih diperbolehkan.
d. MaxEpoch (Maksimum epoch) yaitu jumlah epoch atau iterasi maksimum yang boleh
dilakukan selama pelatihan. Iterasi akan dihentikan jika nilai epoch melebihi epoch
maksimum. Misalkan terdapat n buah data dengan m buah variabel input. Data-data
tersebut terbagi dalam K kelas. Motivasi dari algoritma LVQ adalah menemukan unit
output yang paling dekat dengan vektor input.

Algoritma proses pembelajaran pada metode LVQ disajikan pada Gambar berikut.

Mulai

Inisialisasi bobot awal dan parameter

Masukkan input & target

Epoch = 0

While epoch Max epoch dan α Min α

Epoch = epoch+1

Baca Xi

for i = 1 to n

Hitung jarak

Temukan jarak terpendek xi dengan bobot


ditandai indeks vektor bobot sebagai j

kelas(i)=j

wj = wj + α(xi-wj) wj = wj - α(xi-wj)

next i

Mengurangi nilai α
α=α - Decα atau α=α*Decα

W end

Bobot akhir

Selesai

Gambar 2 Algoritma Proses Pembelajaran pada Metode Learning Vector Quantization


3.2 Proses Pengujian
Setelah dilakukan pelatihan, akan diperoleh bobot-bobot akhir (W). Bobot-bobot ini
selanjutnya digunakan untuk melakukan simulasi atau pengujian. Misalkan akan diuji p buah
data. Algoritma proses pengujian pada metode LVQ disajikan pada Gambar berikut.

Mulai

Masukkan input dan bobot akhir

Hitung jarak

Pilih neuron dengan jarak


minimum

Karakter yang dikenali

Selesai

Gambar 3 Algoritma Proses Pengujian pada Metode Learning Vector Quantization

4. Kelebihan dan Kekurangan LVQ


Kelebihan dari menggunakan metode LVQ adalah nilai errornya lebih kecil, dapat
meringkas dataset yang besar menjadi lebih kecil, dimensi di dalam codebook tidak dibatasi
dan model yang dihasilkan dapat diubah secara bertahap. Kekurangan dari metode LVQ adalah
perlu perhitungan jarak untuk seluruh atribut, akurasi model bergantung pada inisialisasi model
serta parameter yang digunakan, akurasi dipengaruhi oleh distribusi kelas pada data training,
dan sulit untuk menentukan jumlah codebook vector untuk masalah yang diselesaikan.

5. Contoh Soal
Empat vector ditetapkan pada dua kelas yaitu vector:
X1 : (1,1,0,0) kelas 1
X2 : (0,0,0,1) kelas 2
X3 : (0,0,1,1) kelas 2
X4 : (1,0,0,0) kelas 1

Langkah penyelesaian :
1. Langkah pertama inisialisasi bobot awal, ambil bobot awal untuk kelas 1 menggunakan
vector 1 dan bobot awal kelas 2 menggunakan vector 2. Maka akan didapat:
W1 = (1,1,0,0)
W2 = (0,0,0,1)
Dengan alpha = 0.2
2. Tentukan jarak terdekat pada vector 3 dan vector 4. Apakah mereka masuk ke dalam
kelas 1 atau kelas 2.
EPOCH 1
Jarak (0,0,1,1) ke W1 (1,1,0,0) dihitung dengan cara
D = ∑(X3-W1)2
D1 = [(0,0,1,1) − (1,1,0,0)]
= (-1,-1,1,1) = √(−12 ) + (−12 ) + (12 ) + (12 ) = 2
Sedangkan untuk jarak (0,0,1,1) ke W2 (0,0,0,1) diperoleh
D2 = [(0,0,1,1) – (0,0,0,1)]
= (0,0,1,0) = √(02 ) + (02 ) + (12 ) + (02 ) = 1
Maka jarak terdekat dari X3 adalah W2.
Jarak (1,0,0,0) ke W1 (1,1,0,0) dihitung dengan cara
D = ∑(X4-W1)2
D1 = [(1,0,0,0) − (1,1,0,0)]
= (0,-1,0,0) = √(02 ) + (−12 ) + (02 ) + (02 ) = 1
Sedangkan untuk jarak (1,0,0,0) ke W2 (0,0,0,1) diperoleh
D2 = [(1,0,0,0) – (0,0,0,1)]
= (1,0,0,-1) = √(12 ) + (02 ) + (02 ) + (−12 ) = 1.4142
Maka jarak terdekat dari X4 adalah W1.
Kemudian perbarui W1 menggunakan X4, karena X4 lebih dekat dengan W1.
W1 = W1+ α(X-W1)
= (1,1,0,0) + 0.2((1,0,0,0)-(1,1,0,0))
= (1,1,0,0)+(0,-0.2,0,0) = 1,0.8,0,0
Kemudian perbarui W2 menggunakan X3, karena X3 lebih dekat dengan W2
W2 = W2 + α(X-W2)
= (0,0,0,1) + 0.2((0,0,1,1)-(0,0,0,1))
= (0,0,0,1) + (0,0,0.2,0) = 0,0,0.2,1
EPOCH 2
Selanjutnya, setelah mendapat hasil di EPOCH 1, dilanjutkan ke EPOCH 2.
Alpha yang digunakan 0.2-(0.1*0.2) = 0.18
Jarak (0,0,1,1) ke W1 (1,0.8,0,0) dihitung dengan cara
D = ∑(X3-W1(baru))2
D1 = [(0,0,1,1) − (1,0.8,0,0)]
= (-1,-0.8,1,1) = √(−12 ) + (−0,82 ) + (12 ) + (12 ) = 1.9079
Sedangkan untuk jarak (0,0,1,1) ke W2 (0,0,0.2,1) diperoleh
D2 = [(0,0,1,1) – (0,0,0.2,1)]
= (0,0,0.8,0) = √(02 ) + (02 ) + (0,82 ) + (02 ) = 0.8
Maka jarak terdekat dari X3 adalah W2.
Jarak (1,0,0,0) ke W1 (1,0.8,0,0) dihitung dengan cara
D = ∑(X4-W1(baru))2
D1 = [(1,0,0,0) − (1,0.8,0,0)]
= (0,-0.8,0,0) = √(02 ) + (−0,82 ) + (02 ) + (02 ) = 0.8
Sedangkan untuk jarak (1,0,0,0) ke W2 (0,0,0.2,1) diperoleh
D2 = [(1,0,0,0) – (0,0,0.2,1)]
= (1,0,-0.2,-1) =√(12 ) + (02 ) + (−0,22 ) + (−12 )= 1.4283
Maka jarak terdekat dari X4 adalah W1.
Kemudian perbarui W1 menggunakan X4, karena X4 lebih dekat dengan W1.
W1 = W1+ α(X-W1)
= 1,0.8,0,0 + 0.18((1,0,0,0)-(1,0.8,0,0))
= (1,0.8,0,0) + (0,-0.144,0,0)
=1,0.656,0,0
Kemudian perbarui W2 menggunakan X3, karena X3 lebih dekat dengan W2
W2 = W2 + α(X-W2)
= (0,0,0.2,1)+0.18((1,0,0,0)-(0,0,0.2,1))
= (0,0,0.2,1)+(0,0,0.144,0)
= 0,0,0.344,1
EPOCH 3
Selanjutnya, setelah mendapat hasil di EPOCH 2, dilanjutkan ke EPOCH 3.
Alpha yang digunakan 0.18-(0.1*0.18) = 0.162
Jarak (0,0,1,1) ke W1 (1,0.656,0,0) dihitung dengan cara
D = ∑(X3-W1(baru))2
D1 = [(0,0,1,1) − (1,0.656,0,0)]
= -1,-0.656,1,1 = √(−12 ) + (−0,6562 ) + (12 ) + (12 ) = 1.8521
Sedangkan untuk jarak (0,0,1,1) ke W2 (0,0,0.344,1) diperoleh
D2 = [(0,0,1,1) − (0,0,0.344,1)]
= 0,0,0.656,0 = √(02 ) + (02 ) + (0,6562 ) + (02 ) = 0.656
Jarak (1,0,0,0) ke W1 (1,0.656,0,0) dihitung dengan cara
D1 = [(1,0,0,0) − (1,0.656,0,0)]
= 0,-0.656,0,0 = √(02 ) + (−0,6562 ) + (02 ) + (02 ) = 0.656
Sedangkan untuk jarak (1,0,0,0) ke W2 (0,0,0.344,1) diperoleh
D2 = [(1,0,0,0) − (0,0,0.344,1)]
= 1,0,-0.344,-1 = √(12 ) + (02 ) + (−0,3442 ) + (−12 ) = 1.4555
Kemudian perbarui W1 menggunakan X4, karena X4 lebih dekat dengan W1.
W1 = W1+ α(X-W1)
= 1,0.656,0,0 + 0.162((1,0,0,0)-(1,0.656,0,0))
= (1,0.656,0,0) + (0,-0.106,0,0)
= 1,0.5497,0,0
Kemudian perbarui W2 menggunakan X3, karena X3 lebih dekat dengan W2
W2 = W2 + α(X-W2)
= (0,0,0.344,1)+0.162((1,0,0,0)-(0,0,0.344,1))
= (0,0,0.344,1)+(0,0,0.1063,0)
= 0,0,0.4503,1
UJI COBA
Pola Uji 1 = 0,1,0,0
Pola Uji 2 = 1,0,0,1
Didapatkan dua pola uji, kemudian diujikan dengan bobot baru yang sudah dilakukan
adalah sebagai berikut.

x W2
0 1 -1
1 0.5497 0.4503
0 0 0
0 0 0
D1 1.0967
UJI 1 x W2
0 0 0
1 0 1
0 0.4503 -0.45
0 1 -1
D2 1.4842

1 1 0
0 0.5497 -0.55
0 0 0
1 0 1
D1 1.1411
UJI 2
1 0 1
0 0 0
0 0.4503 -0.45
1 1 0
D2 1.0967

Kesimpulan yang didapatkan adalah Pola Uji 1 lebih dekat dengan kelas 1, sedangkan
Pola Uji 2 lebih dekat dengan kelas 2.
6. Soal Latihan
Disajikan tiga vector yaitu sebagai berikut
X1 : (1,1,0) kelas 1
X2 : (1,0,1) kelas 2
X3 : (1,1,1) kelas 1
Diketahui α sebesar 0,05. Lakukanlah pembelajaran untuk dua kelas dari tiga vector
diatas, lakukan sampai iterasi ketiga kemudian dengan pengurangan alpha sebesar 0,1* α setiap
iterasinya, tentukanlah bobot baru dari dua kelas tersebut.