
Sinopsis
Learning Vector Quantization adalah salah satu metode pelatihan secara kompetitif yang sama seperti teknik percepton dan bacpropagation. Kita singkat saja dengan LVQ yang termasuk dari algoritma machine learning berbasis supervisi. Penulis sajikan data berikut yang terdiri dari 2 paramater dan 1 target output
Bila kita plot data menggunakan jenis scatter akan terlihat terdiri dari 3 cluster / grup
Penulis menggunakan python dan numpy untuk melakukan perhitungan berikut
import csv import numpy as np from library_lvq import LVQ print 'mulai' d = np.genfromtxt('data.csv',delimiter=',') data_input = d[:,0:2] data_target = np.zeros([np.size(data_input,0),1]) #bikin matrix target data_target[:,0] = d[:,2] #assign dengan kolom sebagai target data_target = data_target+1 print 'data input',data_input max_epoch = 1000 target_error = 0.01 lvq = LVQ() jumlah_kelas = 3 jumlah_paramater = 2 bobot_awal = lvq.setBobotRandom(jumlah_kelas,jumlah_paramater) #kita pakai bobot random saja #proses pelatihan lvq.pelatihan(data_input, bobot_awal, data_target, max_epoch, target_error) bobot_akhir = lvq.BOBOT #bobot hasil pelatihan prediksi = lvq.pengujian(data_input,bobot_akhir) #lakukan prediksi print 'target\n',data_target print 'bobot awal\n',bobot_awal print 'prediksi\n',prediksi print 'bobot setelah pelatihan\n',bobot_akhir print 'epoch\n',lvq.EPOCH print 'done' print 'kita bandingkan antar data_target==prediksi\n', data_target==prediksi print 'jumlah data yang diuji\n',np.size(d,0) b = data_target==prediksi print 'jumlah berhasil\n',b.sum()
Kode Learning Vector Quantization diatas ditulis berdasarkan pada referensi berikut
- T. Kohonen. An introduction to neural computing. Neural Networks,1(1):3–16, 1988.
- T. Kohonen. Learning vector quantization. Neural Networks, 1:303,1988.
Berikut hasil yang ditampilkan terdiri dari bobot dan hasil prediksi
mulai data input [[ 2.7810836 2.550537 ] [ 1.46548937 2.36212508] [ 3.39656169 4.40029353] [ 1.38807019 1.85022032] [ 3.06407232 3.00530597] [ 7.62753121 2.75926224] [ 5.33244125 2.08862677] [ 6.92259672 1.77106367] [ 8.67541865 -0.24206865] [ 7.67375647 3.50856301] [-1. -1. ] [-2. -2. ]] target [[ 1.] [ 1.] [ 1.] [ 1.] [ 1.] [ 2.] [ 2.] [ 2.] [ 2.] [ 2.] [ 3.] [ 3.]] bobot awal [[ 0.29099099 0.89736528] [ 0.77639942 0.32244049] [ 0.50293928 0.94421681]] prediksi [[ 1.] [ 1.] [ 1.] [ 1.] [ 1.] [ 2.] [ 2.] [ 2.] [ 2.] [ 2.] [ 3.] [ 3.]] bobot setelah pelatihan [[ 1.31912068 2.09943898] [ 5.80948915 1.28862291] [-0.56895638 -0.29873992]] epoch 3 done kita bandingkan antar data_target==prediksi [[ True] [ True] [ True] [ True] [ True] [ True] [ True] [ True] [ True] [ True] [ True] [ True]] jumlah data yang diuji 12 jumlah berhasil 12
Bagaimana menurut kalian mengenai Learning Vector Quantization adalah salah satu metode pelatihan secara kompetitif yang sama seperti teknik percepton dan bacpropagation.