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; }
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]); } }