2011-01-06 17 views
25

Quiero saber qué es una curva de aprendizaje en el aprendizaje automático. ¿Cuál es la forma estándar de trazarlo? Quiero decir, ¿cuál debería ser el eje X e Y de mi trama?¿Qué es una curva de aprendizaje en el aprendizaje automático?

+1

nunca oído hablar de una curva de aprendizaje ¿Te refieres a una curva ROC? http://en.wikipedia.org/wiki/Receiver_operating_characteristic – Stompchicken

+4

No, la curva de aprendizaje y la curva ROC no son sinónimos, como intento describir a continuación. – MattBagg

+0

@MattBagg: tienes toda la razón, retrocedí antes de la edición. – Amro

Respuesta

34

creo que por lo general se refiere a una representación de la precisión de la predicción /error vs el tamaño del conjunto de entrenamiento (es decir: ¿qué mejor no llegar el modelo para predecir el blanco a medida que el aumento número de casos utilizados para entrenar)

alt text

+2

Véase también: http://www.astroml.org/sklearn_tutorial/practical.html # learning-curves – alfa

+2

También hay un artículo más actual: http://scikit-learn.org/stable/modules/learning_curve.html –

13

Algunas personas usan "curva de aprendizaje" para referirse al error de un procedimiento iterativo como una función del número de iteración, es decir, ilustra la convergencia de alguna función de utilidad. En el siguiente ejemplo, trazo el error cuadrático medio (mean-square error, MSE) del algoritmo de mínimos cuadrados medios (LMS) como una función del número de iteración. Eso ilustra qué tan rápido LMS "aprende", en este caso, la respuesta al impulso del canal.

learningcurves.png

7

Básicamente, una curva de aprendizaje automático permite encontrar el punto desde el cual el algoritmo comienza a aprender. Si toma una curva y luego corta una pendiente tangente para derivada en el punto en que comienza a alcanzar constante es cuando comienza a desarrollar su capacidad de aprendizaje.

Dependiendo de cómo estén mapeados sus ejes xey, uno de sus ejes comenzará a acercarse a un valor constante mientras que los valores del otro eje seguirán aumentando. Esto es cuando comienzas a ver algo de aprendizaje. La curva completa te permite medir la velocidad a la que tu algoritmo puede aprender. El punto máximo suele ser cuando la pendiente comienza a retroceder. Puede tomar una cantidad de medidas derivadas hasta el punto máximo/mínimo.

De los ejemplos anteriores se puede ver que la curva tiende gradualmente a un valor constante. Inicialmente comienza a aprovechar su aprendizaje a través de los ejemplos de entrenamiento y la pendiente se ensancha en el punto máximo/mínimo donde tiende a acercarse cada vez más hacia el estado constante. En este punto, puede recoger nuevos ejemplos de los datos de prueba y encontrar resultados nuevos y únicos a partir de los datos. Tendría tales medidas de eje x/y para epochs vs error.

27

Solo quiero dejar una breve nota sobre esta vieja pregunta para señalar que la curva de aprendizaje y la curva ROC no son sinónimos.

Como se indica en las otras respuestas a esta pregunta, una curva aprendizaje representa convencionalmente mejora en el rendimiento en el eje vertical cuando hay cambios en otro parámetro (en el eje horizontal), tales como el tamaño del conjunto de entrenamiento (en aprendizaje automático) o iteración/tiempo (tanto en máquina como en aprendizaje biológico). Un punto sobresaliente es que muchos parámetros del modelo están cambiando en diferentes puntos de la trama. Otras respuestas aquí han hecho un gran trabajo al ilustrar las curvas de aprendizaje.

(También hay otro significado de curva de aprendizaje en la fabricación industrial, originado en una observación en la década de 1930 de que el número de horas de trabajo necesarias para producir una unidad individual disminuye a un ritmo uniforme a medida que la cantidad de unidades fabricadas se duplica. en realidad no es relevante, pero es digno de mención para la integridad y para evitar confusiones en las búsquedas web)

por el contrario, curva de eficacia diagnóstica o curva ROC, no muestra el aprendizaje.; muestra el rendimiento.Una curva ROC es una representación gráfica del rendimiento del clasificador que muestra la relación entre aumentar las tasas positivas verdaderas (en el eje vertical) y aumentar las tasas de falsos positivos (en el eje horizontal) a medida que varía el umbral de discriminación del clasificador. Por lo tanto, solo un parámetro único (el umbral de decisión/discriminación) asociado con el modelo está cambiando en diferentes puntos de la gráfica. Esta curva ROC (from Wikipedia) muestra el rendimiento de tres clasificadores diferentes.

ROC curve, see previous link for CC licensing

no hay aprendizaje está representado aquí, sino más bien el rendimiento con respecto a dos clases diferentes de éxito/error como umbral de decisión del clasificador se hace más indulgente/estricta. Al observar el área bajo la curva, podemos ver una indicación general de la capacidad del clasificador para distinguir las clases. Esta métrica de área bajo la curva es insensible a la cantidad de miembros en las dos clases, por lo que puede no reflejar el rendimiento real si la pertenencia a la clase no está equilibrada. La curva ROC tiene muchos subtítulos y los lectores interesados ​​pueden revisar:

Fawcett, Tom. "ROC graphs: Notes and practical considerations for researchers." Machine Learning 31 (2004): 1-38.

Swets, John A., Robyn M. Dawes, and John Monahan. "Better decisions through Science." Scientific American (2000): 83.

+0

+1 bien explicado – Amro

2

Cómo se puede determinar para un determinado modelo de formación sea más puntos serán útiles? Un diagnóstico útil para esto son las curvas de aprendizaje.

• Trama de la precisión de la predicción/error contra el tamaño del conjunto de entrenamiento (es decir: ¿qué mejor no llegar el modelo para predecir el blanco a medida que aumento el número de instancias utiliza para entrenarlo)

• Curva de aprendizaje representa convencionalmente una mejora en el rendimiento en el eje vertical cuando hay cambios en otro parámetro (en el eje horizontal), como el tamaño del conjunto de entrenamiento (en aprendizaje automático) o iteración/tiempo

• Una curva de aprendizaje suele ser útil para trazar para verificar la cordura algorítmica o mejorar el rendimiento

• El aprendizaje curva de trazado puede ayudar a diagnosticar los problemas que su algoritmo estar sufriendo de

En lo personal, los siguientes dos enlaces me ayudaron a entender mejor acerca de este concepto

Learning Curve

Sklearn Learning Curve

Cuestiones relacionadas