Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fmx.h>
- #pragma hdrstop
- #pragma argsused
- #ifdef _WIN32
- #include <tchar.h>
- #else
- typedef char _TCHAR;
- #define _tmain main
- #endif
- #include <stdio.h>
- using std::cin;
- const int nn=9;
- double training_set_inputs[nn][3], training_set_outputs[nn], trainingoutcalc[nn], DOToutput[nn], synaadjust[3], syna[3], new_situation[3], DOToutput5;
- int i=0, jet=0;
- int _tmain(int argc, _TCHAR* argv[])
- {
- syna[0]=0.01; syna[1]=0.01; syna[2]=0.01;
- synaadjust[0]=0.001;synaadjust[1]=0.001; synaadjust[2]=0.001;
- 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;
- 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;
- 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;
- 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;
- 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;
- 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;
- 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;
- 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;
- 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;
- new_situation[0] =0.67;new_situation[1] =0.15;new_situation[2] =0.71;
- for( i = 1; i <= 15000; i++ ){
- for( jet = 0; jet <= 5; jet++ ){
- trainingoutcalc[jet] = training_set_outputs[jet];
- }
- for( jet = 0; jet <= 5; jet++ ){
- 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])));
- trainingoutcalc[jet] = (trainingoutcalc[jet] - DOToutput[jet]) * DOToutput[jet] * (1 - DOToutput[jet]);
- synaadjust[0] = synaadjust[0] + training_set_inputs[jet][0]*trainingoutcalc[jet];
- synaadjust[1] = synaadjust[1] + training_set_inputs[jet][1]*trainingoutcalc[jet];
- synaadjust[2] = synaadjust[2] + training_set_inputs[jet][2]*trainingoutcalc[jet];
- }
- syna[0]=syna[0]+synaadjust[0];
- syna[1]=syna[1]+synaadjust[1];
- syna[2]=syna[2]+synaadjust[2];
- DOToutput5 = 1 / (1 + exp(-( new_situation[0]*syna[0]+new_situation[1]*syna[1]+new_situation[2]*syna[2] )));
- printf("Outcome %lf\n", DOToutput5);
- printf("extra test data syna[0] %lf syna[1] %lf syna[2] %lf %d\n", syna[0], syna[1], syna[2],i);
- }
- cin.get();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement