Random forest é um método de aprendizado ensemble usado para classificação, regressão e outras tarefas. Ele constrói um grande número de árvores de decisão durante o treinamento e combina suas saídas: para classificação, retorna a classe seleccionada pela maioria das árvores; para regresión, calcula a média das predições das árvores individuais. O método corrige a tendência das árvores de decisão profundas a sobreajustar seu conjunto de treinamento, reduzindo a variância enquanto mantiene o viés baixo.
O primeiro algoritmo de random forest foi desenvolvido em 1995 por Tin Kam Ho, baseado no método de subespaço aleatório, que implementa a abordagem de discriminação estocástica proposta por Eugene Kleinberg. Leo Breiman e Adele Cutler posteriormente estenderam a abordagem combinando bagging com seleção aleatoria de características, e registraram "Random Forests" como marca registrada em 2006; a partir de 2019, a marca é propriedade de Minitab, Inc.
Antecedentes: Árboles de Decisión y Sus Limitaciones
Las árvores de decisión son un método ampliamente utilizado en Machine learning. Particionan el espacio de características mediante una serie de divisiones binarias, lo que las hace escalables y fáciles de interpretar. Sin embargo, las árvores profundas tienden a aprender patrones altamente irregulares, lo que lleva a un bajo viés pero una variância muy alta. En la práctica, las árvores entrenadas en un conjunto de datos particular pueden cambiar drásticamente si se alteran algunos puntos de entrenamiento, y sus predicciones suelen ser precisas solo para los datos de entrenamiento. Rara vez son precisas en datos no vistos, como señalaron Trevor Hastie y colegas. Los random forests abordan esto promediando muchas árvores profundas, cada una entrenada en diferentes subconjuntos de datos, para reducir significativamente la variância.
La dificultad con los métodos de árbol es que crecer demasiadas árvores en los mismos datos produce predicciones correlacionadas. Para descorrelacionar las árvores, los random forests utilizan bootstrapping y selección aleatoria de características, lo que hace que las árvores individuales sean diversas pero fuertes.
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 usar un algoritmo de árbol de decisión aleatorizado para generar múltiples árvores y combinarlas mediante votación mayoritaria. En 1995, Tin Kam Ho extendió esta idea, mostrando que los bosques de árvores que se dividen en hiperplanos oblicuos pueden ganar precisión a medida que crecen sin sufrir sobreajuste, siempre que los bosques estén restringidos aleatoriamente a solo un subconjunto de dimensiones de características. El método de Ho, llamado método de subespaço aleatório, construía árvores proyectando los datos de entrenamiento en subespacios de características seleccionados aleatoriamente. Esta abordagem fue un paso clave en el desarrollo de los random forests.
Trabajos posteriores de Amit y Geman introdujeron independentemente la idea de buscar un subconjunto aleatorio de decisiones disponibles en cada división, aunque la aplicaron a una sola árvore. Independientemente, Thomas Dietterich introdujo la idea de 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 de optimalidad determinista. Estas ideas, combinadas con el trabajo anterior de Leo Breiman sobre bagging, llevaron a la formulación moderna de los random forests. El influyente artículo de Breiman de 2001, uno de los más citados en aprendizaje automático, combinó estos objetivos y proporcionó un límite teórico sobre el error de generalización basado en la fuerza y la correlación de las árvores en el bosque.
El artículo de Breiman también estableció herramientas prácticas: el error out-of-bag para estimar el error de generalización sin un conjunto de validación separado, y la importancia de variables basada en permutaciones, que mide cómo se degrada el rendimiento cuando los valores de una característica se barajan aleatoriamente. Estos siguen siendo aspectos centrales de los random forests hoy en día.
Bagging y Aprendizaje Ensemble
La técnica base en el entrenamiento de random forests es el bootstrap aggregating, o Bagging. Dado un conjunto de entrenamiento con características X y respuestas Y, el algoritmo muestrea B veces con reemplazo de los datos de entrenamiento, creando cada vez un nuevo conjunto de datos del mismo tamaño. Se ajusta una árvore de decisión, típicamente profunda y sin podar, a cada muestra bootstrap. Después del entrenamiento, las predicciones para un nuevo punto se realizan promediando la regresión o tomando el voto mayoritario para clasificación. Este meta-algoritmo disminuye la variância general sin aumentar el viés porque el promedio de muchas árvores que no están correlacionadas es más estable que cualquier árvore individual.
El muestreo bootstrap descorrelaciona las árvores mostrándoles diferentes conjuntos de entrenamiento. Si todas las árvores se entrenaran en los mismos datos originales, serían muy similares y propensas a los mismos errores. Usando el bootstrap, cada árvore captura variaciones aleatorias. El modelo gana reducción de variância a medida que B aumenta, pero después de unos cientos de árvores, la mejora marginal disminuye. En la práctica, B suele fijarse en 500 o 1000 árvores, aunque las implementaciones modernas se detienen automáticamente cuando el error out-of-bag se estabiliza.
Un aspecto crítico de los random forests es que cada árvore se entrena típicamente en un conjunto diferente de datos debido al muestreo con reemplazo: aproximadamente dos tercios de las observaciones aparecen al menos una vez en cada muestra bootstrap, mientras que el tercio restante está out-of-bag. Las predicciones out-of-bag se pueden usar para estimar el error de generalización, sin necesidad de un conjunto de validación dedicado, sino basándose en la predicción agregada para cada observación usando árvores para las cuales esa observación no se incluyó en los datos de entrenamiento.
Selección Aleatoria de Características
La innovación clave en los random forests es la selección aleatoria de características en cada división de nodo. Las árvores de decisión tradicionales se optimizan eligiendo, en cada nodo, la división entre todas las características que mejor reduce la impureza, por ejemplo, la impureza de Gini para clasificación o el error cuadrático en regresión. En los random forests, sin embargo, cada división considera solo un subconjunto seleccionado aleatoriamente de características, a menudo de tamaño aproximadamente la raíz cuadrada del número total de características. Esto obliga a que las árvores se estructuren de manera diferente y reduce la correlación entre ellas. A veces se eligen divisiones alternativas porque algunas características globales podrían dominar a todas las demás, lo que llevaría a muchas árvores casi idénticas. Al restringir aleatoriamente las características candidatas, el bosque puede explorar permutaciones que de otro modo no se lograrían, obteniendo una predicción más robusta.
Este enfoque de subespacio aleatorio fue introducido por Ho y posteriormente combinado con la aleatorización de nodos de Amit y Geman. La formulación final de Breiman usó selección aleatoria de subconjuntos en cada nodo, pero algunas variantes usan selección aleatoria solo antes de ajustar cada árvore. Las implementaciones modernas difieren; muchas bibliotecas admiten la estrategia de 'subespacio aleatorio' o de 'división aleatoria'. Comúnmente se usa la dimensión de características d, con un subconjunto de tamaño sqrt(d) para clasificación o d/3 para regresión.
Comportamiento del Modelo y Resistencia al Sobreajuste
Los random forests son conocidos por su resistencia al sobreajuste. Cada árvore es profunda y puede sobreajustar, pero el ensemble reduce la variância. A menos que los bosques más profundos tiendan a funcionar mejor a medida que se agregan más árvores, siempre que la aleatorización de características los restrinja. Esto está respaldado por los resultados teóricos en el artículo de Breiman, que muestra un límite en el error de generalización que se estrecha con mejor fuerza de las árvores y menor correlación. Sin embargo, si el número de árvores es demasiado grande, el modelo no se sobreajusta; el error se aproxima a medida que B aumenta, pero aún puede ser susceptible al ruido en la etiqueta. Si las características no se seleccionan aleatoriamente, las árvores pueden estar correlacionadas y anular la ventaja. Con la selección aleatoria de características, el bosque tiende a mantener la precisión incluso cuando aumenta la complejidad del clasificador. Esto contrasta con aumentar la profundidad de una sola árvore, lo que lleva al sobreajuste.
Para clasificación, la salida del bosque es la clase con más votos. Para regresión, la predicción es el promedio de las árvores individuales, y la desviación estándar de las predicciones de las árvores es una estimación natural de la incertidumbre.
Usos Prácticos y Extensiones
Los random forests se aplican en muchos dominios, incluidos la teledetección, la bioinformática, las finanzas y la visión por computadora. Son robustos a características irrelevantes, pueden manejar no linealidades y producen comprensibilidad, pero son menos interpretables que una sola árvore. Las métricas de importancia de variables permiten a los investigadores identificar qué características son relevantes. Los random forests también se utilizan en inteligencia artificial, y son un algoritmo fundamental en operaciones tradicionales como línea base para muchas tareas modernas de aprendizaje automático, junto con aprendizaje profundo y red neuronal.
Las extensiones incluyen extra trees - umbrales de división aún más aleatorios - y el uso de random forests para detección de anomalías, ranking e imputación de valores faltantes. También se utilizan como bloques de construcción de bagging y aprendizaje ensemble en pipelines de Machine learning.
Comparación con Otros Modelos
Los random forests difieren de los modelos basados en aprendizaje profundo como red neuronal en que son interpretables, requieren menos datos y son más simples. Se pueden entrenar en CPU mientras que las redes neuronales profundas a menudo requieren aceleradores. Pero pueden tener dificultades con datos de alta dimensionalidad, pero pueden equilibrar entre viés y error. Son menos efectivos para datos no estructurados como imágenes y texto, donde el aprendizaje profundo sobresale. El equilibrio es notable: los random forests siguen siendo un punto de referencia sólido, aunque carecen de aprendizaje de representación jerárquica.
En la frontera de la investigación moderna en inteligencia artificial, métodos como modelo de lenguaje grande y arquitecturas basadas en Transformer (architecture) dominan las tareas de lenguaje, pero los random forests y otros ensembles de árboles siguen siendo comunes en áreas como datos tabulares e IA explicable.
Véase También
- machine learning
- inteligencia artificial
- árbol de decisión no disponible en los enlaces dentro del sistema.
Referencias
Las fuentes originales se citan dentro del artículo, pero no se incluyen URLs externas relevantes.