Algoritmos clásicos del machine learning

Algoritmos clásicos del machine learning

En machine learning, un algoritmo es un conjunto de reglas matemáticas que permiten a una máquina aprender a partir de datos.

Gracias a estos algoritmos, los sistemas pueden identificar patrones, reconocer relaciones y hacer predicciones cuando se enfrentan a nueva información que no han visto antes.

Durante los primeros años (especialmente en la década de 2000) se popularizaron varios algoritmos sobre todo por su eficiencia, su facilidad de uso y los buenos resultados que proporcionaban en tareas muy diferentes.

Entre ellos destacan tres que, a pesar de su simplicidad en comparación con modelos más actuales, siguen siendo muy utilizados y conviene conocer:

  • Regresión: es útil cuando se busca predecir un valor continuo en función de otras variables.
  • Máquinas de vectores de soporte (SVM): son efectivas para clasificar datos en diferentes categorías, especialmente en espacios complejos.
  • Árboles de decisión: nos ofrecen una forma intuitiva y visual de tomar decisiones basadas en condiciones lógicas.

Aunque hoy existen algoritmos más sofisticados, como las redes neuronales profundas, estos algoritmos clásicos siguen siendo esenciales por su capacidad de ofrecer resultados fiables, su bajo coste computacional y, sobre todo, por su facilidad para ser interpretados por humanos.

Son una base sólida para entender el funcionamiento de modelos más complejos y siguen teniendo un papel importante en tareas donde la transparencia del modelo es un factor importante a tener en cuenta.

Veamos un poco más a fondo cada uno de ellos:

Regresión

La regresión es una familia de algoritmos cuyo objetivo es modelar la relación entre una variable dependiente (también llamada variable objetivo, el resultado que quieres obtener) y una o más variables independientes (los factores que afectan a ese resultado). Su finalidad es predecir un valor numérico continuo a partir de los datos disponibles.

Aunque existen variantes dentro de esta familia, las dos más conocidas son la regresión lineal y la regresión logística, que, a pesar de su nombre, se utiliza para clasificación binaria.

  1. Regresión lineal

La regresión lineal es el modelo más simple y uno de los más utilizados en machine learning.

Sirve para predecir un valor numérico a partir de otras variables.

Parte de la idea de que existe una relación proporcional (lineal) entre lo que queremos predecir y los factores que influyen en ello.

Funcionamiento básico:

El modelo intenta dibujar una línea recta (o una superficie si hay muchas variables) que se ajuste lo mejor posible a los datos disponibles. Esa línea representa la “mejor estimación” que el modelo puede hacer.

  • Si solo hay una variable independiente, el modelo ajusta una recta.
  • Si hay varias, el modelo construye una superficie más compleja (un hiperplano).

El objetivo es que la distancia entre los valores reales y los valores predichos por esa línea sea lo más pequeña posible. Para lograrlo, se usan técnicas matemáticas que minimizan el error global (como el método de los mínimos cuadrados).

Se utiliza cuando hay una relación clara y más o menos directa entre las variables y cuando se necesita un modelo fácil de entender y rápido de ejecutar.

  • Regresión logística

Aunque se llama “regresión”, la regresión logística no predice números continuos, sino categorías. Es decir, sirve para decidir entre dos opciones: sí o no, verdadero o falso, clase A o clase B.

Por eso se usa mucho en clasificación binaria.

Funcionamiento básico:

En lugar de devolver un número como hace la regresión lineal, este modelo calcula una probabilidad. Por ejemplo, puede decir: “hay un 80 % de probabilidad de que esta persona compre el producto”.

Esa probabilidad se obtiene con una función llamada sigmoide, que siempre da resultados entre 0 y 1.

Si la probabilidad supera cierto valor (por ejemplo, 0,5), el modelo decide que la observación pertenece a una clase. Si no, la asigna a la otra.

Los parámetros del modelo se ajustan con técnicas de optimización (como el descenso de gradiente) que buscan mejorar las predicciones poco a poco.

A pesar de su simplicidad, la regresión logística ha demostrado ser altamente eficaz en problemas de clasificación binaria, y es especialmente útil como modelo base o de referencia en proyectos de clasificación.

Máquinas de vectores de soporte (SVM)

Las máquinas de vectores de soporte (SVM) son un tipo de algoritmo que se usa sobre todo para clasificar datos. Es decir, ayudan a decidir a qué grupo pertenece algo, basándose en las características que tiene.

Su tarea principal es separar dos grupos de datos de la mejor manera posible. Para eso, el algoritmo busca una línea (en 2D) o una superficie (en más dimensiones) que divida esos grupos.

