Esempio n. 1
0
  public static double get1FitnessFromTestSet(
      double[] inputs, int classification, StrokeNetwork network, int featureToClassify) {
    double output = FullyConnectedNNBuilder.getOutput(inputs, network);

    if (classification == featureToClassify) {
      /*
      }
      if (classification == 0 || classification == 1 || classification == 3 || classification == 7 || classification == 8 || classification == 9
      		|| classification == 10 || classification == 11 || classification == 19 || classification == 20 || classification == 21
      		|| classification == 22 || classification == 23) {
      	*/
      /*
      if (output > 0) {
      	return 1.0;
      } else {
      	return -1.0;
      }*/
      return output;
    } else {
      /*
      if (output < 0) {
      	return 1.0;
      } else {
      	return -1.0;
      }
      */
      return -1 * output;
    }
  }
Esempio n. 2
0
  // return difference between output of desired classification, and output of highest
  // classification (not desired).
  public static double get1Fitness(
      double[] inputs,
      int classification,
      StrokeNetwork network,
      int featureToClassify,
      int num_possible) {
    double output = FullyConnectedNNBuilder.getOutput(inputs, network);

    if (classification == featureToClassify) {
      /*if (classification == 0 || classification == 1 || classification == 3 || classification == 7 || classification == 8 || classification == 9
      || classification == 10 || classification == 11 || classification == 19 || classification == 20 || classification == 21
      || classification == 22 || classification == 23) {
      */
      // System.out.println(output);
      return output;

    } else {

      // return -0.0416666667*output;
      // return -1.08333333333*output;
      // System.out.println(-1.0*(1.0/(num_possible-1.0))*output);

      return -1.0 * (1.0 / (num_possible - 1.0)) * output;
    }
  }