Curva de pérdida

Cómo converge el entrenamiento de un modelo.

Definición

Una curva de pérdida dibuja la pérdida de un modelo época a época, con una línea para entrenamiento y otra para validación. Lo que se lee es la brecha entre las dos y el momento en que deja de cerrarse. Sirve para decidir cuándo parar de entrenar y si el modelo generaliza.

Training Loss Curves
Datos
x · y · series
Buena para
Ver si un modelo generaliza o empieza a sobreajustar, y desde qué época.
Evítala cuando
Cuando sólo tienes una de las dos curvas: sin la otra no se sabe si el modelo generaliza.
Se lee bien
Entre 10 y 500 elementos; dibuja hasta 1000
Datos que faltan
Dibuja el valor ausente como cero.
Accesibilidad
Lector de pantalla: resumen en texto · respeta «reducir movimiento»

Forma de los datos

Qué columnas pide

ColumnaTipoPara qué
x · opcionalnumberLa época. Es numérica, no una fecha: el eje cuenta pasos de entrenamiento.
y · opcionalnumberLa pérdida. Su escala arranca en cero (padDomainFromZero, data.ts).
series · opcionalstringEl conjunto (train/validation). Formato LARGO obligatorio: sin esta columna la pieza devuelve [] y no dibuja.

Tamaños

Recompuesta, no encogida

El motor vuelve a componer la pieza a cada ancho: los rótulos conservan su cuerpo y la figura gana alto si lo necesita.

Móvil · 408 × 491 px
Escritorio · 848 × 642 px

Cuándo usarla

Tres preguntas antes de elegirla

¿Tienes entrenamiento y validación por separado?

Si es una sola serie que evoluciona, basta una línea normal.

Sí: quédate con curva de pérdida

No: usa Gráfico de líneas

¿La pregunta es cómo converge el entrenamiento?

Si el modelo ya está entrenado y lo que importa es en qué clases se equivoca, se cruzan aciertos y errores.

Sí: quédate con curva de pérdida

No: usa Matriz de confusión

¿Te basta la pérdida como medida de calidad?

Si hay que elegir un umbral de clasificación, conviene ver el compromiso entre aciertos y falsos positivos.

Sí: quédate con curva de pérdida

No: usa Curva ROC

Código

La misma pieza, con tus datos

import { getPreset, renderComposition } from 'visx-render/node';

const spec = await getPreset('losscurve');
spec.data.rows = misFilas; // tus columnas
const { svg, warnings } = await renderComposition(spec);

También en React con Chart y prepareComposition. Guía para desarrolladores →

Dudas

¿Por qué hacen falta dos curvas?

Porque el argumento es la distancia entre entrenamiento y validación: una sola no dice si el modelo funciona fuera de los datos que ha visto.

¿En qué formato van los datos?

En formato largo: una fila por época y conjunto, con una columna que diga a qué conjunto pertenece. Sin esa columna no se dibuja.

¿El eje vertical empieza en cero?

Sí. El eje horizontal cuenta épocas como número, no como fecha.

¿Qué hace si faltan datos?

Dibuja el valor ausente como cero. Si un hueco no es un cero en tus datos, rellénalo o elimina la fila antes de dibujar.

¿Cómo se ve en el móvil?

El motor la recompone a 360 px de ancho —rótulos, leyenda y alto— en vez de encoger la versión de escritorio.

Relacionadas

Otras formas de responder «cómo cambia en el tiempo»

Guía para elegir: cómo cambia en el tiempo →