El bosque aleatorio es un método de aprendizaje por conjuntos utilizado para clasificación, regresión y otras tareas. Construye un gran número de árboles de decisión durante el entrenamiento y combina sus resultados: para clasificación, devuelve la clase seleccionada por la mayoría de los árboles; para regresión, promedia las predicciones de los árboles individuales. El método corrige la tendencia de los árboles de decisión profundos a sobreajustar su conjunto de entrenamiento, reduciendo la varianza mientras mantiene un sesgo bajo.
El primer algoritmo de bosque aleatorio fue desarrollado en 1995 por Tin Kam Ho, basado en el método de subespacio aleatorio, que implementa el enfoque de discriminación estocástica propuesto por Eugene Kleinberg. Leo Breiman y Adele Cutler ampliaron posteriormente el enfoque combinando el embolsado con la selección aleatoria de características, y registraron «Random Forests» como marca comercial en 2006; a partir de 2019, la marca pertenece a Minitab, Inc.
Antecedentes: árboles de decisión y sus limitaciones
Los árboles de decisión son un método ampliamente utilizado en aprendizaje automático. Particionan el espacio de características mediante una serie de divisiones binarias, lo que los hace escalables y fáciles de interpretar. Sin embargo, los árboles profundos tienden a aprender patrones muy irregulares, lo que conduce a un sesgo bajo pero una varianza muy alta. En la práctica, los árboles entrenados sobre un conjunto de datos concreto pueden cambiar drásticamente si se modifican algunos puntos de entrenamiento, y sus predicciones suelen ser precisas solo para los datos de entrenamiento. Rara vez son precisos con datos no vistos, como señalaron Trevor Hastie y sus colegas. Los bosques aleatorios abordan este problema promediando muchos árboles profundos, cada uno entrenado sobre diferentes subconjuntos de datos, para reducir significativamente la varianza.
La dificultad con los métodos de árbol es que cultivar demasiados árboles sobre los mismos datos produce predicciones correlacionadas. Para descorrelacionar los árboles, los bosques aleatorios utilizan el remuestreo bootstrap y la selección aleatoria de características, lo que hace que los árboles individuales sean diversos pero sólidos.
Historia y desarrollo
La idea general de los bosques de decisión aleatorios aparece en el trabajo de 1993 de Salzberg y Heath, quienes propusieron utilizar un algoritmo de árbol de decisión aleatorizado para generar múltiples árboles y combinarlos mediante votación por mayoría. En 1995, Tin Kam Ho amplió esta idea, mostrando que los bosques de árboles que se dividen en hiperplanos oblicuos pueden ganar precisión a medida que crecen sin sufrir sobreentrenamiento, siempre que los bosques se restrinjan aleatoriamente a solo un subconjunto de dimensiones de características. El método de Ho, llamado método de subespacio aleatorio, construía árboles proyectando los datos de entrenamiento en subespacios de características seleccionados aleatoriamente. Este enfoque fue un paso clave en el desarrollo de los bosques aleatorios.
Trabajos posteriores de Amit y Geman introdujeron de forma independiente la idea de buscar un subconjunto aleatorio de decisiones posibles en cada división, aunque la aplicaron a un único árbol. De forma independiente, Thomas Dietterich introdujo la idea de la optimización aleatoria de nodos, en la que el atributo elegido en cada nodo se selecciona mediante un procedimiento aleatorio en lugar de un criterio determinista de optimalidad. Estas ideas, combinadas con los trabajos anteriores de Leo Breiman sobre embolsado, condujeron a la formulación moderna de los bosques aleatorios. El influyente artículo de Breiman de 2001, uno de los más citados en aprendizaje automático, combinó estas ideas y proporcionó un límite teórico para el error de generalización basado en la fuerza de los árboles y su correlación dentro del bosque.
El artículo de Breiman también estableció herramientas prácticas: el error fuera de bolsa para estimar el error de generalización sin necesidad de un conjunto de validación separado, y la importancia de variables basada en permutaciones, que mide cómo se degrada el rendimiento cuando se barajan los valores de una característica. Estos siguen siendo aspectos fundamentales de los bosques aleatorios en la actualidad.
Embolsado y aprendizaje por conjuntos
La técnica base en los bosques aleatorios es el agregado bootstrap, o Bagging. Dado un conjunto de entrenamiento con características X y respuestas Y, se muestrea con reemplazo B veces a partir de los datos de entrenamiento, creando cada vez un nuevo conjunto de datos del mismo tamaño. A cada muestra bootstrap se ajusta un árbol de decisión, generalmente profundo y sin podar. Tras el entrenamiento, las predicciones para un nuevo punto se obtienen promediando en regresión o tomando el voto mayoritario en clasificación. Este meta-algoritmo reduce la varianza sin aumentar el sesgo, porque el promedio de muchos árboles que no están correlacionados es más estable que un solo árbol.
El muestreo bootstrap descorrelaciona los árboles al mostrarles conjuntos de datos diferentes. Si todos los árboles se entrenaran con los mismos datos originales, estarían altamente correlacionados y cometerían errores similares. Con el bootstrap, cada árbol captura variaciones aleatorias. El modelo reduce la varianza a medida que aumenta B, pero después de unos cientos de árboles la mejora marginal disminuye. En la práctica, B suele fijarse en 500 o 1000 árboles.
Un aspecto crítico de los bosques aleatorios es que cada árbol se entrena típicamente sobre un conjunto de datos diferente, ya que el muestreo con reemplazo incluye aproximadamente dos tercios de las observaciones en cada muestra bootstrap. El tercio restante se denomina «fuera de bolsa» y puede usarse para estimar el error de generalización sin necesidad de un conjunto de validación dedicado.
Selección aleatoria de características
La innovación clave de los bosques aleatorios es la selección aleatoria de características en cada división de nodo. En los árboles de decisión tradicionales, cada división se optimiza eligiendo, entre todas las características, aquella que mejor reduce la impureza, por ejemplo, la impureza de Gini en clasificación o el error cuadrático en regresión. En los bosques aleatorios, sin embargo, solo se considera un subconjunto aleatorio de características, normalmente de tamaño la raíz cuadrada del número total para clasificación o un tercio para regresión. Esto fuerza a que los árboles tengan estructuras diferentes y reduce la correlación entre ellos. Si se usaran todas las características en cada división, algunos atributos dominantes harían que los árboles fueran muy similares, limitando la reducción de varianza. La selección aleatoria de características permite que cada árbol explore patrones distintos, mejorando la precisión del conjunto.
Este enfoque de subespacio aleatorio fue introducido por Ho y posteriormente combinado con la optimización aleatoria de nodos de Amit y Geman. La formulación final de Breiman utiliza selección aleatoria de características en cada nodo, aunque existen variantes que emplean estrategias de división completamente aleatorias.
Comportamiento del modelo y resistencia al sobreajuste
Los bosques aleatorios son conocidos por su resistencia al sobreajuste. Cada árbol individual es profundo y puede sobreajustar, pero el conjunto reduce la varianza. Según los resultados teóricos de Breiman, el error de generalización se reduce cuando los árboles son fuertes y están poco correlacionados. Aumentar el número de árboles no produce sobreajuste y el error tiende a estabilizarse. No obstante, los bosques aleatorios pueden ser sensibles al ruido en las etiquetas y a características irrelevantes, especialmente cuando el número de predictores es alto.
En clasificación, la salida del bosque es la clase que recibe más votos entre los árboles. En regresión, la predicción es el promedio de las predicciones de los árboles individuales, y la desviación estándar de dichas predicciones ofrece una estimación natural de la incertidumbre.
Historia y desarrollo
La idea general de los bosques de decisión aleatorios aparece en trabajos de 1993 de Salzberg y Heath, que propusieron generar múltiples árboles con un algoritmo aleatorio y combinarlos por votación mayoritaria. En 1995, Tin Kam Ho amplió esta idea mostrando que los bosques de árboles que dividen en hiperplanos oblicuos pueden ganar precisión a medida que crecen sin sufrir sobreajuste, siempre que se restrinjan aleatoriamente a un subconjunto de características. Su método, denominado método de subespacio aleatorio, proyectaba los datos de entrenamiento en subespacios de características seleccionados aleatoriamente.
Trabajos posteriores de Amit y Geman introdujeron de forma independiente la búsqueda aleatoria de decisiones en cada división, aunque aplicada a un solo árbol. Thomas Dietterich propuso asimismo la optimización aleatoria de nodos, donde la característica elegida en cada nodo se selecciona mediante un procedimiento aleatorio. Estas ideas, junto con el trabajo previo de Leo Breiman sobre embolsado, condujeron a la formulación moderna de los bosques aleatorios. El influyente artículo de Breiman de 2001 combinó estos enfoques, proporcionando límites teóricos para el error de generalización y estableciendo la importancia de la aleatorización para reducir la correlación entre árboles.
Usos prácticos y extensiones
Los bosques aleatorios se aplican en numerosos ámbitos, como la teledetección, la bioinformática, las finanzas y la visión por computador. Son robustos frente a características irrelevantes y pueden manejar relaciones no lineales. Aunque menos interpretables que un solo árbol, las métricas de importancia de variables permiten identificar qué características contribuyen más a la predicción, lo que resulta útil en tareas de selección de características y en el ámbito de la inteligencia artificial explicable.
Entre las extensiones se incluyen los bosques completamente aleatorios, donde los umbrales de división se eligen al azar; los bosques de aislamiento para detección de anomalías; y métodos que incorporan pesos o aprendizaje incremental. Los bosques aleatorios también se utilizan como modelo de referencia en numerosas tareas de aprendizaje automático, junto con redes neuronales y aprendizaje profundo.
Comparación con otros modelos
En comparación con las redes profundas, los bosques aleatorios son menos flexibles para datos estructurados de alta dimensionalidad como imágenes o audio, donde las redes neuronales suelen superarlos. Sin embargo, en tablas de datos con tamaños de muestra pequeños o moderados, los bosques aleatorios suelen ser competitivos, más rápidos de entrenar y requieren menos ajuste de hiperparámetros. Frente a modelos lineales, capturan interacciones complejas entre características sin necesidad de especificarlas explícitamente. Su principal desventaja es la pérdida de interpretabilidad frente a un único árbol de decisión, aunque las medidas de importancia parcial compensan parcialmente esta limitación.