public MlpNeuron(List<Connection> inputs, List<Connection> outputs, 
		                  FunctionType functionType, ITunableParameterService paramService)
        {
            Inputs = inputs;
            Outputs = outputs;
            _functionType = functionType;
            _sigmoidAlpha = paramService.SigmoidAlpha;
        }
 public FunctionApproximator(ITunableParameterService paramService)
 {
     _iterations = paramService.Iterations;
     _trainingSetSize = paramService.TrainingSetSize;
     _testSetSize = paramService.TestSetSize;
     _printMovingAverage = paramService.PrintMovingAverage;
     _averageWindowSize = paramService.AverageWindowSize;
     _lowerBound = paramService.LowerBound;
     _upperBound = paramService.UpperBound;
     _printNetworkWeights = paramService.PrintNetworkWeights;
     _printWeightsFrequency = paramService.PrintWeightsFrequency;
 }
        public MultiLayerPerceptron(int numInputs, int numOutputs, int numHiddenLayers, int numNeuronsPerHiddenLayer, ITunableParameterService paramService)
            : base(numInputs, numOutputs)
        {
            _numHiddenLayers = numHiddenLayers;
            _numNeuronsPerHiddenLayer = numNeuronsPerHiddenLayer;
            _isMomentumUsed = paramService.IsMomentumUsed;
            _momentumAmount = paramService.MomentumAmount;
            _learningRate = paramService.LearningRate;
            _sigmoidAlpha = paramService.SigmoidAlpha;
            _isAnnealingUsed = paramService.IsAnnealingUsed;
            _annealingValue = paramService.AnnealingValue;

            BuildNetwork();
        }
        public RadialBasisFunctionNetwork(int numInputs, int numOutputs, ITunableParameterService paramService)
            : base(numInputs, numOutputs)
        {
            _numCenters = paramService.NumberOfCenters;
            _numDimensions = numInputs;
            _lowerBound = paramService.LowerBound;
            _upperBound = paramService.UpperBound;
            _learningRate = paramService.LearningRate;
            _isMomentumUsed = paramService.IsMomentumUsed;
            _momentumAmount = paramService.MomentumAmount;
            _isAnnealingUsed = paramService.IsAnnealingUsed;
            _annealingValue = paramService.AnnealingValue;

            CalculateSpacingAndSpread();
            BuildNetwork();
        }