Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. class Neuron
  2. {
  3. float[] weights = new float[2];
  4. float error;
  5. double LearningRate;
  6. Neuron()
  7. {
  8. for(int i = 0; i < weights.length; i++)
  9. weights[i] = random(-1, 1);
  10. LearningRate = 0.01;
  11. }
  12.  
  13. float guess(int[] inputs)
  14. {
  15. float sum = 1;
  16.  
  17. for(int i = 0; i < weights.length; i++)
  18. sum += weights[i]*inputs[i];
  19.  
  20. return sum;
  21. }
  22.  
  23. void trynewlr()
  24. {
  25. LearningRate = pow(10, floor(random(10))*-1);
  26. for(int i = 0; i < weights.length; i++)
  27. weights[i] = random(-1, 1);
  28. }
  29. void learn(int[] inputs, int target)
  30. {
  31. float guess = guess(inputs);
  32. if(guess == Float.NaN)
  33. {
  34. trynewlr();
  35. guess = guess(inputs);
  36. }
  37. error = target - guess;
  38. for(int i = 0; i < weights.length; i++)
  39. weights[i] += error * inputs[i]* LearningRate;
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement