REVIEWS

Qué es el Machine Learning: guía para principiantes

Parecen las nuevas palabras de moda. Como muchas veces, gracias a Google y a su conferencia ‘The Magic in the Machine’, se oye con más frecuencia que nunca sobre machine learning. Pero, ¿qué es el dichoso machine learning?

En primer lugar podemos decir que es un conjunto de técnicas aplicadas a la inteligencia artificial que permiten a las máquinas aprender, donde esta IA se obtiene a partir de ejemplos ya dados. O, lo que es lo mismo: un proceso de inducción de conocimiento.

Una cuestión de algoritmos

linear

 

‘Para que el sistema sepa que esto es un perro, le enseñamos fotos de perros. Si dice que esto es un perro pero en realidad no, tiene que entender que se ha equivocado’. Estas son palabras de Jeremiah Harmsen, líder del departamento de Investigación de Google en Europa.

Esto es el machine learning: algoritmos de categorización. Supongamos que tenemos una bolsa de datos: colores, formas y tamaños. Y cada color está asociada a un fabricante de vehículos. Mediante un algoritmo de clasificación ML podremos enseñarle a la máquina cuáles corresponden a una u otra marca.

Técnicamente, esto se conoce como regresión lineal: modelar la relación entre una variable dependiendo de Y, y una o más variables independientes de X. La diferencia entre el aprendizaje tradicional (mediante comandos) y el ML está en que, gracias a un conjunto de reglas básicas determinadas sobre el algoritmo, la máquina puede seguir aprendiendo, sin necesidad de que nadie le “enseñe”.

Es decir, el algoritmo de entrenamiento se encarga de generar el modelo selectivo, y es el algoritmo de predicción el encargado de clasificar futuras entradas en base a esta información. Como es obvio, a mayor número de entradas y definiciones, más preciso será el algoritmo.

Las posibilidades del In – On

modelo

Gracias a este sistema de entrenamiento (In) y etiquetado (On) podemos, por ejemplo, detectar si un tumor es maligno o benigno a juzgar por sus características específicas, sin necesitar un análisis médico.

Antes de ser usados en firme, este tipo de modelos son “entrenados”, para comprobar si sus reacciones a los patrones de información son correctos. Una vez entrenados, sus predicciones pueden ahorrar tiempo y dinero a las empresas que apliquen los distintos algoritmos ML. Dependiendo de la frecuencia y precisión de acierto, se determinará la “calidad” de este algoritmo. Pero no olvidemos que hasta un experto en su campo cuenta con cierto margen de error.

Este tipo de algoritmos también se pueden poner a operar de forma independiente, por ejemplo en portales de venta de vehículos y viviendas. Si las variables X son las características (posición geográfica respecto al centro, número de habitaciones, materiales, tamaño, antigüedad), Y sería el precio resultante. Con esta herramienta podemos predecir a qué precio vender o comprar una nueva vivienda.

Resolviendo problemas de regresión logística

curva de aprendizaje

El ML va más allá de estas simples predicciones. También puede ser usado para clasificar grupos. Supongamos que tenemos que asignar a un grupo de datos una distinta categoría de tres posibles.

Usando una función sigmoide —una fórmula que estudia la curva de la función logística— podremos crear los grupos: esta recibe cualquier número de entrada y le devuelve un número real comprendido entre 0 y 1, que nosotros interpretaremos como una probabilidad. Dependiendo de la posición de la curva en cada caso, sabremos a qué grupo pertenece.

Como es evidente, para aplicar esta regresión logística, necesitamos un banco de datos previamente clasificado para entrenar el algoritmo. No olvidemos que es como un niño: primero observa, después actúa, y si lo hace mal le “regañamos” hasta que corregimos su comportamiento.

La regresión logística es una de las herramientas más populares del mundo. Se usa tanto valorando riesgos de inversión como detectando el spam de nuestras cuentas de correo. Igual ahora te explicas por qué algunas palabras son interpretadas directamente como spam pero, aunque dijeras esas mismas palabras en un correo entre amigos, el sistema no descartaría tu correo.

K-means, SVM y las API’s

kmeans_2d

Todos estos nombres raros hacen referencia a distintos algoritmos y sus posibles aplicaciones. El clustering k-means tiene la función de encontrar clústeres o relaciones entre los datos que tengamos, sin necesidad de un entrenamiento previo. ¿Cómo? Mediante aleatoriedad. Usamos uno de los clústeres como punto de referencia (centroide) y, a partir de ahí, vemos cuáles son los datos más cercanos a cada centroide, para asignarlos a este clúster. Algo así como alcaldes por barrios.

