Otra alternativa es la que ofrece la versión Mini-batch: si hacer pasar todos los datos en cada iteración exige demasiados recursos (aunque devuelva el resultado más exacto del gradiente) y hacer pasar tan solo una muestra es la solución más rápida, aunque el resultado del cálculo del gradiente solo sea una aproximación al valor real ¿por qué no plantearse una solución intermedia y calcular el gradiente cada n muestras?
Mini-batch Gradient Descent hace exactamente esto: calcula el gradiente no a partir de todo el conjunto de entrenamiento ni a partir de una única muestra, sino a partir de un pequeño subconjunto aleatorio de muestras llamadas mini-batches. Normalmente, este algoritmo tarda menos en alcanzar el mínimo que Stochastic Gradient Descent pero corre el riesgo de caer en un mínimo local y no ser capaz de salir de él. El valor n suele denominarse batch size.