1 de abril de 2021

Machine Learning: la importancia de la automatización de decisiones

Machine Learning Logo
¿Cuál dirías que es el valor de los sistemas de inteligencia artificial? Hemos llegado al punto en el que muy probablemente en cada uno de nuestros días tenemos contacto con algún sistema basado en aprendizaje de máquina, o Machine Learning. Si tienes interés en aprender más sobre qué es el aprendizaje de máquina, y en descubrir cómo puedes generar valor con este tipo de sistemas, te recomiendo que sigas leyendo este artículo.


Machine Learning


¿Qué es el aprendizaje de máquina y cómo saber cuándo usarlo?


Cuando estamos en el trabajo, en nuestra empresa o en otro ámbito, nos enfrentamos a diferentes problemas. Algunos de estos problemas pueden ser: Cómo mejorar el producto, Cómo ganar más clientes o Cómo aprovechar mejor los recursos. Es más, probablemente tú seas la persona responsable de resolverlos. ¿Podrías resolverlo con Inteligencia Artificial?, y si es el caso ¿cómo podrías hacerlo?

Si quieres resolver un problema y te preguntas cómo hacerlo con inteligencia artificial, sigue leyendo. El objetivo es que seas capaz de:

  • Comprender los conceptos básicos para proponer una solución con Machine Learning.
  • Decidir cuándo usar y cuándo no, métodos de Machine Learning.

¿Qué es el Machine Learning?


Iniciemos definiendo al Machine Learning. Sin ser tan rigurosos, podemos decir que una máquina tiene inteligencia artificial si puede interpretar datos, aprender de ellos y usar ese conocimiento para adaptarse y alcanzar objetivos específicos.

Presta atención a las palabras resaltadas del párrafo anterior: Interpretar, aprender y conocimiento. Estas palabras son la clave para entender qué es el Aprendizaje de Máquina y el valor que puede generar. Todo esto, claro está, orbitando alrededor de los datos... los maravillosos datos. Analicemos esto con un ejemplo.

  • Los datos como fuente principal del aprendizaje dependen del problema y pueden ser estructurados como tablas de valores, o no estructurados como imágenes, texto, voz, entre otros.
  • Lo que se puede interpretar y aprender de los datos es variado, como el reconocimiento de rostros en una imagen o la velocidad a la que debe ir un coche autónomo.
  • El uso del conocimiento está centrado en la solución del problema. Un sistema de aprendizaje automático puede aprender a identificar rostros, y a su vez, este conocimiento puede ser usado, por ejemplo, para dar acceso a un inmueble o para autorizar una compra. La ventaja del aprendizaje automático es que da a las computadoras la capacidad de aprender a resolver un problema sin tener que ser programadas explícitamente para ello. ¿Cómo podemos usar el aprendizaje de máquina para resolver un problema y generar valor?

Cómo generar valor con Machine Learning


A nuestro alrededor, encontramos diferentes usos del aprendizaje de máquina. Por ejemplo Netflix, Amazon o Spotify, usan sistemas de recomendación para sugerir productos o contenido. También podemos encontrar inteligencia artificial en aplicaciones tan distintas como los coches autónomos desarrollados por Google o en sistemas de diagnóstico médico.

Piensa en tu trabajo o en tus actividades diarias, ¿qué aplicación crees que pueda tener el aprendizaje de máquina? ¿estás seguro de que esa aplicación se pueda resolver usando métodos de aprendizaje automático? Veámos cómo puedes responder a estas preguntas. Volvemos a nuestros ejemplos, piensa ¿qué tienen en común?

  • Los sistemas de recomendación deben decidir qué producto ofrecer después de conocer información de tu historial de búsquedas.
  • Un coche autónomo debe decidir, entre otras cosas, qué velocidad es segura después de conocer información sobre las características del terreno.
  • Un sistema de diagnóstico médico debe decidir si un paciente tiene cáncer de piel después de conocer, por ejemplo, las características de una marca o un lunar en la piel.

Bien. La razón por la que el aprendizaje de máquina es útil y genera valor, es que funciona para automatizar la toma de decisiones usando como entrada datos relacionados con el problema.

Nuestros ejemplos anteriores podrían ser resueltos por humanos, pero si la información o las tareas adquiren un volumen muy grande, estas acciones se vuelven imposibles. Así como ciertas tareas manuales pueden ser automatizadas con brazos robóticos, con el aprendizaje de máquina reemplazamos tareas mentales de análisis de datos con sistemas de aprendizaje automático. Ahora, del ejemplo que pensaste, ¿qué decisión se puede automatizar? ¿qué datos se pueden usar?

Hasta aquí, hemos hablado de dos elementos necesarios para un sistema de aprendizaje de máquina: ¿Qué debe aprender a decidir mi sistema? y ¿cuáles son los datos que necesito para esto?
Un tercer elemento es un modelo de análisis de datos o método de aprendizaje de máquina. Este método es el que toma como entrada los datos, y los procesa para entregar como salida la decisión automática. ¿Qué pasos se necesitan seguir para resolver un problema con aprendizaje de máquina?

Machine Learning VS Programación "clásica" (Explícita)


Este tipo de ejemplos los encuentras en mi blog Blog - Machine Learning Blog

Como ya lo hemos comentado, la inteligencia artificial genera valor al automatizar decisiones.

Así como un brazo robótico automatiza las tareas manuales, el Machine Learning (subcampo de la Inteligencia Artificial) automatiza tareas "mentales". Un ejemplo clásico es el filtrado de correos basura o spam. Una persona podría identificar qué correos son spam y cuáles no, pero debido a la ingente cantidad de correos recibidos esta tarea se vuelve imposible de realizar. Es aquí donde entra la inteligencia artificial, que aprende, a partir de ejemplos, a identificar automáticamente correos basura.

Pensemos en el siguiente problema: convertir de Celsius a Fahrenheit, donde la fórmula aproximada es:

  f = celsius\times 1.8+32

Ahora veamos la solución:

  • a) Usando programación estructurada (normal)
  • b) Usando Machine Learning
a) En programación "normal" debes dar las instrucciones de forma explícita. La solución en Python sería

def celsius2fahrenheit(celsius:float) -> float:
	fahrenheit = celsius*1.8 + 32
	return fahrenheit
f = celsius2fahrenheit(23)
print(f)

El output aquí es 73.4

b) En Machine Learning no es necesario indicar explícitamente el algoritmo. Solo le pasas ejemplos y la técnica de Machine Learning encuentra solo "el algoritmo" para la solución.

Primero iniciamos con los ejemplos:

import numpy as np
celsius_q = np.array([[-40], [-10], [0], [8], [15], [22], [38]], dtype=float)
fahrenheit_a = np.array([-40, 14, 32, 46, 59, 72, 100], dtype=float)
X = celsius_q
y = fahrenheit_a

Luego

from sklearn.svm import SVR
#TÉCNICA DE MACHINE LEARNING
svr_lin = SVR(kernel='linear', C=100, gamma='auto')
#ESTE MÉTODO "ENTRENA" AL MODELO PARA QUE APRENDA
svr_lin.fit(X, y) 
# PREDECIMOS YA QUE "APRENDIÓ"
svr_lin.predict([[23]])

El output aquí es 73.185

Como ves, nos acercamos bastante. Esta es una buena solución, pero podemos mejorarla.

En el ejemplo anterior vimos cómo el aprendizaje de máquina aprende con ejemplos sin necesidad de indicar explícitamente qué pasos se deben seguir para resolver un problema. Entonces, después de leer este artículo cómo responderías la pregunta del inicio... ¿cuál dirías que es el valor de los sistemas de inteligencia artificial?


* Artículo de Alan López *



Alan López


PhD - Machine Learning and Computer Vision



BIO

Doctor en ciencias, especialista en inteligencia artificial y visión por computadora. Ha implementado algoritmos bio-inspirados aplicados en visión robótica, mantenimiento y finanzas. Continuamente explora herramientas de inteligencia artificial aplicadas en el aprendizaje adaptativo para personalizar las experiencias de aprendizaje en línea.

Creador de la plataforma de aprendizaje Machine Learning en Español.com

LinkedIn: machine-learning-alan-lopez



2 comentarios: