1 votos

Curvas de aprendizaje - ¿Por qué la precisión del entrenamiento empieza siendo tan alta y luego baja de repente?

He implementado un modelo en el que utilizo la regresión logística como clasificador y quería trazar las curvas de aprendizaje para los conjuntos de entrenamiento y de prueba para decidir qué hacer a continuación para mejorar mi modelo.

Sólo para darte un poco de información, para trazar la curva de aprendizaje definí una función que toma un modelo, un conjunto de datos pre-dividido (matrices X e Y de entrenamiento/prueba, NB: usando train_test_split ), una función de puntuación como entrada e itera a través del conjunto de datos entrenando en n subconjuntos exponencialmente espaciados y devuelve las curvas de aprendizaje.

Mis resultados están en la siguiente imagen enter image description here

Me pregunto por qué la precisión en el entrenamiento empieza siendo tan alta, luego baja de repente y vuelve a subir a medida que aumenta el tamaño del conjunto de entrenamiento. Y a la inversa, para la precisión de las pruebas. Pensé que la precisión extremadamente buena y la caída se debían a algo de ruido debido a conjuntos de datos pequeños al principio y luego, cuando los conjuntos de datos se volvieron más consistentes, empezó a subir, pero no estoy seguro. ¿Puede alguien explicar esto?

Y, por último, ¿podemos suponer que estos resultados significan una varianza baja/un sesgo moderado (un 70% de precisión en mi contexto no está tan mal) y que, por tanto, para mejorar mi modelo debo recurrir a métodos de conjunto o a la ingeniería de características extremas?

1voto

lrnzcig Puntos 310

Es normal que la precisión del entrenamiento disminuya cuando aumenta el tamaño del conjunto de datos. Piénsalo así: cuando tienes menos muestras (imagina que sólo tienes una, en el extremo) es fácil ajustar un modelo que tiene buena precisión para los datos de entrenamiento, sin embargo ese modelo ajustado no va a generalizar bien para los datos de prueba. A medida que aumenta el tamaño del conjunto de datos, en general va a ser más difícil ajustar los datos de entrenamiento, pero es de esperar que sus resultados se generalicen mejor para los datos de prueba. Así que las formas de tus curvas parecen estar bien.

Sí es cierto que la precisión del entrenamiento aumenta un poco cuando el conjunto de datos es muy grande, pero yo diría que esto ocurre por casualidad, debido a los datos concretos que estás añadiendo en esa división particular. En la práctica, las curvas de aprendizaje nunca son tan perfectas como cabría esperar en teoría, y el gráfico que muestras tiene muy buen aspecto. Para convencerte, sólo tienes que cambiar el seed por la forma en que está haciendo la división de los datos. Apuesto a que verás una curva con una forma más o menos similar, pero quizás la precisión del entrenamiento aumente un poco, por ejemplo, justo al final de la curva, o en otro lugar inesperado.

En realidad, a partir de su curva se puede ver que por encima de 500 muestras básicamente no está mejorando su precisión. Lo que significa que su problema podría ser el sesgo y no la varianza, y podría considerar aumentar la complejidad de su modelo.

En este tutorial encontrará más explicaciones.

Espero que sea de ayuda.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X