Logotipo de Zephyrnet

Una guía fácil para elegir el algoritmo de aprendizaje automático adecuado

Fecha:

Una guía fácil para elegir el algoritmo correcto de Machine Learning
Foto por Javier Allegué Barros on Unsplash

 

¿Cómo elijo el algoritmo de aprendizaje automático adecuado?

Bueno, no hay una respuesta directa y segura a esta pregunta. La respuesta depende de muchos factores, como la declaración del problema y el tipo de salida que desea, el tipo y el tamaño de los datos, el tiempo computacional disponible, la cantidad de características y las observaciones en los datos, por nombrar algunos.

Aquí hay algunas consideraciones importantes al elegir un algoritmo.

1. Tamaño de los datos de entrenamiento

 
Por lo general, se recomienda recopilar una buena cantidad de datos para obtener predicciones confiables. Sin embargo, muchas veces, la disponibilidad de datos es una limitación. Por lo tanto, si los datos de entrenamiento son más pequeños o si el conjunto de datos tiene una menor cantidad de observaciones y una mayor cantidad de características como genética o datos textuales, elija algoritmos con alto sesgo/baja varianza como regresión lineal, Naïve Bayes o SVM lineal.

Si los datos de entrenamiento son lo suficientemente grandes y la cantidad de observaciones es mayor en comparación con la cantidad de funciones, se pueden optar por algoritmos de baja desviación/varianza alta como KNN, árboles de decisión o kernel SVM.

2. Precisión y/o Interpretabilidad de la Salida

 
La precisión de un modelo significa que la función predice un valor de respuesta para una observación dada, que está cerca del verdadero valor de respuesta para esa observación. Un algoritmo altamente interpretable (modelos restrictivos como la regresión lineal) significa que uno puede entender fácilmente cómo se asocia cualquier predictor individual con la respuesta, mientras que los modelos flexibles brindan una mayor precisión a costa de una baja interpretabilidad.

 

Una guía fácil para elegir el algoritmo de aprendizaje automático adecuado
Una representación de la compensación entre la precisión y la interpretabilidad, utilizando diferentes métodos de aprendizaje estadístico. (fuente)

 

Algunos algoritmos se denominan restrictivos porque producen una pequeña gama de formas de la función de mapeo. Por ejemplo, la regresión lineal es un enfoque restrictivo porque solo puede generar funciones lineales como las líneas.

Algunos algoritmos se llaman flexibles porque pueden generar una gama más amplia de posibles formas de la función de mapeo. Por ejemplo, KNN con k=1 es muy flexible, ya que considerará cada punto de datos de entrada para generar la función de salida de mapeo. La siguiente imagen muestra la compensación entre algoritmos flexibles y restrictivos.

 

Una guía fácil para elegir el algoritmo de aprendizaje automático adecuado
Una representación de la compensación entre Flexibilidad e Interpretabilidad, utilizando diferentes métodos de aprendizaje estadístico. (fuente)

 

Ahora bien, utilizar qué algoritmo depende del objetivo del problema empresarial. Si la inferencia es el objetivo, entonces los modelos restrictivos son mejores ya que son mucho más interpretables. Los modelos flexibles son mejores si el objetivo es una mayor precisión. En general, a medida que aumenta la flexibilidad de un método, disminuye su interpretabilidad.

3. Velocidad o Tiempo de Entrenamiento

 
Una mayor precisión generalmente significa un mayor tiempo de entrenamiento. Además, los algoritmos requieren más tiempo para entrenarse con grandes datos de entrenamiento. En las aplicaciones del mundo real, la elección del algoritmo depende predominantemente de estos dos factores.

Los algoritmos como Naïve Bayes y la regresión lineal y logística son fáciles de implementar y rápidos de ejecutar. Los algoritmos como SVM, que implican el ajuste de parámetros, las redes neuronales con un alto tiempo de convergencia y los bosques aleatorios, necesitan mucho tiempo para entrenar los datos.

4. Linealidad

 
Muchos algoritmos funcionan asumiendo que las clases pueden estar separadas por una línea recta (o su análogo de mayor dimensión). Los ejemplos incluyen regresión logística y máquinas de vectores de soporte. Los algoritmos de regresión lineal suponen que las tendencias de los datos siguen una línea recta. Si los datos son lineales, estos algoritmos funcionan bastante bien.

Sin embargo, no siempre los datos son lineales, por lo que necesitamos otros algoritmos que puedan manejar estructuras de datos complejas y de alta dimensión. Los ejemplos incluyen kernel SVM, bosque aleatorio, redes neuronales.

La mejor manera de averiguar la linealidad es ajustar una línea lineal o ejecutar una regresión logística o SVM y verificar los errores residuales. Un error mayor significa que los datos no son lineales y necesitarían algoritmos complejos para adaptarse.

5. Número de características

 
El conjunto de datos puede tener una gran cantidad de características que pueden no ser todas relevantes y significativas. Para cierto tipo de datos, como los genéticos o textuales, la cantidad de características puede ser muy grande en comparación con la cantidad de puntos de datos.

Una gran cantidad de funciones pueden atascar algunos algoritmos de aprendizaje, lo que hace que el tiempo de entrenamiento sea demasiado largo. SVM es más adecuado en el caso de datos con un gran espacio de características y menos observaciones. PCA y técnicas de selección de características deben usarse para reducir la dimensionalidad y seleccionar características importantes.

Aquí hay un práctico chuleta que detalla los algoritmos que puede usar para diferentes tipos de problemas de aprendizaje automático.

 

Una guía fácil para elegir el algoritmo de aprendizaje automático adecuado
Fuente

 

Algoritmos de aprendizaje automático se puede dividir en aprendizaje supervisado, no supervisado y de refuerzo, como se discutió en mi anterior blog. Este artículo lo guía a través del proceso de cómo usar la hoja.

La hoja de trucos se divide principalmente en dos tipos de aprendizaje:

Algoritmos de aprendizaje supervisado se emplean cuando los datos de entrenamiento tienen variables de salida correspondientes a las variables de entrada. El algoritmo analiza los datos de entrada y aprende una función para mapear la relación entre las variables de entrada y salida.

El aprendizaje supervisado se puede clasificar además en Regresión, Clasificación, Pronóstico y Detección de anomalías.

Aprendizaje sin supervisión Los algoritmos se utilizan cuando los datos de entrenamiento no tienen una variable de respuesta. Dichos algoritmos intentan encontrar el patrón intrínseco y las estructuras ocultas en los datos. Los algoritmos de agrupamiento y reducción de dimensiones son tipos de algoritmos de aprendizaje no supervisados.

La siguiente infografía simplemente explica la regresión, la clasificación, la detección de anomalías y la agrupación junto con ejemplos en los que se podría aplicar cada uno de estos.

 


Una guía fácil para elegir el algoritmo de aprendizaje automático adecuado
Fuente

 

Los principales puntos a considerar cuando se trata de resolver un nuevo problema son:

  • Define el problema. ¿Cuál es el objetivo del problema?
  • Explore los datos y familiarícese con ellos.
  • Comience con modelos básicos para construir un modelo de referencia y luego pruebe métodos más complicados.

Dicho esto, recuerda siempre que “mejores datos a menudo superan a mejores algoritmos”, como se discutió en mi anterior blog. Igualmente importante es diseñar buenas características. Pruebe varios algoritmos y compare sus rendimientos para elegir el mejor para su tarea específica. Además, pruebe los métodos de conjunto, ya que generalmente proporcionan una precisión mucho mayor.

 
 
Yoguita Kinha es un profesional competente con experiencia en R, Python, Machine Learning y entorno de software para computación y gráficos estadísticos, experiencia práctica en el ecosistema Hadoop y pruebas e informes en el dominio de pruebas de software.

Original. Publicado de nuevo con permiso.
 

punto_img

Información más reciente

punto_img