Anda di halaman 1dari 20

Sutarno, ST.

MT
tarno@ilkom.unsri.ac.id
Pengantar
 Learning vector quantization (LVQ) adalah model untuk
melakukan pembelajaran lapisan kompetitif yang terawasi.
 Lapisan kompetitif secara otomatis belajar
mengklasifikasikan vektor-vektor input dalam kelas-kelas.
 2 (dua) vektor yang sama, lapisan kompetitif akan
meletakkan keduan vektor input pada kelas yang sama.
Algoritma
1. Tetapkan:
 Bobot (w)
 Maksimum epoh (MaxEpoh)
 Error minimum yang diharapkan ( atau “epsilon”)
 Learning rate ()
2. Masukkan:
 Input : x (m,n)
 Target : T (1,n)
3. Tetapkan kondisi awal:
 Epoh : 0
 Error : 0.01
Algoritma
4. Kerjakan jika: (epoh<MaxEpoh) atau ( > )
 Epoh = epoh+1
 Kerjakan untuk i = 1 sampai n
I. Tentukan J sedemikian hingga minimum (sebut
sebagai Cj)
II. Perbaiki wj dengan ketentuan:
 Jika T = Cj, maka :
wj(baru) = wj(lama) +  (x-wj(lama))
 Jika T  Cj, maka :
wj(baru) = wj(lama) -  (x-wj(lama))
 Kurangi nilai 
Sample Training
1. Terdapat 10 (sepuluh) input vektor dalam dua kelas sbb:
No. Vector Input Target (Class)
1. ( 1, 0, 0, 0, 1, 0) 1
2. ( 0, 1, 1, 1, 1, 0) 2
3. ( 0, 0, 1, 0, 0, 1) 1
4. ( 0, 1, 0, 0, 1, 0) 1
5. ( 0, 1, 0, 0, 0, 1) 1
6. ( 1, 0, 1, 0, 1, 1) 1
7. ( 0, 0, 1, 1, 0, 0) 2
8. ( 0, 1, 0, 1, 0, 0) 2
9. ( 1, 0, 0, 1, 0, 1) 2
10. ( 0, 1, 1, 1, 1, 1) 2
Sample Training
2. 2 (dua) vektor input pertama dijadikan inisialisasi bobot:
No. Vector Input (w) Target (Class)
1. ( 1, 0, 0, 0, 1, 0) 1
2. ( 0, 1, 1, 1, 1, 0) 2

jadi :
w11= 1, w12=0, w13=0, w14= 0, w15=1, w16=0
w21= 0, w22=1, w23=1, w24= 1, w25=1, w26=0
sedangkan 8 vektor input yang lain dijadikan sebagai data
training jaringan lvq dengan arsitektur jaringan sbb:
Arsitektur Jaringan LVQ
Training
Nilai awal dipilih learning rate (=0,05), dengan pengurangan sebesar 0,1*,
dan maksimum epoh (Maxepoh=10)
Epoh ke-1
 data ke-1 ( 0, 0, 1, 0, 0, 1), Target = 1
Jarak pada kelas 1:

Jarak pada kelas 2:


Training
 Jarak terkecil pada bobot kelas 1 (Cj =1)
 Target data ke-1 = 1, jadi (Cj=T)
 Bobot baru adalah
wj(baru) = wj(lama) +  (x-wj(lama))
w11 = w11 +  (x1 – w11) = 1 + 0,05 (1-1) = 0,95
w12 = w12 +  (x1 – w12) = 0 + 0,05 (0-0) = 0,00
w13 = w13 +  (x1 – w13) = 0 + 0,05 (1-0) = 0,05
w14 = w14 +  (x1 – w14) = 0 + 0,05 (0-0) = 0,00
w15 = w15 +  (x1 – w15) = 1 + 0,05 (0-1) = 0,95
w16 = w16 +  (x1 – w16) = 0 + 0,05 (1-0) = 0,05
 Jadi:
w1 = (0,95 0,00 0,05 0,00 0,95 0,05)
Training
 data ke-2 ( 0, 0, 1, 0, 1, 0), Target = 1
Jarak pada kelas 1:

Jarak pada kelas 2:

 Jarak terkecil pada bobot kelas 1 (Cj =1), Target data ke-2= 1, jadi (Cj=T)
 Bobot baru adalah
w11 = w11 +  (x1 – w11) = 1 + 0,05 (1-1) = 0,95
w12 = w12 +  (x1 – w12) = 0 + 0,05 (0-0) = 0,00
w13 = w13 +  (x1 – w13) = 0 + 0,05 (1-0) = 0,05
w14 = w14 +  (x1 – w14) = 0 + 0,05 (0-0) = 0,00
w15 = w15 +  (x1 – w15) = 1 + 0,05 (0-1) = 0,95
w16 = w16 +  (x1 – w16) = 0 + 0,05 (1-0) = 0,05
 Jadi:
w1 = (0,95 0,00 0,05 0,00 0,95 0,05)
Training
 data ke-3 ( 0, 1, 0, 0, 0, 1), Target = 1
