Mantener soluciones equilibradas para el aprendizaje automático

Para crear grandes soluciones, modelos de aprendizaje automático compromiso entre la simplicidad (lo que implica un sesgo más alta) y la complejidad (generando una mayor varianza de las estimaciones). Si tiene la intención de lograr el mejor rendimiento predictivo, es necesario encontrar una solución en el medio mediante la comprensión de lo que funciona mejor, lo que lo hace mediante el uso de ensayo y error en sus datos.

Dado que los datos es lo que dicta la solución más adecuada para el problema de predicción, tiene una panacea ni una solución recurrente fácil para resolver todos sus dilemas de aprendizaje automático.

Un teorema comúnmente conocida en el folklore es la matemática teorema-no-libre del almuerzo por David Wolpert y William Macready, que establece que “cualquiera de los dos algoritmos de optimización son equivalentes cuando su desempeño se promedia en todos los problemas posibles.” Si los algoritmos son equivalentes en abstracto, nadie es superior a la otra, salvo prueba en un procedimiento específico, problema práctico. (Véase la discusión para más detalles acerca no-libre-almuerzo teoremas- dos de ellos se utilizan realmente para el aprendizaje de máquina.)

En particular, en su artículo “La falta de a priori Las distinciones entre los algoritmos de aprendizaje,”Wolpert discutió el hecho de que no existen a priori distinciones entre algoritmos, no importa cuán simple o complejo que son. Datos dicta lo que funciona y lo bien que funciona. Al final, no siempre se puede confiar en un solo algoritmo de aprendizaje automático, pero hay que probar muchos y encontrar el mejor para su problema.

Además de ser llevado a la experimentación de aprendizaje automático por el principio try-todo del teorema de no-libre-almuerzo, usted tiene otra regla de oro para tener en cuenta: La navaja de Occam, que se atribuye a Guillermo de Occam, un filósofo escolástico y teólogo que vivió en el siglo XIV.

principio de la navaja de Occam dice que las teorías deben ser reducidos al mínimo con el fin de representar convincentemente la verdad (de ahí la maquinilla de afeitar). El principio no indica que las soluciones más simples son mejores, pero que, entre una solución simple y una solución más compleja que ofrece el mismo resultado, siempre es preferible la solución más simple. El principio está en los cimientos mismos de nuestra metodología científica moderna, e incluso Albert Einstein parece haberse referido a ella con frecuencia, afirmando que “todo debe ser tan simple como puede ser, pero no más sencillo.”Resumiendo la evidencia hasta el momento:

  • Para obtener la mejor solución de aprendizaje de máquina, probar todo lo que pueda sobre sus datos y representar el rendimiento de sus datos con las curvas de aprendizaje.
  • Comience con los modelos más simples, como los modelos lineales, y siempre prefiere una solución más sencilla cuando se realiza casi tan bien como una solución compleja. Se beneficia de la elección cuando se trabaja en los datos fuera de la muestra del mundo real.
  • Siempre comprobar el rendimiento de la solución utilizando ejemplos de fuera de la muestra.

Que representa las curvas de aprendizaje

Para visualizar el grado en que un algoritmo de aprendizaje automático está sufriendo de sesgo o desacuerdo con respecto a un problema de datos, usted puede tomar ventaja de un tipo de gráfico llamado curva de aprendizaje. las curvas de aprendizaje son las pantallas en las que se traza el rendimiento de uno o más algoritmos de aprendizaje automático con respecto a la cantidad de datos que utilizan para el entrenamiento. Los valores representados son las mediciones de error de predicción, y la métrica se mide tanto como dentro de la muestra y el rendimiento validación cruzada o fuera de la muestra.

Si el gráfico muestra el rendimiento con respecto a la cantidad de datos, que es un gráfico de la curva de aprendizaje. Cuando se representa el rendimiento con respecto a diferentes parámetros de hiper-o un conjunto de características aprendidas escogidas por el modelo, es un gráfico de curva de validación en su lugar. Para crear un gráfico de la curva de aprendizaje, debe hacer lo siguiente:

  • Divida sus datos en dentro de la muestra y se pone fuera de la muestra (una división de tren / prueba de 70/30 funciona bien, o puede utilizar la validación cruzada).
  • Crear porciones de sus datos de entrenamiento de tamaño creciente. Dependiendo del tamaño de los datos que usted tiene disponible para el entrenamiento, puede utilizar porciones de 10 por ciento o, si usted tiene una gran cantidad de datos, creciendo el número de ejemplos en una escala de potencia tal como 103, 104, 105 y así.
  • modelos de trenes en los diferentes subconjuntos de los datos. Prueba y grabar su rendimiento en los mismos datos de entrenamiento y en el set fuera de la muestra.
  • Representar gráficamente los resultados registrados en dos curvas, una para los resultados dentro de la muestra y el otro para los resultados fuera de la muestra. Si en lugar de una fracción de tren / prueba que utilizó la validación cruzada, también puede establecer límites que expresan la estabilidad del resultado a través de múltiples validaciones (intervalos de confianza) en base a la desviación estándar de los propios resultados.
las curvas de aprendizaje afftected por el sesgo
Ejemplos de curvas de aprendizaje afectados por el sesgo (izquierda) y la varianza (derecha).

Idealmente, usted debe obtener dos curvas con diferentes puntos de partida de error: más alto para el fuera de muestra- menor para la muestra en. Como el tamaño del conjunto de entrenamiento aumenta, la diferencia en el espacio entre los dos debe reducir hasta que, en un cierto número de observaciones, se convierten en cerca de un valor de error común.

Notablemente, después de imprimir el gráfico, los problemas surgen cuando

  • Las dos curvas tienden a converger, pero no se puede ver en el gráfico que acercarse unos a otros porque tiene muy pocos ejemplos. Esta situación le da un fuerte indicio para aumentar el tamaño del conjunto de datos si desea aprender con éxito con el algoritmo de aprendizaje automático probado.
  • El punto de convergencia final entre las dos curvas tiene un alto de error, por lo que en consecuencia el algoritmo tiene demasiado sesgo. Añadiendo más ejemplos aquí no ayuda porque tiene una convergencia con la cantidad de datos que tiene. Debe aumentar el número de características o utilizar un algoritmo de aprendizaje más complejo como una solución.
  • Las dos curvas no tienden a converger debido a que la curva de fuera de la muestra comienza a comportarse de forma errática. Tal situación es claramente una señal de alta varianza de las estimaciones, que se puede reducir aumentando el número de ejemplos (a un cierto número, el error fuera de la muestra comenzará a disminuir de nuevo), lo que reduce el número de características, o, a veces, sólo ajustar algunos parámetros clave del algoritmo de aprendizaje.

R no proporciona una implementación de las curvas de aprendizaje (por lo que necesita para programar una propia). Python proporciona curvas de aprendizaje como parte de la Scikit-learn paquete utilizando la función learning_curve que prepare a todos los cálculos para usted.

Artículos Relacionados