An on-line gradient descent trainer that radnomly splits the input trainingSet into a training and validation subsets. The trainier will keep selecting a random input/target pair from the training set and applying backpropagation until cross-entropy error on the validation set does not improve after MaxEpochsWithoutImprovement. The trainer will terminate after NumEpochs even if MaxEpochsWithoutImprovement condition has not been reached.
Inheritance: SimpleGradientTrainer
コード例 #1
0
ファイル: ValidateTests.cs プロジェクト: ikhramts/NNX
 public ValidateTests()
 {
     _trainer = new UntilDoneGradientTrainer
     {
         LearningRate = 0.1,
         NumEpochs = 100,
         ValidationSetFraction = 0.3,
         MaxEpochsWithoutImprovement = 10,
     };
 }
コード例 #2
0
ファイル: TrainTests.cs プロジェクト: ikhramts/NNX
        private static UntilDoneGradientTrainer GetTrainer()
        {
            var trainer = new UntilDoneGradientTrainer
            {
                LearningRate = 0.5,
                Momentum = 2,
                NumEpochs = 1,
                QuadraticRegularization = 0.1,
                ShouldInitializeWeights = false,
                MaxEpochsWithoutImprovement = 100,
                ValidationSetFraction = 0.5
            };

            return trainer;
        }
コード例 #3
0
 public void ShouldReturnValidationSetFraction()
 {
     var trainer = new UntilDoneGradientTrainer {ValidationSetFraction = 0.3};
     trainer.GetValidationSetFraction().Should().Be(0.3);
 }