/// <summary> /// Runs one iteration of the learning algorithm with the /// specified input training observation and corresponding /// output label. /// </summary> /// /// <param name="observations">The training observations.</param> /// <param name="outputs">The observation's labels.</param> /// /// <returns>The error in the last iteration.</returns> /// public double Run(T[][] observations, int[] outputs) { convergence.Clear(); do { RunEpoch(observations, outputs); } while (!convergence.HasConverged); return convergence.NewValue; }
private double run(T[][] observations, int[] outputs) { convergence.Clear(); do { RunEpoch(observations, outputs); if (Token.IsCancellationRequested) break; } while (!convergence.HasConverged); return convergence.NewValue; }
/// <summary> /// Runs the learning algorithm. /// </summary> /// protected override double InnerRun(T[][] observations, int[] outputs) { init(); convergence.Clear(); do { RunEpoch(observations, outputs); if (Token.IsCancellationRequested) break; } while (!convergence.HasConverged); return convergence.NewValue; }
/// <summary> /// Resets the step size. /// </summary> /// public void Reset() { convergence.Clear(); stepSize = 0; }