public void TestManhattan() { IMLDataSet trainingData = new BasicMLDataSet(XOR.XORInput, XOR.XORIdeal); BasicNetwork network = NetworkUtil.CreateXORNetworkUntrained(); IMLTrain bprop = new ManhattanPropagation(network, trainingData, 0.01); NetworkUtil.TestTraining(bprop, 0.01); }
private void Train(BasicNetwork network, IMLDataSet trainingSet) { if (mTrainingMethod == TrainingMethod.ResilientPropagation) { ITrain train = new ResilientPropagation(network, trainingSet); int epoch = 1; do { train.Iteration(); epoch++; } while (train.Error > mMaxError && epoch < mMaxEpoch); } else if (mTrainingMethod == TrainingMethod.LevenbergMarquardt) { LevenbergMarquardtTraining train = new LevenbergMarquardtTraining(network, trainingSet); int epoch = 1; do { train.Iteration(); epoch++; } while (train.Error > mMaxError && epoch < mMaxEpoch); } else if (mTrainingMethod == TrainingMethod.Backpropagation) { Backpropagation train = new Backpropagation(network, trainingSet); int epoch = 1; do { train.Iteration(); epoch++; } while (train.Error > mMaxError && epoch < mMaxEpoch); } else if (mTrainingMethod == TrainingMethod.ManhattanPropagation) { ManhattanPropagation train = new ManhattanPropagation(network, trainingSet, 0.9); int epoch = 1; do { train.Iteration(); epoch++; } while (train.Error > mMaxError && epoch < mMaxEpoch); } }