Пример #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.");
        }
        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();
        }
Пример #3
0
        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.");
        }