From 32b5542734c10857b32077fd1642facdec4cb99b Mon Sep 17 00:00:00 2001 From: Jos Date: Tue, 2 Jun 2015 13:26:23 +0200 Subject: Neural network training picks random training cases instead of doing an iteration over all cases. --- app/src/main/java/org/rssin/neurons/FeedSorter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/org/rssin/neurons/FeedSorter.java b/app/src/main/java/org/rssin/neurons/FeedSorter.java index 3d420a6..6cb369a 100755 --- a/app/src/main/java/org/rssin/neurons/FeedSorter.java +++ b/app/src/main/java/org/rssin/neurons/FeedSorter.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.Hashtable; import java.util.List; +import java.util.Random; import java.util.TimeZone; /** @@ -163,7 +164,9 @@ public class FeedSorter implements Storable { * Runs an iteration of training, using feedback that was provided previously using FeedSorter.feedback(...). */ public void train() { - for (TrainingCase t : trainingCases) { + Random random = new Random(); + for (int i = 0; i < trainingCases.size(); i++) { + TrainingCase t = trainingCases.get(random.nextInt(trainingCases.size())); double[] inputs = t.getInputs(); if (inputs.length < nn.getInputCount()) { // Resize array to fit new input size -- cgit v1.2.3