programer skripsi tesis tugas akhir
-

Contoh Program Source Code   /

Jaringan Syaraf Tiruan Backpropagation C++

Posted on 07.15
Join with us

Jaringan Syaraf Tiruan Backpropagation

Jaringan Syaraf Tiruan Backpropagation C++ @ Dari soal, kita diberi daftar nilai 50 orang mahasiswa, dg nilai tsb merupakan nilai ujian, tugas, kuis, dll. Ada 5 jenis nilai (X1-X5), & dg menggunakan rumus tertentu akan diperoleh nilai akhir unt mata kuliah tersebut. Program yg akan dibuat berfungsi unt memprediksi nilai suatu mahasiswa apabila diketahui 5 nilai ujiannya, dg ketentuan sbg berikut :
  1. Untuk melatih program dipakai 50 data nilai 1.
  2. Untuk melakukan uji prediksi, dipakai 50 data nilai 2.

Jaringan Syaraf Tiruan Backpropagation

Kita tahu bahwa unt menentukan Nilai Akhir nya adl tidak dg semudah mencari rata – rata nilainya, melainkan setiap nilai punya bobot sendiri – sendiri. Inti dari program ini adl memprediksi bobot dg menggunakan algoritma pelatihan (Data Nilai 1 dilatih, sehingga ditemukan pola bobot tertentu pd setiap X1-X5), menghitung output sesuai dg bobot, sampai didapatkan output yg paling mendekati dg Nilai Akhir yg sebenarnya (dengan kata lain adl menghitung bobot yg paling benar/ mendekati unt setiap 5 nilai ujian).
algoritma & ide penyelesaian

Metode Komputasi JST yg akan dipakai dalam program unt memprediksi nilai ujian mahasiswa ini adl algoritma pelatihan BackPropagation. Pelatihan BackPropagation didasarkan pd satu hubungan sederhana: “Jika output memberikan hasil yg salah, maka weight dikoreksi agar galatnya dpt diperkecil & respon jaringan selanjutnya diharapkan akan lebih mendekati nilai yg benar.”
Metode Back Propagation ini termasuk metode pelatihan supervised/ terbimbing & didesain unt operasi pd jaringan feed forward multi layer.

Tahapan Pelatihan BackPropagation :

  1. Jaringan diberi pola input sbg training.
  2. Pola tsb akan menuju ke unit – unit pd hidden layer (lapisan tersembunyi) unt diteruskan ke unit – unit lapisan output.
  3. Kemudian unit – unit lapisan output memberikan tanggapan yg disebut dg Output Jaringan.
  4. Saat output jaringan tidak sama dg output yg diharapkan (target / desired output), maka output akan menyebar mundur (backward) pd hidden layer & diteruskan ke unit pd lapisan input.
Pada awalnya program dibuat dg menggunakan 2 hidden layer dg masing – masing 1 buah unit (node), tapi ternyata masih terdapat kekurangan. Yaitu jika unt memprediksi nilai dg nilai tinggi (diatas 60-an), maka terdapat selisih jauh diantara Y asli & Y prediksi. Kesalahan (menurut saya) adl pd rumus error gradien unt kedua hidden layer. Tetapi sayangnya sampai deadline program saya belum bisa membenarkannya 

Akhirnya program yg dibuat akan menggunakan 1 layer hidden dg masing – masing 3 unit/node (agar tidak terlalu ruwet dalam source code programnya ). Untuk ilustrasi layer & keterangannya bisa dilihat pd gambar dibawah ini.


Keterangan:


X1-Xb (Z1-Z5) : unit masukan/ input
Zb (Z bias) : selalu 0
Z6-Z8 : unit pd hidden layer
Z9 : unit output

Bobot dari input ke unit Z6 (hidden) adl W1, W2, W3, W4, W5, & Wb
Bobot dari input ke unit Z7 (hidden) adl W6, W7, W8, W9, W10, & Wb2
Bobot dari input ke unit Z8 (hidden) adl W11, W12, W13, W14, W15, & Wb3
Bobot dari unit hidden layer ke unit output adl W16, W17, W18
Bobot dari unit input Xb (bias) ke unit output adl Wb4

