Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.80 KB | None | 0 0
  1. #include <fmx.h>
  2.  
  3. #pragma hdrstop
  4. #pragma argsused
  5.  
  6. #ifdef _WIN32
  7. #include <tchar.h>
  8. #else
  9.   typedef char _TCHAR;
  10.   #define _tmain main
  11. #endif
  12.  
  13. #include <stdio.h>
  14.  
  15. using std::cin;
  16.  
  17. const int nn=9;
  18. double training_set_inputs[nn][3], training_set_outputs[nn], trainingoutcalc[nn], DOToutput[nn], synaadjust[3], syna[3], new_situation[3], DOToutput5;
  19. int i=0, jet=0;
  20.  
  21. int _tmain(int argc, _TCHAR* argv[])
  22. {
  23.     syna[0]=0.01; syna[1]=0.01; syna[2]=0.01;
  24.     synaadjust[0]=0.001;synaadjust[1]=0.001; synaadjust[2]=0.001;
  25.  
  26.     training_set_inputs[0][0]=0.5;training_set_inputs[0][1]=0.34;training_set_inputs[0][2]=0.1;training_set_outputs[0]=0.5;
  27.     training_set_inputs[1][0]=0.24;training_set_inputs[1][1]=0.84;training_set_inputs[1][2]=0.55;training_set_outputs[1]=0.24;
  28.     training_set_inputs[2][0]=0.79;training_set_inputs[2][1]=0.12;training_set_inputs[2][2]=0.41;training_set_outputs[2]=0.79;
  29.     training_set_inputs[3][0]=0.56;training_set_inputs[3][1]=0.15;training_set_inputs[3][2]=0.11;training_set_outputs[3]=0.56;
  30.     training_set_inputs[4][0]=0.33;training_set_inputs[4][1]=0.21;training_set_inputs[4][2]=0.22;training_set_outputs[4]=0.33;
  31.     training_set_inputs[5][0]=0.66;training_set_inputs[5][1]=0.16;training_set_inputs[5][2]=0.89;training_set_outputs[5]=0.66;
  32.     training_set_inputs[6][0]=0.45;training_set_inputs[3][1]=0.25;training_set_inputs[3][2]=0.51;training_set_outputs[3]=0.45;
  33.     training_set_inputs[7][0]=0.46;training_set_inputs[4][1]=0.31;training_set_inputs[4][2]=0.62;training_set_outputs[4]=0.46;
  34.     training_set_inputs[8][0]=0.68;training_set_inputs[5][1]=0.46;training_set_inputs[5][2]=0.79;training_set_outputs[5]=0.68;
  35.     new_situation[0]         =0.67;new_situation[1]         =0.15;new_situation[2]         =0.71;
  36.  
  37.  
  38.     for( i = 1; i <= 15000; i++ ){
  39.  
  40.         for( jet = 0; jet <= 5; jet++ ){
  41.                 trainingoutcalc[jet] = training_set_outputs[jet];
  42.         }
  43.  
  44.         for( jet = 0; jet <= 5; jet++ ){
  45.                 DOToutput[jet] = 1 / (1 + exp(-(training_set_inputs[jet][0]*syna[0]+training_set_inputs[jet][1]*syna[1]+training_set_inputs[jet][2]*syna[2])));
  46.  
  47.                 trainingoutcalc[jet] = (trainingoutcalc[jet] - DOToutput[jet]) * DOToutput[jet] * (1 - DOToutput[jet]);
  48.  
  49.                 synaadjust[0] = synaadjust[0] + training_set_inputs[jet][0]*trainingoutcalc[jet];
  50.                 synaadjust[1] = synaadjust[1] + training_set_inputs[jet][1]*trainingoutcalc[jet];
  51.                 synaadjust[2] = synaadjust[2] + training_set_inputs[jet][2]*trainingoutcalc[jet];
  52.  
  53.         }
  54.  
  55.  
  56.         syna[0]=syna[0]+synaadjust[0];
  57.         syna[1]=syna[1]+synaadjust[1];
  58.         syna[2]=syna[2]+synaadjust[2];
  59.  
  60.         DOToutput5   = 1 / (1 + exp(-( new_situation[0]*syna[0]+new_situation[1]*syna[1]+new_situation[2]*syna[2] )));
  61.         printf("Outcome %lf\n", DOToutput5);
  62.         printf("extra test data syna[0] %lf syna[1] %lf syna[2] %lf %d\n", syna[0], syna[1], syna[2],i);
  63.  
  64.     }
  65.  
  66.  
  67.  
  68.  
  69.     cin.get();
  70.  
  71.  
  72.         return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement