Introducción al Machine Learning

12 Sep, 2017
Realizado por nuestra SmartB María Victoria Jorge

 

Introducción al Machine Learning

Cuando se escucha hablar sobre Machine Learning o Inteligencia Artificial  suele relacionarse con problemas muy complejos. Distantes al día a día común de la gente, hasta robots que dentro de poco tomarán nuestros puestos de trabajo.

La realidad es diferente. Estamos rodeados de aplicaciones que utilizan este tipo de tecnología aunque a veces no lo notemos. Desde que entramos a nuestro servicio de correo electrónico y nuestros mensajes están separados entre importantes y “spam”. Cuando subes una imagen a Facebook y te sugiere etiquetar a amigos que aparecen en ella. O cuando servicios de música como Spotify te recomiendan acertadamente nuevos grupos o canciones basándose en lo que has escuchado antes. ¿Alguna vez te paraste a pensar cómo se hacía todo esto?

 

¿Qué es el machine learning?

 

MachineLearning

Machine Learning

 

El aprendizaje de máquina o machine learning es un área de la Inteligencia Artificial que busca construir algoritmos que puedan aprender a realizar predicciones basadas en datos. En lugar de seguir una serie de reglas, los algoritmos son entrenados para detectar patrones en conjuntos de datos.

La idea en este tipo de modelos es mejorar sobre una tarea T, con respecto a una medida de desempeño P, basado en la experiencia E.

Tomando como referencia el caso de Deep Blue, la famosa computadora de IBM que logró vencer al campeón de ajedrez Gary Kaspárov en los años 90. En ese ejemplo la tarea que se quiere realizar es jugar ajedrez. La medida de desempeño podría ser el porcentaje de juegos ganados contra oponentes y la experiencia proviene de datos generados al jugar la máquina consigo misma.

 

¿Cuáles son los tipos de aprendizaje?

 

Tipos de Aprendizaje

Tipos de Aprendizaje

 

Aprendizaje supervisado

 

En el aprendizaje supervisado los algoritmos son entrenados sobre datos etiquetados. Para esos datos se conoce cuál es el valor esperado o la respuesta “correcta”. Esto implica aprender una función a partir de ejemplos de sus entradas y salidas.

Un ejemplo sencillo para entender este tipo de aprendizaje es el de un estudiante tomando un examen. El estudiante marcará las respuestas que crea correctas y al finalizar recibirá retroalimentación de un profesor. Este le indicará cuáles fueron respondidas correctamente. El estudiante podrá aprender de sus errores comparando sus respuestas con las indicadas por el profesor, mejorando así su desempeño.

Dependiendo del tipo del valor de salida, los modelos pueden subdividirse en:

-Problemas de regresión: cuando el valor que se desea predecir es numérico, por ejemplo: predecir precios de viviendas

-Problemas de clasificación: cuando el valor a predecir es una etiqueta o una cantidad pequeña de valores. Como el caso de predecir si un correo electrónico es spam.

Desde nuestro Laboratorio de Cognitiva estamos desarrollando soluciones que trabajan sobre este tipo de algoritmos, como nuestro SmartBot que permite comunicación 24/7 con tus clientes usando procesamiento de lenguaje natural, o nuestro servicio de  Smartbase Claim Services que permite reportar siniestros menores de vehículos a partir de reconocimiento de imágenes.

 

Aprendizaje no supervisado

 

El aprendizaje no supervisado nos permite abordar problemas donde no sabemos cuál es el tipo de resultado que estamos esperando. A diferencia del aprendizaje supervisado, no tenemos ningún tipo de retroalimentación basada en resultados de las predicciones realizadas.

Con estos modelos es común realizar agrupamientos en los datos. Bien sea para encontrar patrones en las entradas o para reducir la cantidad de variables que se manejan para modelarlos.

Si agrupamos por datos, conocido como clustering, podemos encontrar algunos casos de uso como la segmentación de mercados para orientar campañas de marketing, o sistemas de recomendación. Estos últimos son muy comunes actualmente en sistemas donde se utiliza filtrado colaborativo o basado en contenido. Por ejemplo, revisamos un producto en Amazon, el sistema sugiere productos que podrían interesarte según tu perfil de usuario o en históricos de compra de usuarios similares a ti.

 

Aprendizaje por reforzamiento
              

En este tipo de aprendizaje la acción “correcta” no está dada, pero la acción escogida tiene consecuencias. Esto se provee al algoritmo de una función de recompensa que indica al agente cuándo lo está haciendo bien y cuándo no. Un ejemplo común para entender esto es la forma en la que aprenden los perros. Cuando hacen una acción que a sus dueños les parece mala reciben un “castigo”. Cuando hacen algo positivo que al dueño le parece una buena acción, reciben una “recompensa”. Así pueden asociar cada acción a una recompensa positiva o negativa que haya recibido. Esto condiciona su toma de decisiones en el futuro.

Este aprendizaje ha sido utilizado en aplicaciones como: control de vuelo de helicópteros autónomos, movimiento de robots y en el área de juegos, donde puede saberse si se ganó o perdió una partida, pero no se sabe qué movimientos llevaron a ese resultado.