static void netTest() { Random rand = new Random(); LearningDataSet dataSet = new LearningDataSet(2, 1); for (int i = 0; i < 1000; i++) { double x = rand.NextDouble(); double y = rand.NextDouble(); if (rand.NextDouble() > .5) { x *= -1; } if (rand.NextDouble() > .5) { y *= -1; } double w = 1 / (1 + Math.Exp(-1 * (x * 1 + .25 * y))); double z = 1 / (1 + Math.Exp(-1 * (x * .5 + 0 * y))); double a = 1 / (1 + Math.Exp(-1 * (w - z))); double b = 1 / (1 + Math.Exp(-1 * (w + z))); double c = 1 / (1 + Math.Exp(-1 * (w))); double d = 1 / (1 + Math.Exp(-1 * (z))); dataSet.add(new TestInstance(new double[] { x, y }, new double[] { a, b, c, d })); } Console.WriteLine("Dataset loaded."); NeuralNet net = new NeuralNet(new int[] { 2, 2, 4 }); Console.WriteLine(net.NodeCount()); Console.WriteLine(net.EdgeCount()); BackPropagationRunner bp = new BackPropagationRunner(dataSet, net); bp.run(.5, 10000); }
public LearningDataSet readTextFile(String path) { LearningDataSet data = null; try { using (StreamReader sr = new StreamReader(path)) { String line = sr.ReadToEnd(); Console.WriteLine(line); } } catch (Exception e) { Console.WriteLine("Parser Error: \n" + e.StackTrace); } return(data); }
public BackPropagationRunner(LearningDataSet data, NeuralNet neuralNet) { this.data = data; this.neuralNet = neuralNet; }