Exemplo n.º 1
0
 public WeightChangeBackPropagator(IWeightChangeApplier weightChangeApplier, IEnumerable <IEnumerable <ITraversableUnitReadOnly <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> > > layeredUnits, double learningRate, double momentum = 0d)
 {
     _momentum            = momentum;
     _layeredConnections  = layeredUnits.Skip(1).SelectMany(u => u).Select(u => u.IncomingConnections);
     _calculator          = new WeightChangeCalculator(learningRate);
     _weightChangeApplier = weightChangeApplier;
 }
 protected ErrorBackPropagationStepsBase(IWeightSetter weightSetter, IWeightChangeApplier weightChangeApplier, IPerceptronUnderTraining perceptronUnderTraining, double learningRate, double momentum)
 {
     CheckLearningRate(learningRate);
     Perceptron                  = perceptronUnderTraining;
     _weightInitializer          = new WeightInitializer(Perceptron.Network, weightSetter: weightSetter);
     _errorValueBackPropagator   = new ErrorValueBackPropagator(Perceptron.Network);
     _weightChangeBackPropagator = new WeightChangeBackPropagator(weightChangeApplier, Perceptron.Network, learningRate, momentum);
 }