¿Qué demonios es el aprendizaje automático (ML)?

 


¿Qué Demonios es el Aprendizaje Automático (ML)?

Hoy en día es común pensar que vivimos en un mundo controlado y gobernado por geeks de la tecnología y científicos de datos y, sin embargo, durante reuniones y llamadas con clientes, a menudo me encuentro con situaciones en las que un buen número de personas tiene aún muchas dudas sobre tecnología y se acercan a mí con preguntas honestas y francas sobre diversos temas, desde la administración básica de datos, hasta tópicos específicos de analítica e inteligencia artificial.

Por esto, he decidido tomar algo de tiempo para hacer una serie de publicaciones que respondan, de la manera más simple posible, las preguntas comunes que recibo en mi día a día como consultor y analista.

Y bueno, he decidido comenzar con una de las preguntas más frecuentes hoy en día:

¿Qué demonios es el aprendizaje automático?

Espero que esta serie sea de su agrado y utilidad, comencemos. 


Aprendizaje Automático en Breve


El aprendizaje automático o ML (machine learning) es una disciplina que evolucionó como parte o en paralelo con otras disciplinas más grandes, incluyendo la minería de datos, la Inteligencia Artificial (IA) y, en muchos aspectos, a la par de otras como estadística tradicional, y otras disciplinas matemáticas.

En términos simples, la ML se enfoca en el desarrollo de modelos matemáticos y algoritmos que tiene en particular la habilidad de procesar información y, a partir dicho procesamiento, "aprender" con cada iteración para adaptarse y, posteriormente, mejorar los resultados.

De acuerdo con Pedro Domingos, profesor de la Universidad de Washington y autor de The Master Algorithm, el concepto de "aprendizaje" en el sentido de la ML, aunque lejos de ser simple en la práctica, comienza con la siguiente sencilla definición o expresión:


Aprendizaje = Representación + Evaluación + Optimización

En donde:

  • Representación: Hace referencia a la forma en la que representan los datos o el conocimiento en un modelo, incluyendo la elección de algoritmos y estructuras (por ejemplo, árboles de decisión, redes neuronales o máquinas de soporte vectorial) los cuales pueden capturar patrones en los datos.
  • Evaluación: Este componente implica determinar qué tan bien funciona un modelo o hipótesis, generalmente medido mediante una función objetiva como la precisión, la tasa de error o una métrica personalizada, según el propósito del modelo.
  • Optimización: Este componente se refiere al proceso de ajustar los parámetros del modelo para maximizar la función de evaluación. Se trata de encontrar la mejor manera de configurar el modelo en función de los datos, lo que a menudo requiere técnicas como el descenso de gradiente, la retro propagación u otros algoritmos de optimización.


Esta expresión nos permite ver que, en resumen, aprendizaje (en este caso, aprendizaje automático) es el proceso por el cual el modelo mejora sus predicciones al refinar iterativamente su representación, evaluar su desempeño y con ello poder optimizar sus parámetros de manera progresiva.

Para ello, la ML requiere de un elemento o etapa importante, el entrenamiento.


El aprendizaje automático se entrena

El entrenamiento se refiere específicamente a esta fase de ajuste iterativo, donde el modelo aprende de los datos y reduce progresivamente el error. Este proceso cíclico de representación, evaluación y optimización es fundamental para que los modelos de aprendizaje automático se vuelvan competentes en sus tareas.

En general, existen dos formas básicas o estrategias para llevar a cabo el proceso de entrenamiento, éstas incluyen (Figura 1) :

  • Una estrategia supervisada, mediante la cual el modelo aprende a partir de datos previamente etiquetados o marcados. En este caso el objetivo es predecir los resultados de una nueva muestra de datos entrante con la ayuda de datos previamente marcados o identificados que sirven como base de comparación a aprendizaje, así, el sistema trabaja mediante un sistema de referencia que le permite aprender y reclasificar nuevas entradas. Aplicaciones comunes incluyen detección de spam y predicción de precios.   
  • Una estrategia no supervisada, mediante la cual el modelo aprende a partir de muestras de datos si etiquetas o identificaciones previas. El objetivo de esta estrategia es precisamente la identificación de patrones o estructuras dentro de los datos ya sea para agrupar datos similares o para reducir su complejidad o dimensionalidad, es decir, descubrir estructuras o relaciones ocultas entre los datos.

Por supuesto, hoy en día existen estrategias derivadas que combinan las dos anteriores, como es el caso del aprendizaje semi supervisado y otros, aunado el constante surgimiento de nuevos modelos de aprendizaje automático. Pero entonces, ¿qué es un modelo?


El modelo y sus múltiples formas

Como mencionamos brevemente, un modelo es una representación matemática o función que se entrena con datos para reconocer patrones, hacer predicciones o incluso tomar decisiones en función de dichos datos.

El modelo se construye a partir de algoritmos que analizan datos de entrada y a partir de dicho análisis son capaces de ajustar sus parámetros para mejorar sus resultados. En términos simples, un modelo de ML “aprende” de ejemplos anteriores para realizar predicciones sobre datos nuevos.

A medida que emergen nuevos modelos y algoritmos han surgido también formas para clasificarlos en taxonomías según diferentes criterios, como el tipo de entrada, salida, requerimientos y su uso en diferentes situaciones y escenarios de casos de uso.