Untuk algoritma backpropagation, kalian bisa mencarinya sendiri di google. ada berjuta-juta kok. oke?
ini adl data test nya:


2
3
4
0.5
4
5.747781 -6.045236 1.206744 -41.245163 -0.249886 -0.35452 0.0718 

-8.446443 9.25553 -6.50087 7.357942 7.777944 1.238442 

15.957281 0.452741 -8.19198 9.140881 29.124746 9.806898 5.859479 -5.09182 -3.475694 -4.896269 6.320669 0.213897 

1 1 
1 0 
0 1 
0 0 

1 1 0 1 
0 1 1 0 
0 1 1 1 
0 0 0 1 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! penjelasan datafile. Dapat dihapus. Tidak perlu unt jaringan unt bekerja !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2    (number of input units)
3    (number of hidden units)
4    (number of output units)
0.5  (learning rate)
4    (number of input and target output patterns)     (has to correspond to the amount of patterns at the end of the datafile)
5.747781 -6.045236 1.206744 -41.245163 -0.249886 -0.35452 0.0718   (biases of hidden and output units, first three are biases of the hidden units, last four are biases of the output units)

-8.446443 9.25553 -6.50087 7.357942 7.777944 1.238442 (values of weights from input to hidden units)

15.957281 0.452741 -8.19198 9.140881 29.124746 9.806898 5.859479 -5.09182 -3.475694 -4.896269 6.320669 0.213897 (values of weights from hidden to output units)

