Machine Learning: Usos y Aplicaciones

Escrito por Javier Menéndez Pallo - 27/08/2015

Por mi vinculación y pasión con esta tecnología son muchas las personas que me preguntan periódicamente acerca de los usos y avances del Machine Learning, por lo que inspirado en algunas de esas conversaciones es que surge este artículo.

Para los más profanos en el tema y sin entrar en definiciones, recordemos que Machine Learning no es un método de adivinación, y aunque pertenece a una forma de inteligencia artificial, está lejísimos de ser una base para crear una forma de pensar "fabricada". Lo que Machine Learning nos brinda es la búsqueda del patrón de comportamiento de una cosa basándose en lo que esa cosa ha hecho antes bajo determinadas circunstancias, y una vez obtenido el patrón aplicarlo con el objetivo de "acertar" o "predecir" el comportamiento futuro. Como para muestra un botón, comparto con vosotros un debate (y un deseo) que hace muy poco tenía con un también autor de esta revista: Sergio Hernández.

Conducir con rutas inteligentes, ¿deseo o realidad próxima?

El debate con este colega se centraba en la gran utilidad que tendría incorporar en los actuales coches una mejora al sistema GPS o de ayuda a la conducción que, mediante la incorporación de la información sobre hábitos, costumbres, condiciones de tráfico y meteorológicas, y nuestra forma de conducir, personalice las rutas que el sistema GPS nos recomienda.

Como ejemplo de aplicación y para aclarar la idea recuerdo una situación de la que he sido partícipe el mes pasado: dado que era un trayecto desconocido para mí, configuré el sistema GPS para llegar desde mi posición hasta el destino deseado, y este me recomendó como opción principal la ruta más rápida, con menos tráfico y haciendo uso de autopistas. En ese momento observo que esa ruta incluye peajes, y como el tiempo de conducción no era una prioridad en ese momento, configuro el GPS para que evite los peajes y este vuelve a calcular la ruta presentándome dos posibles opciones diferenciadas apenas por unos pocos minutos de tiempo de conducción. Una vez hecha la elección y siguiendo la ruta seleccionada comienzo el ascenso y descenso a un par de carreteras de montaña en la cuales la cantidad de carriles se reducía a uno, los arcenes eran inexistentes y los precipicios a borde de carretera eran importantes. Llegado al destino pensaba lo que le hubiese pasado ante esta misma situación a una persona que sufriese de vértigo, o con menos experiencia o poco acostumbrada a inclinaciones superiores a 9 grados, o con un vehículo tirando de una auto caravana, ya que la lógica del GPS los habría metido por el mismo camino y cuando llegasen a los puntos críticos se encontrarían con el problema de lleno. La verdad es que ninguna de esas 3 suposiciones la habría pasado bien y probablemente hubieran dado la vuelta y desecho camino.

Contar con asistentes a la conducción auto-adaptables a nuestros hábitos es ya casi una realidad.

Ahora imaginemos la potencia de un sistema GPS que, aunque necesite tecnología adicional, recoja información sobre los hábitos del conductor. A decir verdad, detectar cosas como "aminora o acelera excesivamente en las pendientes de bajada", "conduce muy lentamente en carreteras con acantilados a los lados", "aumento de correcciones al rumbo", "aumento de los descuidos/indiferencia a las señales", etc., no son tan difíciles de detectar y al día de hoy tenemos tecnología de sobra para ello. El rol de Machine Learning en este punto es que sería la herramienta perfecta de ayuda a la conducción basándose en la búsqueda y aprendizaje de los patrones de cada conductor. La cantidad de aplicaciones sería enorme y no solo en materia de GPS, sino que podría aportar desde cambios en los parámetros de consumo de los consumibles y la periodicidad de las revisiones técnicas, hasta el precio de nuestro seguro. Me consta que existen iniciativas que ya están tratando algunas de estas mejoras, aplicando Big Data y Machine Learning, por lo que estoy seguro que las veremos disponibles e incorporadas como un accesorio más antes de lo que creemos.

Como consumidores: ¿Queremos la personalización?

Como consumidores hay infinidad de ejemplos donde nuestros proveedores podrían mejorar el producto o servicio que nos brindan haciendo uso de Machine Learning y no cabe duda que lo notarían inmediatamente en sus ventas.

Por mencionar algún ejemplo de información que ya se recoge al día de hoy pero no se explota de esta forma, pensemos en el cómo utilizas los servicios que tienes contratados en el teléfono móvil que llevas encima.

Imagen 1.- ML aplicado a la conducción 

Simplificando mucho podríamos decir hay grupos de personas que utilizan e incluso sobrepasan el caudal de datos mensual, pero que por el contrario no llegan a utilizar la cantidad de minutos previstos/contratados para llamadas de voz. Al mismo tiempo tendremos otro grupo que actúa a la inversa, es decir muchas llamadas y pocos datos, y obviamente quedan dos grupos más que utilizan ambos servicios por debajo o por encima de los límites.

Podríamos decir que esta es la división más simple de los hábitos de consumo de los usuarios de una operadora telefónica, pero que al mismo tiempo esboza el modelo que siguen las operadoras para ofrecer las distintas modalidades de contratación. Es verdad que siempre existen paquetes adicionales que permiten personalizar la tarifa contratada, e incluso me consta que se realiza una inversión en Big Data para detectar esas necesidades y ofrecer esos paquetes al usuario vía la clásica llamada del departamento de marketing, pero esto no deja de ser Big Data pura y dura donde el estudio de patrones de comportamiento por usuario es nulo.

