Esempio n. 1
0
 public Gaussian(ILinearAlgebraProvider lap, bool zeroInitialBias = true, double stdDev = 0.1,
                 GaussianVarianceCalibration varianceCalibration  = GaussianVarianceCalibration.SquareRootN,
                 GaussianVarianceCount varianceCount = GaussianVarianceCount.FanIn)
 {
     _lap                 = lap;
     _zeroBias            = zeroInitialBias;
     _varianceCalibration = varianceCalibration;
     _varianceCount       = varianceCount;
     _distribution        = lap.IsStochastic ? new Normal(0, stdDev)
                         : new Normal(0, stdDev, new Random(0));
 }
 /// <summary>
 /// Creates a gaussian weight initialiser
 /// </summary>
 /// <param name="zeroBias">True to set bias values to zero, otherwise bias initialisation is treated the same as weight initialisation</param>
 /// <param name="stdDev">Standard deviation of gaussian distribution</param>
 /// <param name="varianceCalibration">How to calibrate the variance</param>
 /// <param name="varianceCount">How to count connections while calibrating connections</param>
 public IWeightInitialisation GaussianWeightInitialisation(
     bool zeroBias = true,
     float stdDev  = 0.1f,
     GaussianVarianceCalibration varianceCalibration = GaussianVarianceCalibration.SquareRootN,
     GaussianVarianceCount varianceCount             = GaussianVarianceCount.FanIn
     ) => new Gaussian(_lap, zeroBias, stdDev, varianceCalibration, varianceCount);