A partir de aquí, tan solo tenemos que ir moviendo los centroides de manera iterativa hasta dar con la “forma perfecta”. Más exigente y usado en los motores de búsqueda de grandes bases de datos, este algoritmo es sencillo e ideal para encontrar convergencias entre miles de referencias.

El SVM, siglas de Support Vector Machine, también es un algoritmo encargado de solucionar problemas de clasificación. Y las API’s son las diferentes interfaces de aplicaciones de programaciones.

Si nos fijamos en el uso común del big data podemos entenderlo de manera sencilla: emulando el sistema de las cajas negras —dentro hay datos clasificados sin que nadie del “exterior” intervenga— se pueden interpretar datos en la nube sin necesidad de ninguna infraestructura, mediante aprendizaje automático.

2.png

O, lo que es lo mismo, MLaaS (machine learning as a service), servicios que ofrecen herramientas de aprendizaje automático, visualizando datos. Ya sea el algoritmo de reconocimiento de sonrisa incluido en millones de cámaras, el procesamiento de lenguaje por voz, el texto predictivo de WhatsApp, todas estas herramientas nacen de centros de datos que un proveedor maneja. El resto es un muy optimizado cálculo en tiempo real.

Claro, esto puede aplicarse más allá de lo obvio. Imagina que no solo el texto predictivo reconoce o sugiere las palabras que deseas decir, sino que asocia estas palabras a una emoción. Imagina que en un simple trozo de texto de un tuit, la API interpreta cómo te sientes y, en consecuencia, te sugiere imágenes o GIFs acordes a la ocasión. Bien: eso existe desde hace años.

El bosque perdido

random

Se llama “random forest” y es otro de los algoritmos más habituales y potentes. Consiste en combinar árboles de decisiones y que juntos formen un árbol. El dato aislado no es nada, pero puede ser parte de algo.

Si tenemos un valor de entrada y lo clasificamos en función de su condición, se irán creando distintas ramas que, a su vez, pertenecerán a una distinta categoría raíz. Piensa en el esquema de la clasificación del reino animal que estudiaste de pequeño y ya lo tienes.

Seguramente has oído hablar del popular big.LITTLE, una arquitectura de ordenador en la que (big) son los procesadores más potentes, los que consumen más energía, y (LITTLE) los que dan ese empujón extra cuando son necesarios y, mientras tanto, quedan en reposo para ahorrar energía y así consumir menos batería del móvil. Bien, pues la herramienta random forest se usa para definir los criterios que repartan la carga de computación.

Todos viviremos en la nube

Smart connected trucks infographic

Que se hable tan positivamente del big data y el cloud computing atiende directamente a este tipo de herramientas. Una gran base de datos no es nada por sí misma, sino información en bruto.

En cómo se interpreten y analicen está la virtud. Google cuenta con sus propios servicios, como tantas otras, y no podrían operar de manera analógica con tantísima información: necesitan herramientas de clasificación y análisis automático. Pero, sobre todo, necesitan poseer esos datos.

Conocimiento gratuito

1

Geoffrey Hinton, profesor de informática de la Universidad de Toronto, publicó en Youtube una serie de magníficas lecturas para profundizar en el ML: cómo se aplica en el reconocimiento de objetos, la segmentación de imágenes, el lenguaje de modelado, etcétera. Se trata de un curso donde se ponen en práctica trucos para aplicar diferentes algoritmos basándose en el lenguaje de programación Python.

Desde luego, existen muchos más algoritmos y las posibilidades combinatorias y de configuración con cada algoritmo son enormes. Solo hay que fijarse en los distintos buscadores de internet: cada uno realiza un análisis distinto de los mismos datos que introducimos.

En definitiva, el Machine Learning, como el aprendizaje real y natural, siempre contará con campo de mejora, ayuda a definir lo que entendemos por Inteligencia Artificial y logra ahorrar grandes cantidades de recursos: Google aplica estos avances para hacer más eficientes sus centros de datos, reduciendo en un 40% el consumo de energía.

Aún queda mucho para ver un cerebro virtual comportarse con la eficacia del nuestro, pero gracias a estos “atajos” podemos comprender las distintas formas de aprendizaje de las máquinas y cómo hacerlas, en definitiva, más inteligentes e intuitivas.

HACE 2 AÑOS