Blog de Bismart: Últimas Noticias en Datos, IA y Business Intelligence

Cómo afrontar un proyecto de machine learning

Escrito por Maria Gorini | 10-sep-2019 11:30:00

El machine learning es una forma analítica de resolver problemas mediante la identificación, la clasificación o la predicción. Los algoritmos aprenden de los datos introducidos y luego utilizan este conocimiento para sacar conclusiones de nuevos datos. Es una rama dentro de la inteligencia artificial que utiliza algoritmos matemáticos que permiten a las máquinas aprender.

Hoy día hay muchas empresas que quieren aprovechar las oportunidades que brinda el machine learning y, en concreto, la predicción. Para ello se llevan a cabo proyectos predictivos que les permiten tener una base sólida sobre la cual tomar mejores decisiones empresariales.

El enfoque necesario para un proyecto predictivo de machine learning consta de tres fases principales.

  • Recogida de datos. Los datos pueden recogerse de cualquier sitio: web, base de datos, elementos de voz que pasan a texto...
  • Interpretación gracias a los algoritmos. Hay una parte humana que se dedica a la recolección de los datos, los analiza y los pasa por el algoritmo, que extrae información de esos datos.
  • Toma de decisiones. El algoritmo ofrece un resultado que se utilizará como base para tomar decisiones de negocio según el criterio de la empresa.

Cuando nos proponemos iniciar un proyecto predictivo debemos hacernos una serie de preguntas:

¿Es un problema que requiera inteligencia artificial?

Para que sea así, debe haber una cantidad muy grande de datos que sean relevantes. No se debe basar un proyecto de machine learning en datos que no aporten información o que no sean de calidad, porque perderemos el tiempo.

Hay que tener en cuenta que los algoritmos de machine learning abstraen patrones de los datos, pero no razonan. Por tanto, hay que utilizarlos como una base sólida sobre la que tomar decisiones.

Aunque el machine learning sean algoritmos que pueden aprender por sí mismos, siempre debe haber una guía humana. La máquina lee gráficos, números, etc., pero siempre requiere un humano que le otorgue valor y lógica a los resultados que ofrece desde un punto de vista de negocio.

¿Cuándo debería usarse machine learning para resolver el problema?
  • Cuando un software lógico es difícil de escribir. No es viable que una persona escriba líneas y líneas de código con cada una de las posibilidades dada la altísima complejidad del proceso y número de casuísticas. Esto hace que, además, el proceso sea costoso. Si el software lógico es muy complejo y debe escribirse manualmente, se desperdician muchos recursos económicos, temporales y humanos.
  • Cuando hay grandes cantidades de datos. 
  • Siempre que cumpla la estructura de machine learning. Un problema de machine learning tiene una serie de pautas muy claras. Eso significa que el problema debe tener una variable objetivo, que puede ser, por ejemplo, clasificar clientes o averiguar el número de siniestros. Se puede identificar respondiendo a “¿qué quiero predecir?”. Una vez conseguido, hay que saber si los datos que tenemos son suficientes y adecuados para predecir lo que queremos.
¿Cuándo no podemos resolver un problema con machine learning?

Hay que tener cuidado con las expectativas depositadas en el machine learning. La mayoría de las veces los resultados que nos ofrecen los algoritmos son una base para una posterior toma de decisiones o acciones, no se traducen automáticamente en beneficios. Hay algunas excepciones, como la de Netflix: sus resultados se muestran directamente en la plataforma en forma de recomendación, no hay un empleado tomando decisiones basadas en los resultados del algoritmo. En casos así es importante evaluar las repercusiones de un error en los resultados. No es lo mismo fallar en la recomendación de una serie de televisión que en las posibilidades de sufrir un accidente en la carretera.

El machine learning no es bueno para encontrar casualidades, ya que se basa siempre en descubrir patrones. Así pues, delante de una casualidad el algoritmo no sabrá qué hacer, porque no tiene una referencia a la que relacionarla. Entonces, si el problema que queremos resolver tiene muchas casualidades, quizás deberíamos plantearnos otra forma de solucionarlo.

Incluso si la solución es buena y el algoritmo funciona perfectamente, no siempre se pueden interpretar los resultados. Con algunos algoritmos, sobre todo los árboles de decisión, es un poco más sencillo ver qué variables tienen más peso, pero otros simplemente ofrecen un resultado que no se puede interpretar, aunque este sea correcto y válido para el objetivo. Eso se debe a la altísima complejidad de los razonamientos del algoritmo. En algunos casos, a un humano le llevaría años entender por qué el algoritmo ha llegado a esa conclusión.

El machine learning no es la mejor opción para nuestro problema si no contamos con suficientes datos o no están etiquetados. Necesitamos datos etiquetados para que el algoritmo tenga referencias sobre las que aprender y poder encontrar patrones y, más tarde, ofrecer predicciones.

Hay que tener en cuenta que un proyecto de machine learning puede ser lento, por lo que puede no ser la tecnología adecuada si necesitamos ponerlo rápidamente en producción. Además, un proyecto de estas características requiere una alta tolerancia a errores. Hay que tener en cuenta que la máquina se puede equivocar, aunque el objetivo siempre es reducir el margen al máximo.

¿Cuándo es machine learning la mejor solución?
  • Cuando la escalabilidad es difícil. El machine learning funciona muy bien cuando tiene que trabajar con millones y millones de datos, lo cual no pasa con muchas otras tecnologías.
  • Cuando necesitamos resultados personalizados. Con el machine learning trabajamos con nuestros propios datos, por lo que los resultados obtenidos nos servirán específicamente a nosotros para tomar decisiones en nuestro negocio.

El machine learning ha recibido mucha atención en los últimos años y probablemente continúe recibiéndola en el futuro. Los algoritmos nos ofrecen muchas oportunidades para la toma de decisiones empresariales, pero es importante definir nuestros proyectos de machine learning de forma adecuada para poder llevarlos al éxito

 

Texto de: Maria Gorini con la colaboración de Raquel García | Data Scientist