- Saya akan menampilkan sebuah program yang diemulasikan memiliki banyak input, dan selanjutnya setiap pengolahan input akan diberi bias 1.
- Input dan weight digambarkan dalam bentuk array. Sedangkan bias digambarkan dalam bentuk skalar.
- Perhitungan yang dilakukan "sampai dengan - tidak lebih" dari persamaan n = WP+b. Perhitungan lebih lanjut dengan fungsi aktifasi atau fungsi transfer akan dibahas kemudian.
Untuk membuat program berdasarkan skenario diatas, Saya menggunakn bahasa Java. Untuk program ini kita tidak menggunakan konsep-konsep lanjutan didalam pemrograman berorientasi object. Berikut ini adalah kerangka dasar pemrograman dari skenario diatas :
- Membuat method untuk melakukan perkalian matriks
- Membuat method untuk melakukan penjumlahan hasil perkalian matriks Input dan Weight dengan bias.
- Matriks input berdimensi 1 x 2
- Matrik weight berdimensi 2 x 1
- Jika matriks input dikalikan dengan matriks weight maka hasilnya adalah skalar.
- Masukan yang diberikan dalam bentuk matriks.
- KITA MENGGUNAKAN SATU BUAH NEURON
/*
<ANNInputWeightBias.java. The program performs summation for
Input, Weight, and Bias .>
Copyright (C) <2016> <Joko Adianto>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ public class ANNInputWeightBias {
/**
* @param p
* @param w
* @param o
* @return double
*/
public static double getSum( double[] p, double[][]w, double b ){
double o =0; //o adalah akumulator
int k = p.length; //panjang array p
int j = 0; //pencacah
for (j=0;j<k;j++){
o=o+p[j]*w[j][0];
}
o=o+b;
return o;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
double o=0;
double b=1; //b adalah bias
double[] p = {1,2,3}; //p adalah input
double[][] w = {{2}, {4}, {6}}; //w adalah weight
o=getSum(p,w,b);
System.out.println(o);
}
}
keluaran dari program diatas adalah 29. Kita dapat melihat program diatas sebagai sebuah persamaan linear n = WP + b dimana :
- W adalah kostanta
- P adalah variable dan merupakan sumbu horizontal
- b adalah pergeseran pada sumbu P
- dan n adalah sumbu tegak lurus.
No comments:
Post a Comment