protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { weights = new double[LearningConnections.ItemArray.Length]; } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { process = new Process(LearningConnections.Select(c => new QuantumWeight(c.Connection))); } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { qsa = new QuantumStabilizerAlgorithm(LearningConnections.Select(c => new QuantumWeight(c.Connection)), qsaStrength, false); lastMSE = double.MaxValue; } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { if (mode == AlgoInitializationMode.Startup) { foreach (var lc in LearningConnections) { var rule = (NoisedWeightInitializationRule)lc.Rule; lc.Connection.Weight = (rule.Noise * RandomGenerator.Random.NextDouble()) * 2.0 - rule.Noise; } } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { rule = (CrossEntropyRule)LearningConnections[0].Rule; int connCount = LearningConnections.Count; infos = Enumerable.Range(0, connCount).Select(idx => StatisticalInfo.Create()).ToArray(); evaluatedWeights = new Population(rule.PopulationSize); nextStep = null; } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { rule = (GARule)LearningConnections.ItemArray[0].Rule; population = new Population(rule.PopulationSize); bestSel = new GaussianSelectionAlgorithm(rule.BestSelectStdDev); worstSel = new GaussianSelectionAlgorithm(rule.WorstSelectStdDev, SelectionDirection.FromBottom); nextStep = null; } }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { base.InitializeNewRun(mode); if (mode == AlgoInitializationMode.Startup) { count = LearningConnections.ItemArray.Length; p = new double[count]; r = new double[count]; gradients = new double[2, count]; lastWeights = new double[count]; wError = stepError = 1.0; decay = ((SCGRule)LearningConnections.ItemArray[0].Rule).WeightDecay; } // SCG Step 1: nextStep = null; }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { if (mode == AlgoInitializationMode.Startup) CurrentMSE = double.MaxValue; }
protected internal abstract void InitializeNewRun(AlgoInitializationMode mode);
private void InitializeNewAlgoRun(AlgoInitializationMode mode) { if (forwardLearningAlgos != null) foreach (var fwa in forwardLearningAlgos) fwa.InitializeNewRun(mode); if (backwardLearningAlgos != null) foreach (var bwa in backwardLearningAlgos) bwa.InitializeNewRun(mode); }
protected internal override void InitializeNewRun(AlgoInitializationMode mode) { }