¿Por qué fallan algunos modelos Machine Learning?
En este blog siempre hablamos de las mil y una aplicaciones de la Inteligencia Artificial a todo tipo de actividades y campos de conocimiento. Sin embargo, sabemos que en ocasiones, nuestros modelos basados en algoritmos de Machine Learning, fallan, no ofrecen los resultados esperados. ¿Cuál es el motivo?
Motivos, puede haber muchos, pero vamos a centrarnos en los tres principales. Sobre dos de ellos ya hemos hablado en otras ocasiones en nuestro blog.
1 Los datos
Cuando hablamos de modelos de aprendizaje automático, hablamos de modelos que aprenden de los datos. Por tanto, juegan un papel fundamental en todo el proceso. Tendremos que hacernos una serie de preguntas:
- ¿Tenemos un volumen de datos suficiente?
- ¿Son representativos? ¿Pueden presentar algún tipo de sesgo?
- ¿Son fiables? ¿Tienen la calidad suficiente?
- ¿Qué fuentes utilizamos?
Merece la pena prestar a los datos toda la atención necesaria, ya que no se puede construir un modelo sólido sobre pilares endebles. Y sin datos de calidad, los modelos no podrán ofrecer resultados de valor.
No sólo eso. Las tareas previas de exploración, depuración y normalización de los datos tienen un papel fundamental a la hora de definir las variables del modelo. Unos análisis estadísticos previos pueden dar pistas interesantes sobre correlación de variables, o su mayor o menor relevancia sobre los resultados.
2 Las preguntas
Este punto tiene mucho que ver con el anterior. Porque para hacer las preguntas adecuadas, es vital comprender bien los datos. Esta es la situación más habitual cuando se trabaja con datos propios.
Hace unos meses ya os hablamos del proyecto "The 100 Questions" , impulsado por The GovLab, un centro de investigación de la Universidad de Nueva York. Basándose en la premisa:
“Tus datos son tan valiosos como bien planteadas estén las preguntas que les hagas”
su objetivo es ayudar a identificar, de forma participativa, las preguntas más relevantes, y aprender a priorizar aquéllas que son de mayor impacto, más novedosas o más factibles.
También puede darse la situación inversa. Podemos tener muy claras las preguntas, pero no tanto cómo localizar los datos que ayuden a darles respuesta. En este otro post hicimos un repaso a las principales fuentes de datos que pueden sernos de utilidad para dar respuesta a esas preguntas.
3 Los modelos
Llegamos al tercer punto clave: los modelos. Es, curiosamente, el aspecto que recibe mayor atención en cualquier foro sobre machine learning.
¿Qué modelo es mejor? ¿Acaso Tiene sentido hacerse esta pregunta?
Veremos que no. Ya hemos visto que lo primero y fundamental es comprender los datos, y definir qué información queremos obtener de ellos (¡las preguntas!). Puede que los avances en determinadas áreas de investigación "pongan de moda" determinados modelos en un momento dato. Pero no hay soluciones universales, modelos "talla única" que sirvan para casi cualquier problema.
Sí que hay modelos muy fáciles de aplicar. Unas sencillas líneas de código para crear datos de entrenamiento y datos de test, otras para definir el modelo, entrenarlo, hacer predicciones, medir su exactitud...
El problema es que muchas veces no somos conscientes de los supuestos previos en que se basa el modelo. Por ejemplo, el modelo puede asumir que los datos siguen una distribución normal. Es cierto que es un tipo de distribución muy frecuente en la naturaleza, pero no la única. Por tanto, si no se cumple esta premisa, el modelo no es apropiado para ese conjunto de datos.
Conocer las premisas en que se basan los modelos, o sus limitaciones (por ejemplo, si tienen tendencia al sobreajuste (overfitting), o el tipo de distancia en que se basan; nos permite anticiparnos a los problemas y definir estrategias para limitar su impacto.
Por tanto, no podemos decir qué algoritmo es mejor o peor en general, sino cuál es el más apropiado para cada problema o tipo de problema. De hecho, una estrategia habitual es entrenar modelos distintos basados en algoritmos diferentes y analizar después cuál ofrece mejores resultados.
No obstante, y aunque no haga falta ser un matemático experto para trabajar con modelos machine learning, comprender las matemáticas de los modelos es importante para poder elegir el más adecuado, el más eficiente, comprender si tienen o no sentido los resultados. Y si no lo tienen, ser capaz de analizar el por qué y buscar cuál puede ser la mejor alternativa.
Conclusión
Frente a las últimas tendencias de automatización del Machine Learning, vemos cómo la intervención humana no es algo de lo que se pueda prescindir fácilmente. Las decisiones sobre estos 3 aspectos son claves. Si no son las adecuadas, nuestros modelos de aprendizaje automático serán rápidos, precisos, y eficientes ... pero totalmente inservibles.
Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube.