Contoh Penyelesaian Perhitungan Algoritma Learning Vector Quantization

Contoh Penyelesaian Perhitungan Algoritma Learning Vector Quantization

Algoritma Learning Vector Quantization perhitungan manual. Berikut ini contoh data yang akan kita hitung.

No
X1

X2

X3

X4

target
1
0
1
1
0
0
2
0
0
1
1
1
3
1
1
1
1
0
4
1
0
0
1
1

pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1.

Pelatihan

Iterasi ke 1

1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}
     - menghitung bobot untuk masing masing output : 
        kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-0)^2)) = 1
        kelas 1 = sqrt(((0-1)^2)+((1-0)^2)+((1-1)^2)+((0-1)^2)) = 1.7320508075689
     - menentukan kelas pemenang : 
       output = min(kelas 0, kelas 1) =  kelas 0
     - update bobot : 
       karena target 0 sama dengan output 0, maka update bobot : 
       W11 = 1 + (0.05*(0 - 1)) = 0.95
       W12 = 1 + (0.05*(1 - 1)) = 1
       W13 = 1 + (0.05*(1 - 1)) = 1
       W14 = 0 + (0.05*(0 - 0)) = 0
       maka diperoleh bobot baru = {{ 0.95, 1, 1, 0},{ 1, 0, 1, 1}} untuk digunakan pada perhitungan data selanjutnya
2. Data ke 2 { 0, 0, 1, 1} dengan target 1, bobot = {{ 0.95, 1, 1, 0},{ 1, 0, 1, 1}}
    - menghitung bobot untuk masing masing output :
        kelas 0 = sqrt(((0-0.95)^2)+((0-1)^2)+((1-1)^2)+((1-0)^2)) = 1.7036725037401
        kelas 1 = sqrt(((0-1)^2)+((0-0)^2)+((1-1)^2)+((1-1)^2)) = 1
     - menentukan kelas pemenang : 
       output = min(kelas 0, kelas 1) =  kelas 1
     - update bobot : 
       karena target 1 sama dengan output 1, maka update bobot : 
       W21 = 1 + (0.05*(0 - 1)) = 0.95
       W22 = 0 + (0.05*(0 - 0)) = 0 
       W23 = 1 + (0.05*(1 - 1)) = 1
       W24 = 1 + (0.05*(1 - 1)) = 1
       maka diperoleh bobot baru = {{ 0.95, 1, 1, 0},{ 0.95, 0, 1, 1}} untuk digunakan pada perhitungan data selanjutnya
3. Data ke 3 { 1, 1, 1, 1} dengan target 0, bobot = {{ 0.95, 1, 1, 0},{ 0.95, 0, 1, 1}}
    - menghitung bobot untuk masing masing output :
        kelas 0 = sqrt(((1-0.95)^2)+((1-1)^2)+((1-1)^2)+((1-0)^2)) = 1.001249219725
        kelas 1 = sqrt(((1-0.95)^2)+((1-0)^2)+((1-1)^2)+((1-1)^2)) = 1.001249219725
     - menentukan kelas pemenang : 
       output = min(kelas 0, kelas 1) =  kelas 0, 
       - karena output antara kedua kelas sama besar, bisa dipilih salah satu sebagai output
     - update bobot : 
       karena target 0 sama dengan output 0, maka update bobot : 
       W11 = 0.95 + (0.05*(1 - 0.95)) = 0.9525
       W12 = 1 + (0.05*(1 - 1)) = 1
       W13 = 1 + (0.05*(1 - 1)) = 1
       W14 = 0 + (0.05*(1 - 0)) = 0.05
       maka diperoleh bobot baru = {{ 0.9525, 1, 1, 0.05},{ 0.95, 0, 1, 1}} untuk digunakan pada perhitungan data selanjutnya
4. Data ke 4 { 1, 0, 0, 1} dengan target 1, bobot = {{ 0.9525, 1, 1, 0.05},{ 0.95, 0, 1, 1}}
    - menghitung bobot untuk masing masing output :
        kelas 0 = sqrt(((1-0.9525)^2)+((0-1)^2)+((0-1)^2)+((1-0.05)^2)) = 1.7043345475581
        kelas 1 = sqrt(((1-0.95)^2)+((0-0)^2)+((0-1)^2)+((1-1)^2)) = 1.001249219725
     - menentukan kelas pemenang : 
       output = min(kelas 0, kelas 1) =  kelas 1
     - update bobot : 
       karena target 1 sama dengan output 1, maka update bobot : 
       W21 = 0.95 + (0.05*(1 - 0.95)) = 0.9525
       W22 = 0 + (0.05*(0 - 0)) = 0
       W23 = 1 + (0.05*(0 - 1)) = 0.95
       W24 = 1 + (0.05*(1 - 1)) = 1
      maka diperoleh bobot baru = {{ 0.9525, 1, 1, 0.05},{ 0.9525, 0, 0.95, 1}} untuk digunakan pada perhitungan data selanjutnya
- setelah semua data selesai dihitung, update learning rate : 
    learning rate baru = fungsi pembelajaran * learning rate;
                                 = 0.1 * 0.05 = 0.005
  karena dalam satu iterasi semua data sudah diklasifikasikan dengan benar, maka iterasi pelatihan bisa dihentikan dan memakai bobot terakhir untuk digunakan dalam proses klasifikasi / prediksi. Jika dalam satu iterasi ada yang outputnya belum tepat, maka dilanjutkan ke iterasi berikutnya sampai dengan data diklasifikasikan dengan benar atau telah mencapai maksimal iterasi yang telah ditentukan.

Klasifikasi / Prediksi

      Setelah didapat bobot hasil pelatihan yaitu {{ 0.9525, 1, 1, 0.05},{ 0.9525, 0, 0.95, 1}}, maka kita coba melakukan uji coba klasifikasi terhadap dua data yaitu { 1, 1, 1, 0} dan { 1, 0, 1, 1}.

1. Data ke 1 { 1, 1, 1, 0}

kelas 0 = sqrt(((1-0.9525)^2)+((1-1)^2)+((1-1)^2)+((0-0.05)^2)) = 0.068965571120669
kelas 1 = sqrt(((1-0.9525)^2)+((1-0)^2)+((1-0.95)^2)+((0-1)^2)) = 1.4158941521173
output = kelas 0

2. Data ke 2 { 1, 0, 1, 1}

kelas 0 = sqrt(((1-0.9525)^2)+((0-1)^2)+((1-1)^2)+((1-0.05)^2)) = 1.3801290700511
kelas 1 = sqrt(((1-0.9525)^2)+((0-0)^2)+((1-0.95)^2)+((1-1)^2)) = 0.068965571120669
output = kelas 1


Sumber : https://catatan-pemrograman.blogspot.co.id/2017/05/contoh-perhitungan-algoritma-learning.html

2 Comment:

  1. Kopas
    https://catatan-pemrograman.blogspot.com/2017/05/contoh-perhitungan-algoritma-learning.html

    BalasHapus
    Balasan
    1. Iya gan, maaf gan... artikel ini akan segera saya ubah, terima kasih sudah menginggatkan

      Hapus

-Berkomentarlah yang baik dan rapi.
-Menggunakan link aktif akan dihapus.