Jarak pada kelas 1:

Jarak pada kelas 2:

 Jarak terkecil pada bobot kelas 1 (Cj =1), Target data ke-2= 1, jadi (Cj=T)
 Bobot baru adalah
w11 = w11 +  (x1 – w11) = 1 + 0,05 (1-1) = 0,95
w12 = w12 +  (x1 – w12) = 0 + 0,05 (0-0) = 0,00
w13 = w13 +  (x1 – w13) = 0 + 0,05 (1-0) = 0,05
w14 = w14 +  (x1 – w14) = 0 + 0,05 (0-0) = 0,00
w15 = w15 +  (x1 – w15) = 1 + 0,05 (0-1) = 0,95
w16 = w16 +  (x1 – w16) = 0 + 0,05 (1-0) = 0,05
 Jadi:
w1 = (0,95 0,00 0,05 0,00 0,95 0,05)
inisialisasi
 Bobot awal (ditentukan secara acak/random)
 Bobot awal bias ke hidden (v0)
v01 = 0,7496; v02 = 0,3796; v03 = 0,7256; v04 = 0,1628
 Bobot awal hidden ke output (wjk)
w1 = 0,2280
w2 = 0,3796
w3 = 0,6799
w4 = 0,0550
 Bobot awal bias ke output (w0)
w0 = 0,9505
Fase I : Forward Propagations
Fase ini meliputi :
 Tiap-tiap sinyal masukan (Xi, i=1,2,3,...,n) dipropagasikan ke-hidden layer
 Tiap-tiap unit hidden layer (Zj, j=1,2,3,...,p) menjumlahkan sinyal-sinyal input
terbobot:

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

zj = f(net)= f(z_inj)
dan kirimkan sinyal tersebut ke semua unit dilapisan atasnya (unit-unit
output).
 Tiap-tiap unit output (Yk, k=1,2,3,...,m) menjumlahkan sinyal-sinyal input
terbobot:
Fase I : Forward Propagations
Fase ini meliputi :
 Tiap-tiap sinyal masukan (Xi, i=1,2,3,...,n) dipropagasikan ke-hidden layer
 Tiap-tiap unit hidden layer (Zj, j=1,2,3,...,p) menjumlahkan sinyal-sinyal input
terbobot:

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

zj = f(net)= f(z_inj)
dan kirimkan sinyal tersebut ke semua unit dilapisan atasnya (unit-unit
output).
 Tiap-tiap unit output (Yk, k=1,2,3,...,m) menjumlahkan sinyal-sinyal input
terbobot:
Fase I : Forward Propagations
 gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

yk = f(net)= f(y_ink)
dan kirimkan sinyal tersebut ke semua unit dilapisan atasnya (unit-unit
output).
Training
 Epoch ke-1: Data ke-1 (x1=0, x2=0)
 Z_in1 = v01 + V11*x1 + v21+x2
= 0,7496 + 0,9562*0 + 0,1962*0
= 0,7496 + 0 + 0 = 0,7496
 Z_in2 = v02 + V12*x1 + v22+x2
= 0,3796 + 0,7762*0 + 0,6133*0
= 0,3796 + 0 + 0 = 0,3796
 Z_in2 = v02 + V12*x1 + v22+x2
= 0,3796 + 0,7762*0 + 0,6133*0
= 0, 3796 + 0 + 0 = 0, 3796
 Z_in2 = v02 + V12*x1 + v22+x2
= 0,3796 + 0,7762*0 + 0,6133*0
= 0, 3796 + 0 + 0 = 0, 3796
Fase II : Back Propagations
Fase ini meliputi :
 Tiap-tiap unit output (Yk, i=1,2,3,...,m) menerima target pola yang terhubung
dengan pola input pembelajaran, hitung informasi error-nya:
k = (tk – yk) f’(y_ink)
 Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk
memperbaiki nilai wjk):
Dwjk =  k zj
 Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki
nilau w0k):

Dw0k =  k
kirimkan k ini ke unit-unit yang ada dilapisan bawahnya
Fase II : Back Propagations
 Tiap-tiap unit tersembunyi (Zj, i=1,2,3,...,p) menjumlahkan delta inputnya
(dari unit-unit yang berada pada lapisan diatasnya):

kalikan nilai _inj dengan turunan dari fungsi aktivasinya untuk menghitung
informasi error:
j = _injf’(z_inj)
hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki
nilai vij):
Dvjk =  j xi
hitung koreksi bias (yang nantinya akan digunakan untuk memperbaiki v0j):
Dv0j =  j
Fase II : Back Propagations
 Tiap-tiap unit output (Yk, i=1,2,3,...,m) memperbaiki bias dan bobotnya
(j=0,1,2,...,p):

wjk(baru) = wjk(lama) + Dwjk


tiap-tiap unit tersembunyi (Zj, i=1,2,3,...,p) memperbaiki bias dan bobotnya
(i=0,1,2,...,n) :

vij(baru) = vij(lama) + Dvij


 Tes kondisi berhenti.

Anda mungkin juga menyukai