Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Neuron
- {
- float[] weights = new float[2];
- float error;
- double LearningRate;
- Neuron()
- {
- for(int i = 0; i < weights.length; i++)
- weights[i] = random(-1, 1);
- LearningRate = 0.01;
- }
- float guess(int[] inputs)
- {
- float sum = 1;
- for(int i = 0; i < weights.length; i++)
- sum += weights[i]*inputs[i];
- return sum;
- }
- void trynewlr()
- {
- LearningRate = pow(10, floor(random(10))*-1);
- for(int i = 0; i < weights.length; i++)
- weights[i] = random(-1, 1);
- }
- void learn(int[] inputs, int target)
- {
- float guess = guess(inputs);
- if(guess == Float.NaN)
- {
- trynewlr();
- guess = guess(inputs);
- }
- error = target - guess;
- for(int i = 0; i < weights.length; i++)
- weights[i] += error * inputs[i]* LearningRate;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement