Articulo de referencia

Curva de aprendizaje (aprendizaje automático)

Gráfico de la curva de aprendizaje del tamaño del conjunto de entrenamiento frente a la puntuación de entrenamiento (pérdida) y la puntuación de validación cruzada. En el aprend...

Gráfico de la curva de aprendizaje del tamaño del conjunto de entrenamiento frente a la puntuación de entrenamiento (pérdida) y la puntuación de validación cruzada.

En el aprendizaje automático (ML), una curva de aprendizaje (o curva de entrenamiento ) es una representación gráfica que muestra cómo cambia el rendimiento de un modelo en un conjunto de entrenamiento (y generalmente un conjunto de validación) con el número de iteraciones de entrenamiento ( épocas ) o la cantidad de datos de entrenamiento. [ 1 ] Normalmente, el número de épocas de entrenamiento o el tamaño del conjunto de entrenamiento se representa en el eje x , y el valor de la función de pérdida (y posiblemente alguna otra métrica como la puntuación de validación cruzada ) en el eje y .

Los sinónimos incluyen curva de error , curva de experiencia , curva de mejora y curva de generalización . [ 2 ]

De forma más abstracta, las curvas de aprendizaje representan la diferencia entre el esfuerzo de aprendizaje y el rendimiento predictivo, donde "esfuerzo de aprendizaje" generalmente se refiere al número de muestras de entrenamiento y "rendimiento predictivo" a la precisión en las muestras de prueba. [ 3 ]

Las curvas de aprendizaje tienen muchos propósitos útiles en ML, entre ellos: [ 4 ] [ 5 ] [ 6 ]

  • elegir los parámetros del modelo durante el diseño,
  • ajustar la optimización para mejorar la convergencia,
  • y diagnosticar problemas como el sobreajuste (o el subajuste).

Las curvas de aprendizaje también pueden ser herramientas para determinar cuánto se beneficia un modelo al agregar más datos de entrenamiento y si el modelo sufre más por un error de varianza o un error de sesgo . Si tanto la puntuación de validación como la de entrenamiento convergen a un cierto valor, entonces el modelo ya no se beneficiará significativamente de más datos de entrenamiento. [ 7 ]

Definición formal

Al crear una función para aproximar la distribución de algunos datos, es necesario definir una función de pérdida.L(Fθ(incógnita),Y){\displaystyle L(f_{\theta }(X),Y)}para medir la calidad de la salida del modelo (por ejemplo, precisión para tareas de clasificación o error cuadrático medio para regresión). Luego definimos un proceso de optimización que encuentra los parámetros del modelo.θ{\displaystyle \theta }de tal manera queL(Fθ(incógnita),Y){\displaystyle L(f_{\theta }(X),Y)}se minimiza, se hace referencia aθ{\displaystyle \theta ^{*}}.

Curva de entrenamiento para la cantidad de datos

Si los datos de entrenamiento son

{incógnita1,incógnita2,,incógnitanorte},{y1,y2,ynorte}{\displaystyle \{x_{1},x_{2},\dots ,x_{n}\},\{y_{1},y_{2},\dots y_{n}\}}

y los datos de validación son

{incógnita1,incógnita2,incógnitametro},{y1,y2,ymetro}{\displaystyle \{x_{1}',x_{2}',\dots x_{m}'\},\{y_{1}',y_{2}',\dots y_{m}'\}},

una curva de aprendizaje es la gráfica de las dos curvas

  1. iL(Fθ(incógnitai,Yi)(incógnitai),Yi){\displaystyle i\mapsto L(f_{\theta ^{*}(X_{i},Y_{i})}(X_{i}),Y_{i})}
  2. iL(Fθ(incógnitai,Yi)(incógnitai),Yi){\displaystyle i\mapsto L(f_{\theta ^{*}(X_{i},Y_{i})}(X_{i}'),Y_{i}')}

dóndeincógnitai={incógnita1,incógnita2,incógnitai}{\displaystyle X_{i}=\{x_{1},x_{2},\dots x_{i}\}}

Curva de entrenamiento para el número de iteraciones

Muchos algoritmos de optimización son iterativos, repitiendo el mismo paso (como la retropropagación ) hasta que el proceso converge a un valor óptimo. El descenso de gradiente es uno de esos algoritmos. Siθi{\displaystyle \theta _{i}^{*}}es la aproximación del óptimoθ{\displaystyle \theta }despuési{\displaystyle i}pasos, una curva de aprendizaje es el gráfico de

  1. iL(Fθi(incógnita,Y)(incógnita),Y){\displaystyle i\mapsto L(f_{\theta _{i}^{*}(X,Y)}(X),Y)}
  2. iL(Fθi(incógnita,Y)(incógnita),Y){\displaystyle i\mapsto L(f_{\theta _{i}^{*}(X,Y)}(X'),Y')}

Véase también

Referencias

  1. "Mohr, Felix y van Rijn, Jan N. "Curvas de aprendizaje para la toma de decisiones en el aprendizaje automático supervisado: una revisión." arXiv preprint arXiv:2201.12150 (2022)". arXiv : 2201.12150 .
  2. Viering, Tom; Loog, Marco (2023-06-01). "La forma de las curvas de aprendizaje: una revisión". IEEE Transactions on Pattern Analysis and Machine Intelligence . 45 (6): 7799– 7819. arXiv : 2103.10948 . Bibcode : 2023ITPAM..45.7799V . doi : 10.1109/TPAMI.2022.3220744 . ISSN 0162-8828 . PMID 36350870 .  
  3. Perlich, Claudia (2010), "Curvas de aprendizaje en aprendizaje automático" , en Sammut, Claude; Webb, Geoffrey I. (eds.), Enciclopedia de aprendizaje automático , Boston, MA: Springer US, pp. 577–580 , doi : 10.1007/978-0-387-30164-8_452 , ISBN  978-0-387-30164-8, consultado el 6 de julio de 2023
  4. Madhavan, PG (1997). "Un nuevo algoritmo de aprendizaje de redes neuronales recurrentes para la predicción de series temporales" (PDF) . Journal of Intelligent Systems . pág. 113 Fig. 3. 
  5. "Aprendizaje automático 102: Consejos prácticos" . Tutorial: Aprendizaje automático para astronomía con Scikit-learn . Archivado del original el 30 de julio de 2012. Consultado el 15 de febrero de 2019 .
  6. Meek, Christopher; Thiesson, Bo; Heckerman, David (Verano de 2002). "El método de muestreo de la curva de aprendizaje aplicado a la agrupación basada en modelos" . Journal of Machine Learning Research . 2 (3): 397. Archivado del original el 15 de julio de 2013.
  7. Desarrolladores de scikit-learn. "Curvas de validación: representación gráfica de puntuaciones para evaluar modelos — Documentación de scikit-learn 0.20.2" . Consultado el 15 de febrero de 2019 .