martes, 16 de mayo de 2017

Machine Learning

 "Los ordenadores son inútiles. Sólo pueden darte respuestas" Picasso

(tiempo de lectura medio estimado, sin links: 2 mins y 10 segs)

Machine learning es un término al que vamos a tener que acostumbrarnos en breve. Se trata de la capacidad de las máquinas de aprender por ellas mismas. No significa que una tostadora pueda rebelarse, pero sí que un software de Inteligencia Artificial pueda hacer funciones más allá de las que tenía programadas en un principio.

La Inteligencia Artificial convencional está acotada por la inteligencia del programador, es decir, un sistema sólo puede tomar decisiones que previamente estaban parametrizadas y programadas de fábrica. Por ejemplo, una Inteligencia Artificial puede decidir bajar las persianas automáticamente en una oficina si el sol pudiera ser molesto para el usuario, aunque la decisión la toma basándose en la hora que es, en si el clima es soleado y en si hay gente en la oficina, no es una decisión que tome el sistema, la decisión la ha tomado el programador y ha dejado marcadas las condiciones de antemano. Sólo ha tenido que instalar unos sensores de luminosidad, de presencia y un reloj para ver cuando se cumplen esas condiciones.

Machine learning da un paso más. Igual que en el ejemplo anterior, el sistema sólo tiene opción de bajar y subir las persianas, pero en lugar de un sistema rígido de condiciones en el que si los sensores mandan los datos concretos se bajan las persianas, dispone de un algoritmo. Este algoritmo acumula datos en una base de datos y los analiza, el programador no le dice en qué condiciones debe bajar las persianas, pero el algoritmo le indica que tome nota de cuándo los usuarios bajan las persianas manualmente, y en qué condiciones, para intentar replicarlo en el futuro. Los primeros intentos serán muy inexactos porque no tendrá suficientes datos para trazar patrones, pero a medida que los usuarios vayan utilizando las persianas de forma manual, o corrigiendo el comportamiento del sistema (por ejemplo, subiendo las persianas si las ha bajado cuando no era necesario), aumentará el número de datos a analizar, el comportamiento será mucho más preciso y se adaptará a cada oficina, porque no todas están localizadas en el mismo punto, ni sus usuarios tienen las mismas preferencias. Un buen algoritmo incluso podrá adaptarse a cambios estacionales, a distinguir a los usuarios en función de sus rutinas y ofrecer un servicio personalizado, etc.

Este ejemplo es sencillo ya que hay pocas variables, las funciones son sencillas y el usuario puede determinar muy claramente sus opciones. Una buena programación convencional podría simular un sistema de Inteligencia Artificial avanzado de grandes prestraciones, que tome múltiples decisiones y elija, todavía en función del criterio del programador. ¿Pero qué sucede cuando hay millones de datos y opciones cruzadas? Allí donde el análisis estadístico y las limitaciones de un equipo de programadores tiene su tope, el machine learning se impone y se sofistica día a día, y su uso del big data es la llave para una Inteligencia Artificial más autónoma que ofrezca mejores servicios.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.