10 Maneras de mejorar sus modelos de aprendizaje automático

Ahora que estás algoritmo de aprendizaje automático ha terminado de aprender a partir de los datos obtenidos usando Python o R, que está ponderando los resultados de su equipo de prueba y se preguntan si se pueden mejorar o realmente ha alcanzado el mejor resultado posible. Hay una serie de controles y acciones que hacen alusión a los métodos que puede utilizar para mejorar el rendimiento de la máquina de aprendizaje y lograr un predictor más general que es capaz de funcionar igual de bien con su equipo de prueba o datos nuevos. Esta lista de diez técnicas le ofrece oportunidades para mejorar el resultado logrado mediante algoritmos de aprendizaje automático.

El estudio de las curvas de aprendizaje

Como primer paso para mejorar sus resultados, es necesario determinar los problemas con su modelo. Las curvas de aprendizaje que requieren para verificar contra un equipo de prueba a medida que varía el número de instancias de formación. Se dará cuenta de inmediato si usted encuentra mucha diferencia entre su dentro de la muestra y los errores de fuera de la muestra. Una amplia diferencia inicial es una señal de varianza-estimado por el contrario, tener errores que son a la vez elevada y similar es una señal de que se trabaja con un modelo sesgado.

Python ayuda a dibujar fácilmente las curvas de aprendizaje utilizando la función scikit-learn (). También puede fácilmente alcanzar el mismo resultado utilizando R con funciones personalizadas, como lo describe el análisis de blog de Revolución.

El uso de validación cruzada correctamente

Al ver una gran diferencia entre las estimaciones de validación cruzada (CV) y el resultado es un problema común que aparece con un equipo de prueba o los datos frescos. Teniendo este problema significa que algo salió mal con la validación cruzada. Más allá del hecho de que CV no es un buen predictor de rendimiento, este problema también significa que un indicador engañoso que ha inducido a modelar el problema de forma incorrecta y lograr resultados satisfactorios.

Video: Cómo Aprender Cualquier Idioma con Anki Flashcards

La validación cruzada le proporciona consejos cuando los pasos que se dan son correctos. Es importante, pero no fundamental, que CV estimaciones replicadas con precisión medidas de error de fuera de la muestra. Sin embargo, es crucial que las estimaciones CV reflejan correctamente la mejora o el empeoramiento en la fase de prueba debido a sus decisiones sobre el modelo. Generalmente, hay dos razones que las estimaciones de validación cruzada puede variar de los verdaderos resultados de error:

  • Fisgón
  • toma de muestras incorrecta

Python ofrece una estratificado-k-pliega sampler CV. R puede estratificar muestras usando el método createFolds de la biblioteca de intercalación cuando se proporciona el parámetro y como un factor.

Elegir el error de derecho o puntuación métrica

Se trata de optimizar una métrica de error basado en la mediana de error mediante el uso de un algoritmo de aprendizaje basado en el error medio no le proporcionará los mejores resultados a menos que gestionar el proceso de optimización de una manera que trabaja a favor de la métrica elegida. Al resolver un problema partir de datos y aprendizaje automático, es necesario analizar el problema y determinar la métrica ideal para optimizar.

Los ejemplos pueden ayudar mucho. Usted puede obtener muchos de ellos de trabajos académicos y de aprendizaje automático concursos públicos que definen cuidadosamente los problemas específicos en términos de datos y errores / Score métrica. Busque un concurso cuyo objetivo y los datos son similares a los suyos, y después comprobar la métrica requerida.

La búsqueda de las mejores hiper-parámetros

La mayoría de los algoritmos funcionan bastante bien fuera de la caja utilizando los ajustes de los parámetros por defecto. Sin embargo, siempre se puede lograr mejores resultados mediante pruebas de diferentes hiper-parámetros. Todo lo que tiene que hacer es crear una red de búsqueda entre los posibles valores que pueden tomar los parámetros y evaluar los resultados utilizando el error de derecho o la puntuación de métrica. La búsqueda lleva tiempo, pero puede mejorar sus resultados.

Cuando una búsqueda tarda demasiado tiempo para completar, a menudo se pueden lograr los mismos resultados mediante el trabajo en una muestra de los datos originales. Menos ejemplos elegidos al azar requieren menos cálculos, pero por lo general apuntan a la misma solución. Otro truco que puede ahorrar tiempo y esfuerzo es hacer una búsqueda al azar, lo que limita el número de combinaciones hiper-parámetros para poner a prueba.

El ensayo de múltiples modelos

Como una buena práctica, probar varios modelos, empezando por los más básicos - los modelos que tienen mayor sesgo de la varianza. Siempre debe favorecer soluciones simples a través de los complejos. Usted puede descubrir que una solución simple tiene un mejor rendimiento.

Que representa el rendimiento de diferentes modelos que utilizan el mismo gráfico es útil antes de elegir el mejor para resolver su problema. Puede colocar los modelos utilizados para predecir el comportamiento del consumidor, tales como una respuesta a una oferta comercial, en las cartas especiales de ganancia y gráficos de elevación. Estos gráficos muestran cómo su modelo funciona mediante la partición de sus resultados en deciles o partes más pequeñas.

Debido a que usted puede estar interesado sólo en los consumidores que tienen más probabilidades de responder a su oferta, ordenando las predicciones de más a menos propensos hará hincapié en lo bien que sus modelos están en la predicción de los clientes más prometedores. Estas respuestas Quora ayudan a ver cómo ganancia y gráficos de elevación de trabajo: ¿Qué hay de la curva ROC? y ¿Cuál es la curva de elevación?.

El ensayo de múltiples modelos y introspecting ellos también pueden ofrecer sugerencias en cuanto a las características que deben transformarse para la creación de funciones, o que cuentan con dejar fuera al realizar la selección de funciones.

promediando los modelos

El aprendizaje automático implica la construcción de muchos modelos y la creación de muchas predicciones diferentes, todos con diferentes actuaciones de error esperado. Tal vez le sorprenda saber que se puede obtener incluso mejores resultados promediando los modelos juntos. El principio es muy simple: la varianza La estimación es aleatoria, por lo que el promedio de muchos modelos diferentes, puede mejorar la señal y descartar el ruido que a menudo se cancelará automáticamente.

A veces los resultados de un algoritmo que funciona bien, mezclado con los resultados de un algoritmo simple que no funcionan tan bien, pueden crear mejores predicciones que el uso de un algoritmo único. No hay que subestimar las contribuciones entregadas a partir de modelos más simples, como los modelos lineales, cuando se promedia sus resultados con la salida de los algoritmos más sofisticados, como el gradiente de refuerzo.

apilar los modelos

Por las mismas razones que las obras promedio, apilamiento pueden también le proporcionará un mejor rendimiento. En apilamiento, a construir sus modelos de aprendizaje automático en dos etapas. Inicialmente esta técnica predice varios resultados utilizando diferentes algoritmos, con todos ellos el aprendizaje de las características presentes en los datos. Durante la segunda fase, en lugar de proporcionar características que un nuevo modelo de aprender, usted proporciona ese modelo con las predicciones de los otros modelos, previamente entrenados.

Utilizando un enfoque de dos etapas se justifica cuando adivinando funciones objetivo complejas. Puede aproximarse a ellas sólo mediante el uso de múltiples modelos juntos y luego combinando el resultado de la multiplicación de una manera inteligente. Se puede utilizar una regresión logística simple o un conjunto de árboles complejo como un modelo de segunda etapa.

La competencia de Netflix ofrece pruebas y una ilustración detallada acerca de cómo los modelos heterogéneos se pueden apilar juntos para formar modelos más potentes. Sin embargo, la implementación de esta solución como una aplicación de trabajo puede ser bastante engorroso.

La aplicación de la ingeniería característica

Si usted cree que el sesgo sigue afectando su modelo, usted tiene más remedio que crear nuevas características que mejoran el rendimiento del modelo. Cada nueva característica puede hacer que adivinar la respuesta del objetivo más fácil.

creación de la operación automática es posible utilizar la expansión polinómica o la clase de máquinas de vectores soporte de algoritmos de aprendizaje automático. máquinas de vectores de soporte pueden buscar de forma automática para obtener mejores características en espacios de características dimensionales superiores de una manera que es a la vez computacionalmente rápido y óptimo de la memoria.

Sin embargo, nada puede sustituir a la realidad de su experiencia y comprensión del método necesario para resolver el problema de los datos que el algoritmo está tratando de aprender. Puede crear funciones en base a su conocimiento y las ideas de cómo funcionan las cosas en el mundo. Los seres humanos siguen siendo inmejorable, al hacerlo, y las máquinas no pueden reemplazar fácilmente.

La selección de características y ejemplos

Si la varianza estimación es alta y su algoritmo se basa en muchas características, es necesario podar algunas características para obtener mejores resultados. En este contexto, la reducción del número de características en su matriz de datos escogiendo aquellos con mayor valor predictivo es aconsejable.

Cuando se trabaja con modelos lineales, máquinas de vectores soporte lineales o redes neuronales, la regularización es siempre una opción. Tanto L1 y L2 pueden reducir la influencia de variables redundantes o incluso eliminarlas del modelo. la selección de Estabilidad aprovecha la capacidad L1 excluir variables menos útiles. La técnica vuelve a muestrear los datos de entrenamiento para confirmar la exclusión.

Se puede obtener más información sobre la selección estabilidad, al mostrar el ejemplo de la Scikit-learn página web. Además, se puede practicar el uso del RandomizedLogisticRegression y RandomizedLasso scikit-learn funciones en el módulo linear_model.

En busca de más datos

Después de probar todas las sugerencias anteriores, es posible que tenga una alta varianza de las predicciones de tratar. En este caso, la única opción es aumentar su tamaño del conjunto de entrenamiento. Intente aumentar su muestra, proporcionando nuevos datos, lo que podría traducirse en nuevos casos o nuevas características.

Video: Leer más rápido

Si desea agregar más casos, con tan sólo mirar a ver si tiene datos similares a la mano. Si desea agregar nuevas características, localizar una fuente de datos de código abierto, si es posible, para que coincida con los datos de sus entradas. Otra gran manera de obtener dos nuevos casos y nuevas características es raspando los datos de la web. A menudo, se dispone de datos entre diferentes fuentes o a través de una interfaz de programación de aplicaciones (API). Por ejemplo, google API ofrecer muchas fuentes de información geográfica y de negocios.

Artículos Relacionados