public void Execute(IExampleInterface app) { this.app = app; var temp = new TemporalXOR(); IMLDataSet trainingSet = temp.Generate(100); var jordanNetwork = (BasicNetwork)CreateJordanNetwork(); var feedforwardNetwork = (BasicNetwork)CreateFeedforwardNetwork(); double elmanError = TrainNetwork("Jordan", jordanNetwork, trainingSet); double feedforwardError = TrainNetwork("Feedforward", feedforwardNetwork, trainingSet); app.WriteLine("Best error rate with Jordan Network: " + elmanError); app.WriteLine("Best error rate with Feedforward Network: " + feedforwardError); app.WriteLine("Jordan will perform only marginally better than feedforward.\nThe more output neurons, the better performance a Jordan will give."); }
public void Execute(IExampleInterface app) { TemporalXOR temp = new TemporalXOR(); IMLDataSet trainingSet = temp.Generate(120); FreeformNetwork elmanNetwork = FreeformNetwork.CreateElman(1, 6, 1, new ActivationSigmoid()); FreeformNetwork feedforwardNetwork = FreeformNetwork.CreateFeedforward(1, 6, 0, 1, new ActivationSigmoid()); double feedforwardError = TrainNetwork("feedforward", feedforwardNetwork, trainingSet); double elmanError = TrainNetwork("elman", elmanNetwork, trainingSet); Console.WriteLine(@"Best error rate with Elman Network: " + elmanError); Console.WriteLine(@"Best error rate with Feedforward Network: " + feedforwardError); Console.WriteLine(@"Elman should be able to get into the 10% range,\nfeedforward should not go below 25%.\nThe recurrent Elment net can learn better in this case."); Console.WriteLine(@"If your results are not as good, try rerunning, or perhaps training longer."); EncogFramework.Instance.Shutdown(); }
public void Execute(IExampleInterface app) { this.app = app; var temp = new TemporalXOR(); IMLDataSet trainingSet = temp.Generate(100); if (app.Args.Length > 0) { trainingSet = temp.Generate(Convert.ToInt16(app.Args[0])); } var elmanNetwork = (BasicNetwork)CreateElmanNetwork(trainingSet.InputSize); var feedforwardNetwork = (BasicNetwork)CreateFeedforwardNetwork(trainingSet.InputSize); double elmanError = TrainNetwork("Elman", elmanNetwork, trainingSet, "Leven"); double feedforwardError = TrainNetwork("Feedforward", feedforwardNetwork, trainingSet, "Leven"); app.WriteLine("Best error rate with Elman Network: " + elmanError); app.WriteLine("Best error rate with Feedforward Network: " + feedforwardError); app.WriteLine("(Elman should outperform feed forward)"); app.WriteLine("If your results are not as good, try rerunning, or perhaps training longer."); }