Langsung ke konten utama

Contoh Perhitungan Voted Perceptron

      Menyambung tulisan saya sebelumnya tentang voted perceptron, kali ini saya akan memberi contoh perhitungan manual algoritma voted perceptron. algoritma terdiri dari dua tahap yaitu tahap pelatihan atau training dan tahap klasifikasi.

Proses Training

      Berikut ini adalah proses pelatihan untuk mencari nilai vektor perceptron v dan bobot c yang akan digunakan dalam proses klasifikasi. Pada proses pelatihan ini, parameter yang perlu di masukkan adalah vektor perceptron awal v_1 = {0, 0} , Treshold T = 1,k = 1,dan bobot c = 0. Di bawah adalah data logika AND yang akan di gunakan untuk data latih. 

Data yang pertama x = {1, 1} target = 1

kemudian di hitung dot product dari vektor input x dan vektor perceptron v

y_in = (x_1 *v_1)+(x_2 * v_1)
       = (1*0)+(1*0) = 0

dari y_in tersebut di masukkan ke dalam fungsi aktivasi dengan treshold T = 1

y = sign(y_in) = sign(0) = -1

karena target berbeda dengan  output,maka update vektor perceptron

v_2 = v_1 + (target * x)
      = 0 +(1*1) = 1
      = 0+(1*1) = 1

maka di dapat v_2 = {1, 1},update pula nilai c dan k

c_2 = 1
k = 2

sampai di sini kita mendapatkan nilai v = {(0, 0),(1, 1)} dan nilai c = {1,1} dan k - 2 dan kita lanjutkan dengan selanjutnya

 

Data yang kedua x = {1, -1} target = -1 

menghitung output 

y_in = (x_2 *v_2)+(x_2 * v_2)
       = (1*1)+(-1*1) = 0 
y = sign(0) = -1

karena output sama dengan target maka tidak dilakukan perhitungan vektor dan hanya menghitung nilai c

c_2 = c_2 +1
       = 1+1 = 2

sampai di sini kita mendapatkan nilai v = {(0, 0),(1, 1)} dan nilai c = {1,2} dan k - 2 dan kita lanjutkan dengan selanjutnya

 

Data yang ketiga x = {-1, 1} target = -1 

menghitung output 

y_in = (x_2 *v_2)+(x_2 * v_2)
       = (-1*1)+(1*1) = 0 
y = sign(0) = -1

karena output sama dengan target maka tidak dilakukan perhitungan vektor dan hanya menghitung nilai c

c_2 = c_2 +1
       = 2+1 =3

sampai di sini kita mendapatkan nilai v = {(0, 0),(1, 1)} dan nilai c = {1,3} dan k - 2 dan kita lanjutkan dengan selanjutnya

 

Data yang ke empat x = {-1, -1} target = -1 

menghitung output 

y_in = (x_2 *v_2)+(x_2 * v_2)
       = (-1*1)+(-1*1) =-2
y = sign(-2) = -1

karena output sama dengan target maka tidak dilakukan perhitungan vektor dan hanya menghitung nilai c

c_2 = c_2 +1
       = 3+1 =4

sampai di sini kita mendapatkan nilai v = {(0, 0),(1, 1)} dan nilai c = {1,4} dan k - 2 .
Apabila dalam satu iterasi masih ada data yang error,maka di lanjut ke iterasi berikutnya sampai di peroleh vektor yang selalu benar untuk semua data. Berikut adalah rangkuman dari perhitungan pelatihan voted perceptron.

dari pelatihan tersebut diperoleh nilai v = {(0, 0),(1, 1)},c = {1,8} dan k = 2 yang di gunakan dalam proses klasifikasi.

Proses Klasifikasi

       Dari nilai v,c, dan k dari proses pelatihan maka kita lakukan klasifikasi. Data yang akan kita uji adalah x = {1, 1}

a = (1*sign((0*1)+(0*1)))+(8*sign((1*1)+(1*1)))
a = -1 +8
a = 7
output = sign(7) = 1 

dan data dapat di klasifikasikan dengan tepat.

Sekian dulu tulisan ini. Bila masih ada waktu, lain kesempatan saya lanjutkan dengan contoh program sederhana dari algoritma voted perceptron. Sampai jumpa.

Apabila ada kesalahan dalam penulisan atau perhitungan monggo di ingatkan. Terima kasih.

Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 + (1*(-1)*0) = 0 w2_baru = w2_lama +(learning_rate*error*x2)                = 0+(1*(-1)*0) = 0

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh 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-

Pemrograman Berorientasi Object - Overloading dan Overriding

       Function atau method overloading dan override adalah fitur yang sangat mendasar dan berguna dari bahasa OOP manapun. Dalam tutorial ini kita akan membahas implementasi metode overloading dan override di php. Di sini pertama kita akan membahas dasar-dasar overloading dan override. Setelah eksplorasi dasar kita akan menerapkan overloading dan override di php. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang class dan pewarisan di php. Anda juga memiliki pemahaman tentang magic method di php. Magic method karena overloading di php bisa di implmentasikan dengan menggunakan magic method. Overriding        Arti dasar dari overriding di OOP sama dengan arti kata sebenarnya. Dalam arti kata sebenarnya dari overriding adalah menggantikan perilaku orang tua yang sama pada anak. Ini sama dengan override method di OOP. Dalam arti OOP, override adalah mengganti method class induk di class anak. Atau dengan method kata kunci sederhana yang me