Pero no busca cualquier línea: busca la que deje el mayor espacio posible entre ambos grupos. A ese espacio se le llama margen, y cuanto más grande sea, más segura será la separación.

¿Qué pasa si los datos no se pueden separar fácilmente con una línea?

Cuando los datos no se pueden separar fácilmente con una línea recta, SVM usa una técnica especial llamada “función kernel”. Esta técnica transforma los datos en un nuevo espacio donde sí es posible separarlos de forma clara (como si tomaras un dibujo plano y lo levantaras en 3D para ver una separación que antes no se notaba).

¿Por qué son útiles?

Funcionan bien en tareas complicadas, incluso cuando hay muchas variables o dimensiones.

Si se ajustan correctamente, son modelos muy precisos y no se sobreajustan fácilmente (es decir, no aprenden del ruido innecesario del conjunto de datos de entrenamiento).

Aunque son algo más complejos que otros modelos, su rendimiento suele ser muy alto cuando se requiere una buena capacidad de clasificación.

Árboles de decisión

Los árboles de decisión son modelos predictivos que organizan las decisiones en una estructura jerárquica en forma de árbol. A través de divisiones sucesivas en los datos, basadas en condiciones lógicas sobre las variables, el algoritmo va construyendo ramas que conducen a resultados o predicciones finales.

Ventajas principales:

Su estructura es intuitiva y fácilmente interpretable, lo que los hace útiles en contextos donde la transparencia y la comprensión del modelo son esenciales.

Pueden utilizarse tanto para tareas de regresión como de clasificación, adaptando su lógica a cada caso y, además, manejan bien datos con combinaciones de variables numéricas y categóricas.

Uno de los puntos fuertes de los árboles de decisión es su capacidad para trabajar sin necesidad de preprocesamiento complejo, aunque son sensibles al sobreajuste si no se controla la profundidad del árbol o no se aplica regularización adecuada.

Bosques Aleatorios (Random Forest)

Un bosque aleatorio combina muchos árboles de decisión entrenados sobre distintos subconjuntos de datos.

Cada árbol da su predicción, y el resultado final se decide por mayoría (clasificación) o promedio (regresión).

K-Nearest Neighbors (KNN)

Este algoritmo clasifica un dato nuevo mirando qué clases tienen los K vecinos más cercanos en el conjunto de entrenamiento.

No tiene una fase de entrenamiento compleja, simplemente compara distancias. Es un algoritmo que es fácil de entender, pero puede volverse lento con muchos datos.

Naive Bayes

Modelo probabilístico que usa el teorema de Bayes, asumiendo que las variables son independientes entre sí (por eso se llama naive, es decir, ingenuo).

Muy rápido y eficaz, especialmente en textos o correos spam. A pesar de su simplicidad, puede ser muy preciso si se cumplen sus supuestos.

K-Means

Es un algoritmo de clustering no supervisado que agrupa los datos en K grupos según su cercanía.

Cada grupo tiene un centro (centroide), y los datos se asignan al más cercano. Es útil para segmentar datos, aunque requiere indicar cuántos grupos se quieren.

Clustering Jerárquico

Forma grupos de manera progresiva: empieza tratando cada punto como un grupo separado y va fusionándolos hasta formar una jerarquía. El resultado se representa en un dendrograma.

Tiene la ventaja de que no necesita definir el número de grupos desde el principio.

Perceptrón

Es el algoritmo más básico de red neuronal.

Funciona como una unidad que recibe varias entradas, las pondera y decide una salida binaria.

Ya lo mencionamos cuando vimos la historia de la inteligencia artificial porque fue el primer paso hacia las redes neuronales que hoy conocemos.

Redes Neuronales Simples

Son modelos formados por capas de perceptrones conectados entre sí. Pueden aprender relaciones más complejas que el perceptrón simple.

Aunque las primeras redes tenían pocas capas y funciones demasiado sencillas, fueron la base del desarrollo de deep learning.

XGBoost

Es un algoritmo de boosting optimizado que mejora modelos secuenciales corrigiendo errores pasados.

Es muy eficiente, preciso y rápido y por ello suele ser el ganador habitual en competiciones de machine learning.

LightGBM

Otro algoritmo de boosting muy popular, especialmente diseñado para ser rápido y consumir poca memoria.

Utiliza técnicas avanzadas para reducir el tiempo de entrenamiento sin perder precisión y por ello es muy útil cuando se trabaja con grandes volúmenes de datos.