¿Te apasiona la Inteligencia Artificial? Si es así, entonces sabrás que el Machine Learning han revolucionado en los últimos años el campo de la IA y que es una tecnología cada vez más presente en las empresas.

Si su ecosistema te parece complejo o si te estás iniciando en su universo, recopilamos los 10 términos más importantes relacionados con el Machine Learning para que puedas familiarizarte fácilmente con esta tecnología.

1 Algoritmo (Algorithm)

Un algoritmo es una secuencia lógica de instrucciones que describen paso a paso la forma de resolver un problema.

Los algoritmos son un elemento básico en el mundo del Machine Learning y la Inteligencia Artificial.

Muy a menudo, el algoritmo funciona como una secuencia de instrucciones simples if → then. Otros son más complejos e incluyen ecuaciones o fórmulas matemáticas.

El objetivo de un algoritmo de Machine Learning es definir los pasos necesarios para aprender de los datos y resolver un problema de forma autónoma.
Algunas familias de algoritmos de Machine Learning muy populares son los algoritmos de clustering, regresión o recomendación.

2 Auto aprendizaje automático (AutoML)

El proceso de creación de un modelo de Machine Learning suele ser complejo y requiere de personas especializadas con distintas cualidades.

Dentro de estas fases, el propio modelado requiere: especialistas capaces de realizar las tareas de feature engineering, conocimiento de los algoritmos para la optimización de hiperparámetros, experiencia en el desarrollo de software para implementar en código el resultado.

AutoML nos ayudará en esta tarea, principalmente en las fases de Modeling y Evaluation de un proyecto típico.

AutoML recibirá un conjunto de datos preparados y una tarea a realizar, para ello:

  • Buscará una estrategia para preprocesar los datos (cómo tratar los datos no balanceados, cómo codificar las categorías...).
  • Generará nuevas características y seleccionará las más significativas.
  • Elegirá un algoritmo (algoritmos lineales, redes neuronales...).
  • Realizará el tuning de los hiperparámetros del modelo elegido.
  • Creará un conjunto estable de modelos para intentar mejorar el scoring obtenido si fuera posible.

3 Agregación (Clustering)

Los métodos de agregación, que son parte de los métodos no supervisados en Machine Learning, se utilizan en una situación de relativo desconocimiento del dominio.

Se trata de obtener una descripción inicial que separe grupos de objetos con características parecidas. Esta primera separación debe permitirnos analizar las características comunes de los objetos que pertenecen a cada grupo, qué los hace parecidos y por qué, y qué los diferencia de los otros grupos y por qué.

Por lo tanto, el objetivo de la agregación consiste en determinar cómo podemos separar un conjunto de objetos en varios grupos a partir de las combinaciones presentes de atributos y valores, de manera que los objetos más parecidos estén en el mismo grupo y los objetos diferentes, en grupos distintos.

Es importante darse cuenta de que en este espacio podemos definir una distancia entre objetos en función de los valores de los atributos correspondientes, que nos permiten asimilar en este espacio los conceptos de objetos parecidos y objetos próximos.

4 Aprendizaje profundo (Deep Learning)

El Deep Learning o Aprendizaje Profundo es un conjunto de algoritmos que buscan reproducir los mismos resultados que el cerebro humano.

Los algoritmos siguen una lógica de procesos por capas que simulan el funcionamiento básico del cerebro a través de las neuronas. En el Deep Learning a esas neuronas se les conoce como "capas".

Al igual que aprende nuestro cerebro cuando nos enfrentamos a aprender algo nuevo, cómo hablar, montar en bici, etc; los algoritmos buscan esta imitación aprendiendo a reconocer patrones de repetición, palabras concretas, comportamientos frecuentes, de forma que son capaces de dar respuesta de forma automática a datos de entrada, al igual que nuestro cerebro da respuesta a cualquier input.

Por ejemplo, entrenando un modelo con una base de ejemplos de imágenes de marcas de coche. Cuando el modelo recibe el input de una imagen de un coche de manera automática, es capaz de dar respuestas ante si es o no un coche, llegando incluso a devolver la marca y modelo, en caso de haber entrenado el modelo con un conjunto clasificado de marcas y modelos de coches.

5 MLOps

MLOps, o Machine Learning Operations, hace referencia a un conjunto de técnicas enfocadas a asegurar la robustez en tiempo de despliegue y operación de modelos de Machine Learning.

A pesar de poder encontrar diferentes aplicaciones concretas para esta definición, hallamos un consenso cuando hablamos de cuatro características que tiene que cumplir un modelo de Machine Learning para ser apto para producción:

  • Reproducible: tenemos que poder exportar y ejecutar el código en entornos distintos del de desarrollo. Para ello, nos apoyamos en entornos aislados y contenedores.
  • Trazable: si nuestro modelo hace algo raro, necesitamos poder localizar exactamente cómo se entrenó para poder depurarlo. Esto implica conocer tanto los datos de test y entrenamiento como los parámetros de entrada, con herramientas como MLFlow.
  • Colaborativo: los desarrollos de Machine Learning son a menudo complejos y requieren de la participación de varios científicos de datos. Debemos no solo facilitar sino alentar esta faceta, mediante el uso de repositorios comunes y control de versiones.
  • Adaptativo: la naturaleza mutable de la propia realidad hace que los modelos predictivos se desactualicen debido a cambios en las condiciones. Por tanto, hemos de prever procesos de monitorización y reentrenamiendo de nuestros modelos para mantener su vigencia.

