Iteration() public final method

Perform one training iteration.
public final Iteration ( ) : void
return void
示例#1
0
        public override void TrainNetwork()
        {
            IMLTrain train = new SVMSearchTrain(Svm, TrainingSet);

            var iteration = 1;

            var errors = new List<double[]>();

            do
            {
                train.Iteration();

                errors.Add(new[] { -1, iteration, train.Error });

                Console.WriteLine(@"Iteration #" + iteration++ + @" Training error:" + train.Error);

            } while ((iteration < Parameters.IterationsCount) && (train.Error > Parameters.AcceptedError));

            train.FinishTraining();

            ErrorSet = errors.ToArray();
        }
            public static SupportVectorMachine SVMSearch(SupportVectorMachine anetwork, IMLDataSet training)
            {
                SVMSearchTrain bestsearch = new SVMSearchTrain(anetwork, training);
                StopTrainingStrategy stop = new StopTrainingStrategy(0.00000000001, 1);
                bestsearch.AddStrategy(stop);
                while (bestsearch.IterationNumber < 30 && !stop.ShouldStop())
                {
                bestsearch.Iteration();
                Console.WriteLine("Iteration #" + bestsearch.IterationNumber + " Error :" + bestsearch.Error);
                }

                bestsearch.FinishTraining();

                   return anetwork;
            }
示例#3
0
        public void Execute(IExampleInterface app)
        {
            // create a neural network, without using a factory
            var svm = new SupportVectorMachine(1,true); // 1 input, & true for regression

            // create training data
            IMLDataSet trainingSet = new BasicMLDataSet(RegressionInput, RegressionIdeal);

            // train the SVM
            IMLTrain train = new SVMSearchTrain(svm, trainingSet);

            int epoch = 1;

            do
            {
                train.Iteration();
                Console.WriteLine(@"Epoch #" + epoch + @" Error:" + train.Error);
                epoch++;
            } while (train.Error > 0.01);

            // test the SVM
            Console.WriteLine(@"SVM Results:");
            foreach (IMLDataPair pair in trainingSet)
            {
                IMLData output = svm.Compute(pair.Input);
                Console.WriteLine(pair.Input[0]
                                  + @", actual=" + output[0] + @",ideal=" + pair.Ideal[0]);
            }
        }