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) { this.app = app; var temp = new TemporalXOR(); IMLDataSet trainingSet = temp.Generate(100); var elmanNetwork = (BasicNetwork) CreateElmanNetwork(); var feedforwardNetwork = (BasicNetwork) CreateFeedforwardNetwork(); double elmanError = TrainNetwork("Elman", elmanNetwork, trainingSet); double feedforwardError = TrainNetwork("Feedforward", feedforwardNetwork, trainingSet); 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."); }
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(); }