static void finalize(icontext_type& context, error_aggregator& agg) {
   ASSERT_GT(agg.ntrain, 0);
   agg.train_error = std::sqrt(agg.train_error / agg.ntrain);
   context.cout() << context.elapsed_seconds() << "\t" << agg.train_error;
   if(agg.nvalidation > 0) {
     const double validation_error = 
       std::sqrt(agg.validation_error / agg.nvalidation);
     context.cout() << "\t" << validation_error; 
   }
   context.cout() << std::endl;
 }