Algunos de estos enfoques incluyen (en orden alfabético):

  • Agrupamiento (clustering)
  • Algoritmos genéticos
  • Árboles de decisión
  • Aprendizaje automático basado en reglas
  • Aprendizaje automático por diccionarios dispersos
  • Aprendizaje automático por reglas de asociación
  • Aprendizaje automático por de similitud y métricas
  • Aprendizaje automático por refuerzo
  • Máquinas de vectores de soporte
  • Programación lógica inductiva
  • Redes bayesianas
  • Redes neuronales artificiales
    • Aprendizaje profundo
  • Sistemas de aprendizaje por clasificadores o MRL


Figura 1. Aprendizaje supervisado vs no supervisado 


¿Qué es una solución de software de aprendizaje automático (ML)?

A través del tiempo, una combinación de factores, como la evolución de los modelos y algoritmos de aprendizaje automático, así como el continuo avance en tecnologías de software y hardware, ha permitido que el software de aprendizaje automático ha permitido la adopción del aprendizaje automático dentro de un creciente número de soluciones de software para resolver problemas más diversos y su inmersión en un número creciente de procesos empresariales.

En esencia, una solución de software de aprendizaje automático es simplemente una pieza de software con características funcionales específicas de aprendizaje automático, diseñadas para resolver problemas específicos o generales donde el aprendizaje automático sea aplicable.

En este sentido, es posible ver que el software de aprendizaje automático evoluciona en tres formas principales:

  1. Como aplicaciones independientes para el desarrollo de soluciones basadas, o que soportan funcionalidades de aprendizaje automático, y otros enfoques de analítica avanzada e inteligencia artificial, tal es el caso de soluciones comerciales como Eureka AI by SymphonyAI, BigML, Dataiku, DataRobot y Emcien, así como otras creadas a partir de iniciativas de código abierto, tal es el caso de clave para su adopción generalizada e implementación, incluyendo proyectos como The R Project, Hadoop Mahout, Spark MLlib o Tensorflow.
  2. Como parte de los portafolios de software de grandes proveedores, tal es caso de los Servicios de Aprendizaje Automático de AWS de Amazon, Watson.ai de IBM, Microsoft Azure AI Studio, SAS Viya, entre otros.
  3. Como oferta de software embebida en soluciones de software empresarial, diseñadas para mejorar y optimizar las funciones que dichas soluciones realizan, algunos ejemplos incluyen: los servicios de inteligencia artificial de Infor o IFS.


Hoy en día es probable que, tanto trabajadores de la información como usuarios comunes de cualquier tipo de software, estén, de una forma u otra, consumiendo o utilizando recursos de software que en mayor o menor medida utilizan alguna forma de técnica de aprendizaje automático.


OK, pero entonces, ¿Cómo Puedo Usar el Aprendizaje Automático en Mi Organización?

Pues bien, a medida que aumenta la popularidad y la sofisticación del aprendizaje automático, también lo hacen los casos de uso. 

A continuación, te presento una breve lista de algunos usos del aprendizaje automático en diferentes industrias y líneas de negocio:

  • Sistemas de recomendación: probablemente el caso de uso más común es donde se despliegan algoritmos de aprendizaje automático para analizar la actividad en línea de los clientes o usuarios de una organización para determinar preferencias de compra o consumo individuales y/o colectivas, lo que permite al sistema aprender cada vez más sobre el comportamiento de los clientes y así, incrementar la precisión de las predicciones del sistema.
  • Personalización de marketing: hoy en día, algunas organizaciones aplican técnicas de aprendizaje automático para entender mejor el comportamiento y gustos de sus clientes y su audiencia, y así mejorar sus campañas de marketing.
  • Detección de fraudes: Hoy en día compañías como Paypal utilizan soluciones de software de aprendizaje automático para analizar todas sus transacciones, para así aprender e identificar las transacciones fraudulentas de las legítimas, cada vez con mayor rapidez y eficiencia.


Estos, por supuesto, son solo algunos ejemplos de un amplio número de casos prácticos que hoy en día existen en diferentes industrias, desde la salud hasta las finanzas y muchas otras.


Ok, y entonces?

Pues bien, por un lado, hoy en día no es difícil encontrar casos prácticos acerca del uso del aprendizaje automático, y este número sigue creciendo, por lo que, si estás considerando adoptar una solución de aprendizaje automático, es muy probable que encuentres una que se ajuste a tus necesidades actuales.

Por otra parte, dado que es posible encontrar muchos tipos de soluciones en el mercado, tanto comerciales como de código abierto, es probable que si estas en busca de una solución para la aplicación del aprendizaje automático sea posible evaluar algunas de estas opciones para entender los beneficios de tener capacidades de aprendizaje automático en tu organización y encontrar una solución de acuerdo con tus necesidades posibilidades.

Claro que es importante señalar que, como con cualquier otro tipo de software, lo recomendable es hace un trabajo previo para descubrir y diseñar la mejor estrategia para adoptar una iniciativa de aprendizaje automático en tu organización.

Esto incluye una definición clara y bien delimitada de tus necesidades reales, lo que te ayudará a descubrir la mejor solución en el mercado para las necesidades de tu empresa.

Un último consejo, no busques una solución estándar. Busca la más conveniente para tu organización.


Comentarios

Entradas más populares de este blog

Latam-GPT: La inteligencia artificial con sello latinoamericano

Inteligencia Artificial en América Latina: Chile, Entre el Crecimiento y las Consideraciones Éticas

Breve Introducción a la Ley de Inteligencia Artificial de la Unión Europea