Вы всегда можете сделать скользящее среднее, которое обновляется на каждой итерации, следующим образом:
mape_res = abs(Observed_Output - Actual_Output) / Actual_Output;
mse_res = Observed_Output - Actual_Output;
alpha = 1 / i_train;
mape = mape * (1 - alpha) + mape_res * alpha;
mse = mes * (1 - alpha) + power(mse_res,2) * alpha;
Затем вы можете либо отобразить полученные значения на каждой итерации, использовать их для остановки критериев, если желаемая частота ошибокдостиг или оба.Это также имеет дополнительное преимущество: не требуется инициализация и заполнение векторов mape_res и mse_res, если только они не нужны в другом месте ...
Редактировать: Обязательно инициализируйте значения mape и mse до нуля додля входа в цикл for:)