public void Train(BasicNetwork network, IMLDataSet training)
{
IMLTrain trainMain = new LevenbergMarquardtTraining(network, training);
// train the neural network
var stop = new StopTrainingStrategy();
ICalculateScore score = new TrainingSetScore(trainMain.Training);
IMLTrain trainAlt = new NeuralSimulatedAnnealing(network, score, 10, 2, 100);
trainMain.AddStrategy(new HybridStrategy(trainAlt));
trainMain.AddStrategy(stop);
int epoch = 0;
while (!stop.ShouldStop() && trainMain.IterationNumber < 1500)
{
trainMain.Iteration();
Console.WriteLine("Training " + ", Epoch #" + epoch + " Error:" + trainMain.Error);
epoch++;
}
}