Contoh Program Voted Perceptron - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul Contoh Program Voted Perceptron, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel Jaringan Syaraf Tiruan, Artikel Neural Network, Artikel php, Artikel voted perceptron, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Contoh Program Voted Perceptron
link : Contoh Program Voted Perceptron

Baca juga


Contoh Program Voted Perceptron

     Selamat malam pemirsa, jumpa lagi malam ini dengan saya. Mumpung lagi lumayan free hari ini, saya mau lanjutin tulisan saya sebelumnya tentang algoritma voted-perceptron. Kalo kemarin udah bahas tentang algoritma dan contoh perhitungan manualnya, kali ini saya mau lanjutin tentang contoh program sederhana menggunakan bahasa php. Langsung cekidot...

Persiapan Data

     Data yang akan saya pakai kali ini data logika AND yang juga saya pakai di tulisan saya sebelumnya.
$data = array(
array(1,1),
array(1,-1),
array(-1,1),
array(-1,-1)
); // data latih
$label = array(1,-1,-1,-1); // target label data latih

Class voted perceptron

     Pertama kita buat class voted-perceptron yang digunakan untuk implementasi algoritma voted perceptron.

class Voted_perceptron{


}

Pelatihan

     Berikut adalah fungsi yang dibuat untuk melakukan pelatihan data training untuk mendapatkan nilai v, c, dan k.

 function train($data_latih,$label,$max_epoh){ //fungsi pelatihan untuk mencari nilai v,c,dan k
$v = array(array_fill(0,count($data_latih[0]),0));
$k = 0;
$c = array(1);
for($iterasi = 0;$iterasi <= $max_epoh;$iterasi++){
$cek= "";
for($x = 0;$x<count($data_latih);$x++){
$y = $this->dot_product($data_latih[$x],$v[$k]);
if($y ==$label[$x]){
$c[$k] = $c[$k]+1;
$cek .=1;
}else{
$vk = array();
for($a = 0;$a < count($data_latih[$x]);$a++){
$vk[$a] = $v[$k][$a]+($label[$x]*$data_latih[$x][$a]);
}
array_push($v,$vk);
array_push($c,1);
$k = $k + 1;
$cek .=0;
}
}
$ck = strpos($cek,"0");
if($ck===FALSE){
$iterasi = $max_epoh;
}
}
$out = array('v'=>$v,'c'=>$c,'k'=>$k);
return $out;
}
 
Fungsi di atas menghasilkan nilai v,c dan k berupa array. Berikut fungsi dot product yang di gunakan untuk menghitung nilai output.

function dot_product($data,$v){
$y_in = 0;
for($x = 0;$x < count($data);$x++){
$y_in = $y_in + ($data[$x]*$v[$x]);
}
return $this->sign($y_in);
}
 
Dan untuk mendapatkan nilai output berupa 1 atau -1, maka dilakukan perhitungan dengan fungsi aktivasi berikut.

 function sign($y_in){ // aktivasi
if($y_in > 0){
$y = 1;
}else{
$y = -1;
}
return $y;
}
 
dan berikut adalah hasil dari proses training
dan di dapat nilai v = {(0,0),(1,1)}, c = {1,8} dan k = {2}(karena array di mulai dari index 0).

Uji Coba / Klasifikasi

     Untuk proses uji coba saya juga masih menggunakan data logika AND di atas. Dan berikut adalah fungsi klasifikasi

 function classifier($data,$v,$c,$k){ // fungsi untuk klasifikasi
$s = 0;
for($x = 0;$x <= $k;$x++){
$y_in = 0;
$row = 0;
for($y=0;$y<count($v[$x]);$y++){
$y_in = $y_in +($v[$x][$y]*$data[$y]);
$row++;
}
$s = $s +($c[$x]*$this->sign($y_in));
}
return $this->sign($s);
}
 
dan kita lakukan uji coba

$voted = new Voted_perceptron;
$out = $voted->train($data,$label,5); //melakukan proses training
$uji = array(array(-1,-1),array(-1,1),array(1,-1),array(1,1)); //data uji
for($x=0;$x<count($uji);$x++){
$hasil = $voted->classifier($uji[$x],$out['v'],$out['c'],$out['k']); //melakukan klasifikasi
echo "Data ".($x+1)." ";
print_r($uji[$x]);
echo " Hasil : ".$hasil."</br>";
}

hasilnya sebagai berikut
 

dan hasilnya semua data dapat di klasifikasikan dengan benar. 
     Sekian dulu tulisan saya kali ini. Source code bisa di download di sini


Demikianlah Artikel Contoh Program Voted Perceptron

Sekianlah artikel Contoh Program Voted Perceptron kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Contoh Program Voted Perceptron dengan alamat link https://dev-create.blogspot.com/2015/05/contoh-program-voted-perceptron.html