1 1 (input pattern #1)
1 0 (input pattern #2)
0 1 (input pattern #3)
0 0 (input pattern #4)

1 1 0 1 (target output pattern #1)
0 1 1 0 (target output pattern #2)
0 1 1 1 (target output pattern #3) 
0 0 0 1 (target output pattern #4) 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! akhir penjelasan datafile. 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dan ini source code nya..

SOURCE CODE C++



// Backpropagation, 25x25x8 unit, sigmoid biner fungsi jaringan 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

double **input,
 *hidden,
 **output,
 **target,
 *bias,
 **weight_i_h,
 **weight_h_o,
 *errorsignal_hidden,
 *errorsignal_output;

int input_array_size,
 hidden_array_size,
 output_array_size,
 max_patterns,
 bias_array_size,
 gaset = -2500,
 number_of_input_patterns,
 pattern,
 file_loaded = 0,
 ytemp = 0,
 ztemp = 0;
double learning_rate,
 max_error_tollerance = 0.1;

char filename[128];

#define IA   16807
#define IM   2147483647
#define AM   (1.0 / IM)
#define IQ   127773
#define IR   2836
#define NTAB 32
#define NDIV (1+(IM-1) / NTAB)
#define EPS  1.2e-7
#define RNMX (1.0 - EPS)

int compare_output_to_target();
void load_data(char *arg);
void save_data(char *argres);
void forward_pass(int pattern);
void backward_pass(int pattern);
void custom();
void compute_output_pattern();
void get_file_name();
float bedlam(long *idum);
void learn();
void make();
void test();
void print_data();
void print_data_to_screen();
void print_data_to_file();
void output_to_screen();
int getnumber();
void change_learning_rate();
void initialize_net();
void clear_memory();

main()
{
 cout << "Jaringan Syaraf Tiruan Backpropagation by project graduate " << endl;
 for(;;) {
  char choice;
  cout << endl << "1. Ambil data" << endl;
  cout << "2. belajar dari data" << endl;
  cout << "3. menghitung pola keluaran" << endl;
  cout << "4. membuat file data baru" << endl;
  cout << "5. simpan data" << endl;
  cout << "6. cetak data" << endl;
  cout << "7. mengubah tingkat belajar" << endl;
  cout << "8. keluar" << endl << endl;
  cout << "Masukkan pilihan Anda (1-8)";
  do { choice = getch(); } while (choice != '1' && choice != '2' && choice != '3' && choice != '4' && choice != '5' && choice != '6' && choice != '7' && choice != '8');
  switch(choice) {
   case '1':
   {
    if (file_loaded == 1) clear_memory();
    get_file_name();
    file_loaded = 1;
    load_data(filename);
   }
   break;
   case '2': learn();
   break;
   case '3': compute_output_pattern();
   break;
   case '4': make();
   break;
   case '5':
   {
    if (file_loaded == 0)
    {
     cout << endl
       << "tidak ada data dimuat ke memori"
       << endl;
       break;
    }
    cout << endl << "masukkan nama file unt menyimpan data ke: ";
    cin >> filename;
    save_data(filename);
   }
   break;
   case '6': print_data();
   break;
   case '7': change_learning_rate();
   break;
   case '8': return 0;
  };
 }
}

void initialize_net()
{
 int x;
 input = new double * [number_of_input_patterns];
 if(!input) { cout << endl << "memory problem!"; exit(1); }
 for(x=0; x




Jaringan Syaraf Tiruan Backpropagation

Jaringan Syaraf Tiruan Backpropagation C++ @ Dari soal, kita diberi daftar nilai 50 orang mahasiswa, dg nilai tsb merupakan nilai ujian, tugas, kuis, dll. Ada 5 jenis nilai (X1-X5), & dg menggunakan rumus tertentu akan diperoleh nilai akhir unt mata kuliah tersebut. Program yg akan dibuat berfungsi unt memprediksi nilai suatu mahasiswa apabila diketahui 5 nilai ujiannya, dg ketentuan sbg berikut :
  1. Untuk melatih program dipakai 50 data nilai 1.
  2. Untuk melakukan uji prediksi, dipakai 50 data nilai 2.

Jaringan Syaraf Tiruan Backpropagation

Kita tahu bahwa unt menentukan Nilai Akhir nya adl tidak dg semudah mencari rata – rata nilainya, melainkan setiap nilai punya bobot sendiri – sendiri. Inti dari program ini adl memprediksi bobot dg menggunakan algoritma pelatihan (Data Nilai 1 dilatih, sehingga ditemukan pola bobot tertentu pd setiap X1-X5), menghitung output sesuai dg bobot, sampai didapatkan output yg paling mendekati dg Nilai Akhir yg sebenarnya (dengan kata lain adl menghitung bobot yg paling benar/ mendekati unt setiap 5 nilai ujian).
algoritma & ide penyelesaian

Metode Komputasi JST yg akan dipakai dalam program unt memprediksi nilai ujian mahasiswa ini adl algoritma pelatihan BackPropagation. Pelatihan BackPropagation didasarkan pd satu hubungan sederhana: “Jika output memberikan hasil yg salah, maka weight dikoreksi agar galatnya dpt diperkecil & respon jaringan selanjutnya diharapkan akan lebih mendekati nilai yg benar.”
Metode Back Propagation ini termasuk metode pelatihan supervised/ terbimbing & didesain unt operasi pd jaringan feed forward multi layer.

Tahapan Pelatihan BackPropagation :

  1. Jaringan diberi pola input sbg training.
  2. Pola tsb akan menuju ke unit – unit pd hidden layer (lapisan tersembunyi) unt diteruskan ke unit – unit lapisan output.
  3. Kemudian unit – unit lapisan output memberikan tanggapan yg disebut dg Output Jaringan.
  4. Saat output jaringan tidak sama dg output yg diharapkan (target / desired output), maka output akan menyebar mundur (backward) pd hidden layer & diteruskan ke unit pd lapisan input.
Pada awalnya program dibuat dg menggunakan 2 hidden layer dg masing – masing 1 buah unit (node), tapi ternyata masih terdapat kekurangan. Yaitu jika unt memprediksi nilai dg nilai tinggi (diatas 60-an), maka terdapat selisih jauh diantara Y asli & Y prediksi. Kesalahan (menurut saya) adl pd rumus error gradien unt kedua hidden layer. Tetapi sayangnya sampai deadline program saya belum bisa membenarkannya 

Akhirnya program yg dibuat akan menggunakan 1 layer hidden dg masing – masing 3 unit/node (agar tidak terlalu ruwet dalam source code programnya ). Untuk ilustrasi layer & keterangannya bisa dilihat pd gambar dibawah ini.


Keterangan:


X1-Xb (Z1-Z5) : unit masukan/ input
Zb (Z bias) : selalu 0
Z6-Z8 : unit pd hidden layer
Z9 : unit output

Bobot dari input ke unit Z6 (hidden) adl W1, W2, W3, W4, W5, & Wb
Bobot dari input ke unit Z7 (hidden) adl W6, W7, W8, W9, W10, & Wb2
Bobot dari input ke unit Z8 (hidden) adl W11, W12, W13, W14, W15, & Wb3
Bobot dari unit hidden layer ke unit output adl W16, W17, W18
Bobot dari unit input Xb (bias) ke unit output adl Wb4

Untuk algoritma backpropagation, kalian bisa mencarinya sendiri di google. ada berjuta-juta kok. oke?
ini adl data test nya:


2
3
4
0.5
4
5.747781 -6.045236 1.206744 -41.245163 -0.249886 -0.35452 0.0718 

-8.446443 9.25553 -6.50087 7.357942 7.777944 1.238442 

15.957281 0.452741 -8.19198 9.140881 29.124746 9.806898 5.859479 -5.09182 -3.475694 -4.896269 6.320669 0.213897 

1 1 
1 0 
0 1 
0 0 

1 1 0 1 
0 1 1 0 
0 1 1 1 
0 0 0 1 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! penjelasan datafile. Dapat dihapus. Tidak perlu unt jaringan unt bekerja !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2    (number of input units)
3    (number of hidden units)
4    (number of output units)
0.5  (learning rate)
4    (number of input and target output patterns)     (has to correspond to the amount of patterns at the end of the datafile)
5.747781 -6.045236 1.206744 -41.245163 -0.249886 -0.35452 0.0718   (biases of hidden and output units, first three are biases of the hidden units, last four are biases of the output units)

-8.446443 9.25553 -6.50087 7.357942 7.777944 1.238442 (values of weights from input to hidden units)

15.957281 0.452741 -8.19198 9.140881 29.124746 9.806898 5.859479 -5.09182 -3.475694 -4.896269 6.320669 0.213897 (values of weights from hidden to output units)

1 1 (input pattern #1)
1 0 (input pattern #2)
0 1 (input pattern #3)
0 0 (input pattern #4)

1 1 0 1 (target output pattern #1)
0 1 1 0 (target output pattern #2)
0 1 1 1 (target output pattern #3) 
0 0 0 1 (target output pattern #4) 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! akhir penjelasan datafile. 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dan ini source code nya..

SOURCE CODE C++



// Backpropagation, 25x25x8 unit, sigmoid biner fungsi jaringan 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

double **input,
 *hidden,
 **output,
 **target,
 *bias,
 **weight_i_h,
 **weight_h_o,
 *errorsignal_hidden,
 *errorsignal_output;

int input_array_size,
 hidden_array_size,
 output_array_size,
 max_patterns,
 bias_array_size,
 gaset = -2500,
 number_of_input_patterns,
 pattern,
 file_loaded = 0,
 ytemp = 0,
 ztemp = 0;
double learning_rate,
 max_error_tollerance = 0.1;

char filename[128];

#define IA   16807
#define IM   2147483647
#define AM   (1.0 / IM)
#define IQ   127773
#define IR   2836
#define NTAB 32
#define NDIV (1+(IM-1) / NTAB)
#define EPS  1.2e-7
#define RNMX (1.0 - EPS)

int compare_output_to_target();
void load_data(char *arg);
void save_data(char *argres);
void forward_pass(int pattern);
void backward_pass(int pattern);
void custom();
void compute_output_pattern();
void get_file_name();
float bedlam(long *idum);
void learn();
void make();
void test();
void print_data();
void print_data_to_screen();
void print_data_to_file();
void output_to_screen();
int getnumber();
void change_learning_rate();
void initialize_net();
void clear_memory();

main()
{
 cout << "Jaringan Syaraf Tiruan Backpropagation by project graduate " << endl;
 for(;;) {
  char choice;
  cout << endl << "1. Ambil data" << endl;
  cout << "2. belajar dari data" << endl;
  cout << "3. menghitung pola keluaran" << endl;
  cout << "4. membuat file data baru" << endl;
  cout << "5. simpan data" << endl;
  cout << "6. cetak data" << endl;
  cout << "7. mengubah tingkat belajar" << endl;
  cout << "8. keluar" << endl << endl;
  cout << "Masukkan pilihan Anda (1-8)";
  do { choice = getch(); } while (choice != '1' && choice != '2' && choice != '3' && choice != '4' && choice != '5' && choice != '6' && choice != '7' && choice != '8');
  switch(choice) {
   case '1':
   {
    if (file_loaded == 1) clear_memory();
    get_file_name();
    file_loaded = 1;
    load_data(filename);
   }
   break;
   case '2': learn();
   break;
   case '3': compute_output_pattern();
   break;
   case '4': make();
   break;
   case '5':
   {
    if (file_loaded == 0)
    {
     cout << endl
       << "tidak ada data dimuat ke memori"
       << endl;
       break;
    }
    cout << endl << "masukkan nama file unt menyimpan data ke: ";
    cin >> filename;
    save_data(filename);
   }
   break;
   case '6': print_data();
   break;
   case '7': change_learning_rate();
   break;
   case '8': return 0;
  };
 }
}

void initialize_net()
{
 int x;
 input = new double * [number_of_input_patterns];
 if(!input) { cout << endl << "memory problem!"; exit(1); }
 for(x=0; x



Contoh Program Jaringan Syaraf Tiruan Backpropagation C++

Source Code Jaringan Syaraf Tiruan Backpropagation C++

Source Code Tutorial belajar Gratis download Flow Chart PDF ZIP RAR DOC Java C# Visual Basic VB PHP Matlab C++ Penerapan implementasi metode algoritma pemrograman

Tutorial belajar Jaringan Syaraf Tiruan Backpropagation C++

VB PHP Matlab C++ Penerapan implementasi metode algoritma pemrograman Source Code Tutorial belajar Gratis download Flow Chart PDF ZIP RAR DOC Java C# Visual Basic

Gratis download Jaringan Syaraf Tiruan Backpropagation C++

Chart PDF ZIP RAR DOC Java C# Visual Basic VB PHP Matlab C++ Penerapan implementasi metode algoritma pemrograman Source Code Tutorial belajar Gratis download Flow

Penerapan implementasi Jaringan Syaraf Tiruan Backpropagation C++ Jaringan Syaraf Tiruan Backpropagation C++

Posted by: Project-G Contoh Program Jaringan Syaraf Tiruan Backpropagation C++ Updated at : 07.15
Jika Anda perlu source code terkait dengan artikel di atas atau ada yang ingin di tanyakan anda bisa melakukan konsultasi gratis kepada kami, melalui form di bawah. Hasil konsultasi akan di kirimkan ke email Anda. Kami mohon supportnya dengan mengklik beberapa tombol berikut :


Contoh Program Jaringan Syaraf Tiruan Backpropagation C++

perhatian

Informasi Penting Untuk Mahasiswa !

Kami menawarkan layanan jasa konsultan bimbingan pembuatan program untuk Tesis Skripsi dan Tugas Akhir Informatika, Komputer, Elektro dan Teknik lainnya yang bidang minatnya mengarah ke teknologi informasi. BASED PROJECT :Mobile Development (Java, Adobe, AS3, Android, BB, iOS, WPhone dll), Web & Desktop Development (.Net, C#, MATLAB, PHP, Delphi, Visual Basic dll). BONUS : Di bimbing untuk penguasaan materi dan coding dan revisi.
detail
Label: , , , , ,
Konsultasi gratis