6 Redes neuronales (Neural Networks)

Las redes neuronales son una clase de algoritmos de aprendizaje automático utilizados para modelar patrones complejos en conjuntos de datos utilizando múltiples capas ocultas y funciones de activación no lineal.

Una red neuronal toma una entrada, la pasa a través de múltiples capas de neuronas ocultas (funciones más pequeñas con coeficientes únicos que deben aprenderse) y genera una predicción que representa la entrada combinada de todas las neuronas.

Las redes neuronales se entrenan de forma iterativa utilizando técnicas de optimización como el descenso de gradiente. Después de cada ciclo de entrenamiento, se calcula una métrica de error basada en la diferencia entre la predicción y el objetivo.

Las derivadas de esta métrica de error se calculan y se propagan a través de la red utilizando una técnica llamada retropropagación. Los coeficientes (pesos) de cada neurona se ajustan en función de cuánto contribuyeron al error total.

Este proceso se repite iterativamente hasta que el error de red cae por debajo de un umbral aceptable.

7 Procesado de Lenguaje Natural (NLP)

Procesado de Lenguaje Natural es un término muy amplio que abarca todas las técnicas relacionadas con el procesamiento de comunicaciones humanas, tanto lenguaje oral como escrito.

Tradicionalmente, el análisis NLP estaba basado en reglas lexicográficas. Con el auge del Machine Learning, se pueden combinar con nuevas herramientas de IA como Deep Learning. Entre ellas, podemos destacar las redes LSTM.

Las aplicaciones prácticas de NLP son muchas y han experimentado un crecimiento espectacular gracias a las nuevas técnicas de Machine Learning.

Hay muchas aplicaciones de NLP, entre las que se pueden destacar: traducción de textos, voz a texto, texto a voz, extracción de entidades, clasificación, análisis de sentimiento, y de emociones, e incluso, bots conversacionales y asistentes virtuales como Alexa o Siri.

8 Regresión (Regression)

Los problemas de regresión buscan modelar el comportamiento de una variable cuantitativa (variable objetivo) en función de otras variables predictoras (componentes o features) que pueden ser cuantitativas o cualitativas con el objetivo habitual de realizar predicciones o estimaciones.

Existen varios algoritmos para poder resolver este tipo de problemas. Entre ellos, destacan los siguientes:

  • Regresión lineal: incluye una serie de coeficientes y un término independiente que, aplicados sobre los valores de las variables componentes, permiten generar aproximadamente el valor de la variable objetivo. Requiere el uso de variables cuantitativas y destaca por su facilidad de interpretación.
  • Árboles de decisión: la muestra se particiona según la profundidad del árbol y se promedian los valores de la variable objetivo en los nodos hoja. Su interpretación es sencilla y funciona tanto con variables componentes cualitativas como cuantitativas.
  • Random Forest y Gradient-Boosted Trees: estos modelos, disponibles también en problemas de clasificación, pueden utilizarse en regresión para conseguir un mejor ajuste de la variable objetivo aunque dificultando la interpretación de los modelos.
  • Redes neuronales: permiten modelar la variable objetivo mediante el cálculo de coeficientes por retropropagación. El uso de múltiples capas intermedias aumentará la complejidad del modelo pudiendo mejorar el ajuste de las predicciones.

9 Aprendizaje de refuerzo (Reinforcement Learning)

El aprendizaje por refuerzo es uno de los tres tipos en los que se suelen agrupar los tipos de aprendizaje (junto a supervisado y no supervisado).

Se diferencia de los otros tipos en que trata algoritmos orientados a objetivos. El algoritmo debe aprender cómo lograr un objetivo complejo o uno a largo plazo a través de varios pasos.

Se definen los siguientes conceptos:

  • Agente: el elemento que ejecuta las acciones.
  • Policy: la estrategia que decide qué acciones se ejecutan en base a un estado.
  • Entorno: el mundo en que se mueve el agente.
  • Recompensa: la medida sobre la que se decide la bondad de una acción.
  • Estado: la situación del entorno en un momento específico.
  • Acción: una de los distintos actos que el agente puede ejecutar.

1 0. Tensorflow

Tensorflow es la biblioteca de código abierto desarrollada por Google para llevar a cabo proyectos de Machine Learning.

TensorFlow fue creada por el equipo de Google Brain y liberada en 2015 bajo licencia Apache 2.0. Hoy en día es una de las herramientas más extendidas en el mundo del Machine Learning, en particular para la construcción de redes de neuronas.

Aunque TensorFlow se usa principalmente en el área del Machine Learning, también se puede usar para otro tipo de algoritmos que requieran tareas de cálculo numérico mediante grafos de datos.

Existen otras alternativas a TensorFlow en el mercado como PyTorch de Facebook y MXNet de Amazon.

¿Te has quedado con ganas de más?

Esta es tan solo una pequeña recopilación de los 10 términos básicos que debes conocer para adentrarte en el universo del Machine Learning, pero si quieres profundizar más, descárgate nuestro eBook 'Machine Learning: 50 conceptos clave para entenderlo'.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.