¿Es el bosque aleatorio un algoritmo de refuerzo?

51

Breve definición de impulso :

¿Puede un conjunto de estudiantes débiles crear un solo estudiante fuerte? Un alumno débil se define como un clasificador que solo está ligeramente correlacionado con la clasificación verdadera (puede etiquetar ejemplos mejor que adivinar al azar).

Breve definición de bosque aleatorio :

Random Forests cultiva muchos árboles de clasificación. Para clasificar un nuevo objeto a partir de un vector de entrada, coloque el vector de entrada debajo de cada uno de los árboles en el bosque. Cada árbol da una clasificación, y decimos que el árbol "vota" para esa clase. El bosque elige la clasificación que tiene más votos (sobre todos los árboles en el bosque).

Otra breve definición de Bosque aleatorio :

Un bosque aleatorio es un metaestimulador que se ajusta a varios clasificadores de árbol de decisión en varias submuestras del conjunto de datos y utiliza el promedio para mejorar la precisión predictiva y controlar el sobreajuste.

Según tengo entendido, Random Forest es un algoritmo de impulso que utiliza árboles como clasificadores débiles. Sé que también usa otras técnicas y las mejora. ¿Alguien me corrigió que Random Forest no es un algoritmo de refuerzo?

¿Alguien puede elaborar sobre esto, por qué Random Forest no es un algoritmo de impulso?

Atilla Ozgur
fuente
13
Los bosques aleatorios son un algoritmo de ensacado: en.wikipedia.org/wiki/Bootstrap_aggregating . Le sugiero que lea más que la descripción más breve posible de impulso para ver la diferencia. Al impulsar, la estrategia de remuestreo no es aleatoria.
Marc Claesen
12
Dato curioso: en el artículo original de Random Forest, Breiman sugiere que AdaBoost (sin duda un algoritmo de refuerzo) en su mayoría hace Random Forest cuando, después de pocas iteraciones, su espacio de optimización se vuelve tan ruidoso que simplemente se desplaza de manera estocástica.

Respuestas:

81

Random Forest es un algoritmo de embolsado en lugar de un algoritmo de refuerzo. Son dos formas opuestas para lograr un error bajo.

Sabemos que el error puede ser compuesto por sesgo y varianza. Un modelo demasiado complejo tiene un sesgo bajo pero una gran varianza, mientras que un modelo demasiado simple tiene una varianza baja pero un sesgo grande, ambos conducen a un error alto pero dos razones diferentes. Como resultado, dos formas diferentes de resolver el problema vienen a la mente de las personas (tal vez Breiman y otros), la reducción de la varianza para un modelo complejo o la reducción del sesgo para un modelo simple, que se refiere al bosque aleatorio y el impulso.

El bosque aleatorio reduce la varianza de una gran cantidad de modelos "complejos" con bajo sesgo. Podemos ver que los elementos de composición no son modelos "débiles" sino modelos demasiado complejos. Si lees sobre el algoritmo, los árboles subyacentes se plantan "algo" tan grande como "posible". Los árboles subyacentes son modelos paralelos independientes. Y se les introduce una selección adicional de variables aleatorias para hacerlos aún más independientes, lo que hace que funcione mejor que el embolsado ordinario y les da el nombre de "aleatorio".

Si bien el refuerzo reduce el sesgo de una gran cantidad de modelos "pequeños" con baja varianza. Son modelos "débiles" como usted citó. Los elementos subyacentes son de alguna manera como un modelo iterativo "en cadena" o "anidado" sobre el sesgo de cada nivel. Por lo tanto, no son modelos paralelos independientes, pero cada modelo se construye basándose en todos los modelos pequeños anteriores mediante ponderación. Eso se llama "impulsar" de uno en uno.

Los documentos y libros de Breiman discuten sobre los árboles, el bosque aleatorio y el impulso de mucho. Le ayuda a comprender el principio detrás del algoritmo.

Vincent
fuente
26

Un bosque aleatorio no se considera un tipo de algoritmo de impulso.

Como se explica en su enlace de refuerzo:

... la mayoría de los algoritmos de refuerzo consisten en aprender iterativamente clasificadores débiles con respecto a una distribución y agregarlos a un clasificador fuerte final. Cuando se agregan, generalmente se ponderan de alguna manera que generalmente está relacionada con la precisión de los alumnos débiles. Después de agregar un alumno débil, los datos se vuelven a ponderar ...

Un ejemplo de este proceso iterativo es adaboost, en el que los resultados más débiles se potencian o vuelven a ponderar en muchas iteraciones para que el alumno se centre más en las áreas en las que se equivocó y menos en las observaciones que fueron correctas.

Un bosque aleatorio, en cambio, es un método de ensacado o promediación de conjuntos que tiene como objetivo reducir la varianza de los árboles individuales seleccionando al azar (y descorrelacionando) muchos árboles del conjunto de datos, y promediándolos.

palmadita
fuente
7

Es una extensión del embolsado. El procedimiento es el siguiente, toma una muestra de arranque de sus datos y luego la usa para hacer crecer un árbol de clasificación o regresión (CART). Esto se hace un número predefinido de veces y la predicción es la agregación de las predicciones de los árboles individuales, podría ser un voto mayoritario (para la clasificación) o un promedio (para la regresión). Este enfoque se llama embolsado (Breiman 1994). Además, la variable candidata para cada división de cadaEl árbol se toma de una muestra aleatoria de todas las variables independientes disponibles. Esto introduce aún más variabilidad y hace que los árboles sean más diversos. Esto se llama método de subespacio aleatorio (Ho, 1998). Como se mencionó, esto produce árboles que son muy diversos, lo que se traduce en árboles que son altamente independientes entre sí. Debido a la desigualdad de Jensen, sabemos que el promedio de los errores de las predicciones de estos árboles será menor o igual al error del árbol promedio cultivado a partir de ese conjunto de datos. Otra forma de verlo es mirar el error cuadrático medio y observar cómo se puede descomponer en partes de sesgo y varianza (esto está relacionado con un problema en el aprendizaje supervisado llamado equilibrio de sesgo-varianza) El bosque aleatorio logra una mayor precisión al reducir la varianza mediante el promedio de la predicción de árboles ortogonales. Cabe señalar que hereda el sesgo de sus árboles, lo cual es un problema bastante discutido, consulte, por ejemplo, esta pregunta.

JEquihua
fuente
3

El bosque aleatorio es una técnica de embolsado y no una técnica de refuerzo. Al impulsar como su nombre lo indica, uno está aprendiendo de otro, lo que a su vez aumenta el aprendizaje.

Los árboles en bosques aleatorios se ejecutan en paralelo. No hay interacción entre estos árboles mientras se construyen los árboles. Una vez que se construyen todos los árboles, se toma una votación o un promedio en todas las predicciones de los árboles, dependiendo de si el problema es un problema de clasificación o regresión.

Los árboles en algoritmos de refuerzo como la máquina GBM-Gradient Boosting se entrenan secuencialmente.

Digamos que el primer árbol se entrenó e hizo algunas predicciones sobre los datos de entrenamiento. No todas estas predicciones serían correctas. Digamos que de un total de 100 predicciones, el primer árbol cometió un error en 10 observaciones. Ahora estas 10 observaciones recibirían más peso al construir el segundo árbol. Observe que el aprendizaje del segundo árbol se vio impulsado por el aprendizaje del primer árbol. Por lo tanto, el término impulso. De esta manera, cada uno de los árboles se construye secuencialmente sobre los aprendizajes de los árboles pasados.

Manish Barnwal
fuente