public void execFindBestErrorSilentDisp() throws DelimiterOutOfBoundsException, UnknownColumnException, InterruptedException, InvalidStateOfParser, MainColumnIdMaxValueException {

		int delimiter = getDelimiter();
		
		if(delimiter <= 0 || delimiter >= csvparser.countLines())
			throw new DelimiterOutOfBoundsException();

		double error = 0;
		double errorMin = Constants.INT_MAX;
		int epochsIt = 0;
		int bestEpoch = 0;

		logger.debug("Computing the best error and the best epoch. Please wait, this may take a while...");
		
		while(epochsIt < epochs) {
			neuralnetwork.trainProcess(delimiter, desiredInputs, csvparser, mainColumnId, deltaTime, learningRate, momentum);
			error = neuralnetwork.error(delimiter, csvparser, deltaTime, desiredInputs, mainColumnId, multiplier.getMultiplier());

			if(error < errorMin) {
				errorMin = error;
				bestEpoch = epochsIt;
			}

			epochsIt++;
		}

		logger.debug("Prediction " + deltaTime + " days ahead : error min (at epoch : " + bestEpoch + " ) : " + errorMin);
	}