public void Train() { TrainingErrorData.Clear(); TestingIdealData.Clear(); TestingResultsData.Clear(); _network = ConstructNetwork(TrainingSet.InputSize,TrainingSet.IdealSize); //var trainer = new Backpropagation(_network, TrainingSet, LearningRate, Momentum); var trainer = new ResilientPropagation(_network, TrainingSet); double[] resultsArray = new double[TrainingSet.Count]; double[] errorArray = new double[NumberOfIterations]; IsBusy = true; for (int iteration = 0; iteration < numberOfIterations; iteration++) { trainer.Iteration(); TrainingErrorData.Add(new Tuple<int,double>(iteration, trainer.Error)); } IsBusy = false; for(int i = 0; i < TrainingSet.Count; i++) { resultsArray[i] = _network.Classify(TrainingSet[i].Input); } TrainingErrorValue = _network.CalculateError(TrainingSet); Stage = Stage.Trained; }