Advertisement
Carcigenicate

NetTrainer

Jul 13th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 0.65 KB | None | 0 0
  1. public List<Double> trainNet(List<Double> input, List<Double> expectedOutput, GeneticAlgorithm<Double> ga, int gens) {
  2.  
  3.     ga.setFitnessFunction( genes -> {
  4.         assert output.sizeWithoutBias() == expectedOutput.size();
  5.         setWeights( genes.getSequence() );
  6.  
  7.         //"Fire" net
  8.         List<Double> output = update();
  9.  
  10.         int fitness = Integer.MAX_VALUE;
  11.         for (int i = 0; i < output.size(); i++) {
  12.             fitness -= 100 * Math.abs( output.get(i) - expectedOutput.get(i) );
  13.         }
  14.  
  15.         return fitness;
  16.     } );
  17.  
  18.     resetInput(input);
  19.  
  20.     ga.simNGens(gens);
  21.  
  22.     return output.getActivationsWithoutBias();
  23.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement