/// <summary> /// Called just before a training iteration. /// </summary> /// public virtual void PreIteration() { if (_train.Error > _acceptableThreshold) { if (!Double.IsNaN(_lastError)) { double improve = (_lastError - _train.Error); if (improve < _required) { _badCycleCount++; if (_badCycleCount > _cycles) { EncogLogging.Log(EncogLogging.LevelDebug, "Failed to improve network, resetting."); _method.Reset(); _badCycleCount = 0; _lastError = Double.NaN; } } else { _badCycleCount = 0; } } else { _lastError = _train.Error; } } _lastError = Math.Min(_train.Error, _lastError); }
/// <summary> /// Called just before a training iteration. /// </summary> /// public virtual void PreIteration() { if (_train.Error > _required) { _badCycleCount++; if (_badCycleCount > _cycles) { EncogLogging.Log(EncogLogging.LevelDebug, "Failed to imrove network, resetting."); _method.Reset(); _badCycleCount = 0; } } else { _badCycleCount = 0; } }