Muchas empresas ya cuentan con el Big Data suficiente para ser explotado mediante Machine Learning.

Dudo que un usuario se niegue a adaptar la tarifa contratada si el ofrecimiento estuviese especialmente adaptado a sus hábitos en ese momento temporal. Es decir, las técnicas de Machine Learning podrían detectar cambios en el comportamiento del usuario como ser el momento del día en que se utilizaba antes y ahora un determinado servicio, o los cambios en la cantidad de unidades que consume (minutos, bytes, etc.), o las características de ese cambio (llama a determinados números, conecta a determinados servidores, cambia o no su ubicación frecuentemente…). Una de las tareas fundamentales para dar este salto ya se realiza y no es otra que la recopilación de la información de uso (hábito), por lo que deberíamos estar cerca de empezar a recibir estas ventajas.

Utilizando este mismo ejemplo de la telefonía pensemos que es aplicable a casi todos los ámbitos. Pensar que el supermercado nos ofrezca una oferta exclusiva para nosotros si compramos verduras y pañales al mismo tiempo podría no ser algo tan descabellado para algunos usuarios que hasta hace poco solo compraban pizzas y cerveza, y en otros casos la oferta de ropa podría ser un descuento especial por compra de conjunto de camisa y pantalón, ambos a juego y en azul, los primeros dos martes de cada mes…
Imagen 2.- ML aplicado a compras cotidianas 

¿Desarrollar negocio con Machine Learning?

Ya os he mencionado algunos ejemplos de cómo muchas empresas podrían mejorar lo que nos ofrecen, ¿pero que pasa del lado de esas empresas? Ya existe un gran número de empresas que están incorporando poco a poco técnicas de Machine Learning a su modelo productivo o de ventas. Por mencionar algunos podéis ver los casos que publica Microsoft en http://azure.microsoft.com/en-us/services/machine-learning/.

Lo más importante a tener en cuenta desde el punto de vista empresarial es que el uso de Machine Learning genera impacto positivo en todo el modelo corporativo, desde la producción hasta las ventas, y para los más escépticos dejo algunas cuestiones planteadas con el objetivo de arrojar un poco más de luz sobre el tema. 

Imaginemos lo útil que sería obtener los parámetros de aceptación de un nuevo producto o servicio basándonos en los comportamientos de los usuarios tanto en lo que respecta a las campañas de marketing como a las primeras ventas que se realizan en web o tienda física de ese producto. Podríamos saber qué características son las más solicitadas y cuales son rechazadas, lo que permitiría ajustar mucho mejor el modelo de negocio y la previsión de ROI, al mismo tiempo que esa misma información es básica para optimizar las cadenas de montaje, elaboración y/o producción, e incluso permitiría ajustar mejor la petición y almacenamiento de la materia prima, la contratación de personal, etc.

Imagen 3.- Ejemplo práctico de uso de ML (Fuente: http://www.microsoft.com/en-us/server-cloud/customer-stories/thyssen-krupp-ele 

Machine Learning para prevenir enfermedades

En base a una campaña realizada por Microsoft hace poco tiempo que anunciaba un slogan llamativo a modo de "Esta es la nube que está ayudando a curar el cáncer", unos colegas me preguntaban si era real, si realmente habíamos llegado a ese punto.

Imagen 4.- Imagen de Microsoft en relación a la lucha contra el cáncer 

Nota: Más información sobre este caso en particular en http://bit.ly/PalloCmpMOSS1 y en http://bit.ly/PalloCmpMOSS2

Afortunadamente la respuesta es que sí. Específicamente no estamos hablando de un caso exclusivo de Machine Learning, pero sí de la gran capacidad de computación que ofrece Azure y como Virginia Tech hace uso de esa capacidad brutal de potencia de cálculo en la búsqueda de una cura para el cáncer. El resultado es demoledor: donde antes necesitaban 2 semanas para secuenciar y analizar un genoma, ahora logran procesar hasta 100 por día, bajando el coste de genoma secuenciado de U$S 95 MM a U$S 6.000.

Aunque no cabe la menor duda de lo que Machine Learning puede aportar al mundo de la medicina, estamos todavía muy lejos de sacar todo el provecho que nos puede llegar a dar. Por ahora es un hecho la aportación en la búsqueda de patrones en el comportamiento y mutación de virus y bacterias, la aportación en la pre-diagnosis clínica o el soporte al tratamiento de enfermedades coronarias, por mencionar algunas.

Y la lista sigue

Describiros todos los casos en los que se está aplicando Machine Learning haría este artículo el más pesado de digerir, por lo que para terminar os dejo algunas de las posibles aplicaciones que ya se están utilizando:

  • Reconocimiento Facial, Reconocimiento de Voz, Interpretación de Voz, Traducción automática: no puedes dejar de visitar https://www.projectoxford.ai/, o jugar con http://how-old.net (prueba subir una foto tuya…), o si ya tienes Windows 10 prueba a utilizar Cortana para gestionar tu Windows o prueba la traducción en tiempo real de Skype.
  • Prevención de delitos y Fraude: Policía de Cambridge, PayPal, American Express y muchos otros.
  • Adecuación de resultados en los motores de búsqueda.
  • Prevención de fenómenos atmosféricos.
  • Modelado de nuevas moléculas.
  • Realidad aumentada.
  • Reconocimiento de gestos, formas y posiciones.
  • Educación adaptativa al alumno
  • Mejora y Adaptación de proceso de producción y mantenimiento.

 

Javier Menéndez Pallo
Director Oficina Centro – España y Portugal
ENCAMINA
jmenendez@encamina.com

***