Ejemplo n.º 1
0
        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.");
        }
Ejemplo n.º 2
0
        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();
        }