Exemplo n.º 1
0
/* ------------------------------------ */
void test_gaussian_noise_computation(void)
/* ------------------------------------ */
{
    int i;
    int n = 10000;
    float32 x, sx, sxx;

    sx = 0.0f; sxx = 0.0f;
    for(i=0; i<n; i++) {
        x = gaussian_noise(0, 10);
        //printf("%10.4f\n", x);
        sx += x;
        sxx += x*x;
    }
    printf("average = %10.4f sigma = %10.4f\n", sx/n, calc_sigma(n, sx, sxx));

    sx = 0.0f; sxx = 0.0f;
    for(i=0; i<n; i++) {
        x = gaussian_noise(0, 20);
        //printf("%10.4f\n", x);
        sx += x;
        sxx += x*x;
    }
    printf("average = %10.4f sigma = %10.4f\n", sx/n, calc_sigma(n, sx, sxx));
}
Exemplo n.º 2
0
// ---------------------------------------
void test_gaussian_noise_computation(void)
// ---------------------------------------
{
    // pour valider que le generateur aleatoire a bien
    // les bons parametres statistiques ...
    
    int i;
    int n = 1000000;
    float32 x, sx, sxx;
    
    puts("-------------------------------------");
    puts("-- test_gaussian_noise_computation --");
    puts("-------------------------------------");
    
    sx = 0.0f; sxx = 0.0f;
    for(i = 0; i < n; i++) {
        x = gaussian_noise(0, 10);
        //printf("%10.4f\n", x);
        sx += x;
        sxx += x*x;
    }
    printf("average = %10.3f sigma = %10.3f\n", sx/n, calc_sigma(n, sx, sxx));
    
    sx = 0.0f; sxx = 0.0f;
    for(i = 0; i < n; i++) {
        x = gaussian_noise(0, 20);
        //printf("%10.4f\n", x);
        sx += x;
        sxx += x*x;
    }
    printf("average = %10.3f sigma = %10.3f\n", sx/n, calc_sigma(n, sx, sxx));
}
Exemplo n.º 3
0
void back_propagation(){
    int i,j,k;
    for(i = LAYER_SIZE - 2; i > 0; i--){
      for(j = 0; j < UNIT_SIZE; j++){
       unit[i][j].sigma = calc_sigma(unit[i][j], j);
      }
    }

    for(i = 1; i < LAYER_SIZE; i++){
      for(j = 0; j < UNIT_SIZE; j++){
        for(k = 0; k < UNIT_SIZE; k++){
             double diff = unit[i][j].sigma * unit[i][j].input_unit[k].value; 
             unit[i][j].input_weight[k] = unit[i][j].input_weight[k] - LEARNING_PARAM * diff;
        }
      }
    }
     
}