Últimamente el concepto “machine learning” (o su traducción en castellano, “aprendizaje automático”) está a la orden del día en la mayoría de las redes sociales y empresas, pero… ¿qué es realmente el aprendizaje automático?
Un modelo de aprendizaje automático no es más que una expresión matemática que nos permite predecir los valores de una variable (a la que llamamos variable dependiente) a partir de otras (a las que llamamos variables independientes) mediante un proceso de aprendizaje del conjunto de datos que está a nuestra disposición.
Existen diversas técnicas estadísticas que llevan utilizándose muchos años cuyo objetivo es también predecir una variable dependiente a partir de otras independientes, consiguiendo así lo que se conoce como modelizar el problema. No obstante, las relativamente recientes técnicas de aprendizaje automático se centran en hacer esta modelización a partir de procedimientos iterativos para aprender de los datos, que previamente han sido tratados, limpiados y, a veces, codificados.
Uno de los problemas más comunes al utilizar este tipo de algoritmos es el famoso “sobreajuste”, que sucede cuando la combinación de expresiones matemáticas que representan nuestros datos tiene tan poca capacidad de generalización por un exceso de perfeccionamiento en el ajuste que no puede ser aplicada a datos nuevos. Sin embargo, el procedimiento seguido para aplicar estos algoritmos nos confiere cierta seguridad de no caer en este problema.
Este procedimiento se basa en dividir el conjunto de datos en tres partes: entrenamiento, validación y test, de modo que primero hacemos que el modelo se ajuste bien al conjunto de entrenamiento, luego minimizamos el error de las expresiones matemáticas reajustando sus parámetros con el conjunto de validación y, por último, aplicamos el modelo a un conjunto de prueba/test (cuyos datos no ha visto y de los que no ha aprendido) con las expresiones matemáticas refinadas anteriormente. Así pues, cuando obtenemos una buena capacidad de predicción del modelo (una bondad de ajuste alta) con el conjunto de test, estamos seguros de que nuestro modelo posee capacidad de generalización con datos nuevos y no cae en el problema del sobreajuste.
Tipos de aprendizaje automático
Actualmente hay muchos tipos y técnicas distintas para utilizar algoritmos de aprendizaje automático, aunque las 4 grandes familias principales que los engloban son las siguientes:
- Algoritmos de agrupamiento (Clustering): buscan agrupar los datos creando diferentes conjuntos llamados clusters, cada uno con unas propiedades y características específicas. Esta división de los datos en clusters se realiza midiendo las distancias de los datos (y los conjuntos que se van formando) entre sí y asumiendo que, a menor distancia entre cada par de datos, más probabilidad hay de que pertenezcan al mismo grupo.
- Algoritmos de árboles/comités de expertos (trees/ensembles): los algoritmos de árboles de decisión son modelos predictivos en los que se explica la variable dependiente a partir de un conjunto de reglas y decisiones de las variables independientes. En este caso, cada regla representa una rama (subdivisión) del árbol, siendo los nodos terminales el resultado de la variable dependiente. A menudo, se generan múltiples modelos de árboles de decisión y se realiza la predicción como un consenso entre las predicciones de cada modelo individual, dando lugar al concepto en machine learning de comités de expertos/ensembles.
- Redes neuronales (neuronal networks): constan de una capa de entrada, una o varias capas ocultas y una capa de salida, todas constituidas por unidades llamadas neuronas que se encuentran interconectadas entre sí y tienen una función u otra dependiendo de la capa en la que se sitúen. Las neuronas de la capa de entrada se encargan de repartir nuestros datos a las de las capas ocultas. Estas, a su vez, aplican diferentes operaciones a los datos. Finalmente, las neuronas de salida devuelven una combinación ponderada (lineal o no lineal) de todos los resultados de las operaciones de la capa anterior. Toda esta estructura es la que permite expresar/modelizar los datos matemáticamente para posteriores predicciones.
- Aprendizaje por refuerzo (reinforcement learning): está formado por un agente que realiza acciones en un entorno determinado y definido y va obteniendo recompensas positivas (premios) o negativas (castigos) según sus decisiones. El objetivo para el agente es explorar el mayor número de casos posibles, pudiendo así realizar una secuencia de acciones óptima según las recompensas establecidas.
Ejemplos de Machine Learning en consultoría
Una vez está clara la idea a rasgos generales de qué es el aprendizaje automático y sus principales tipos, cabe destacar las grandes posibilidades que aporta su uso en el mundo de la empresa y, concretamente, también en una consultoría. Algunas de las aplicaciones más comunes del machine learning en consultorías son las siguientes:
- Clasificar clientes/representantes en función de los beneficios que generan (utilizando algoritmos de clustering), pudiendo así incluso generar ofertas personalizadas.
- Modelizar los gustos de cada cliente y ofrecerles recomendaciones basadas en ellos.
- Detectar clientes con comportamientos anómalos (tanto demasiado positivos como demasiado negativos) para poder actuar en consecuencia.
- Realizar todo tipo de predicciones que nos ayuden en la toma de decisiones.
- Creación de chatbots que otorguen atención al cliente 24h
- Análisis y creación de textos en lenguaje natural de manera automatizada.
Ejemplo: hacer un análisis de las opiniones de clientes introducidas como texto libre en una encuesta.
En conclusión, el aprendizaje automático lo forman un conjunto de herramientas diseñadas a partir de conocimientos informáticos y matemáticos que nos ofrecen múltiples ayudas y posibilidades en todos los ámbitos, incluidos el mundo laboral y empresarial.