¿Qué son los modelos de aumento de gradiente y los bosques aleatorios usando términos simples?

Puede pensar en Machine Learning (ML) como una metodología de conjetura estadística, de la cual existen muchos algoritmos.

Tanto los modelos de aumento de gradiente (GBM) como los bosques aleatorios (RF) son tipos de modelos de árbol .

Un modelo de árbol es, en términos simples, como el juego de adivinanzas Twenty Questions. El adivinador podría tener preguntas como “¿Es más grande que una caja de pan?”, “¿Está vivo?”, Etc. El tamaño o la vida de la cosa que se adivina es una “característica”. Al descifrar lo que es probable o improbable basado en estas preguntas, terminas con una respuesta probable (pero posiblemente incorrecta). Parte de la estrategia en 20 preguntas es ordenar las preguntas correctamente: las primeras preguntas deben ser amplias, para eliminar una gran cantidad de posibilidades. Las últimas preguntas deberían ser más específicas para centrarse en la “mejor” respuesta posible.

Ahora, qué sucede cuando un ML de árbol se entrena en el conjunto de datos, el algoritmo trata de llegar a un conjunto de “preguntas” que son “óptimas”. Lamentablemente, no hay una solución perfecta. Entonces, hay diferentes estrategias para tratar de construir el Tree ML. GBM y RF son solo dos de los muchos modelos de Tree.

La idea detrás de RF es construir muchos árboles pequeños que usen un subconjunto aleatorio de las características y luego combinarlos en un “bosque” de árboles. Cada árbol en sí mismo es un predictor débil, pero cuando se combinan los muchos predictores débiles, a menudo (¡pero no siempre!) Puede obtener un modelo más fuerte. Ver: bosque aleatorio – Wikipedia

La idea detrás de GBM es más sofisticada. Aproximadamente, la idea es volver a combinar predictores débiles. El truco es encontrar áreas de clasificación errónea y luego “aumentar” la importancia de esos puntos de datos pronosticados incorrectamente. Y repetir. El resultado es un solo árbol a diferencia de RF. Ver: aumento de gradiente – Wikipedia

Ambas metodologías intentan evitar el “ajuste excesivo”. Es decir, es posible construir un modelo de árbol que modela servilmente los datos de entrenamiento, las verrugas y todo. Cuando ese modelo demasiado ajustado encuentra un elemento de datos que no se corresponde exactamente con la experiencia previa con el conjunto de entrenamiento, la respuesta podría ser incorrecta. Ver: sobreajuste – Wikipedia

Ahora, seguramente se preguntará qué modelo es “mejor”. Desafortunadamente, el “Teorema de no almuerzo gratis” dice que no existe un mejor algoritmo que funcione mejor en todos los casos. Además, con el modelo RF, es posible que tengas (des) suerte y termines con un modelo que sea mejor o peor.

Ver: No hay almuerzo gratis en búsqueda y optimización – Wikipedia

Algunas ventajas de los modelos Tree son

  • Por lo general, son rápidos para entrenar (aunque mi experiencia es que la RF es lenta).
  • puede obtener fácilmente una lista de características importantes. Las características más altas en el árbol son más importantes
  • desde el diseño del árbol (s), puede descubrir la lógica detrás del modelo (mientras que las redes neuronales tienden a ser algo misteriosas)

Un problema con los modelos Tree es que son “inestables”. Es decir, como un pequeño cambio en el conjunto de características o conjunto de entrenamiento puede hacer que el modelo cambie radicalmente.

Modelo de refuerzo de gradiente (GBM):

Imagina 20 equipos (árboles). Un jefe en la cima, luego subordinados, luego más subordinados, y así sucesivamente. Los miembros del equipo son variables explicativas. Suponga, Árboles = 20 y Profundidad (número de miembros en cada equipo) = 5. Entonces cada equipo tendrá 5 miembros, y el total de miembros = 100. Les damos un libro para leer, y luego tendrán que responder 20 preguntas ( Número de observaciones en nuestros datos). Suponga que tienen respuestas binarias: Sí o No. Ahora, comenzamos el proceso. El objetivo del proceso es maximizar las respuestas correctas mediante la creación de 20 equipos con 5 miembros cada uno. Cualquier miembro puede ser parte de más de 1 equipo, y cualquier miembro puede tener más de 1 más de 1 rol en el mismo equipo. El miembro que tiene roles máximos es la variable más importante de nuestro modelo.

El proceso comienza con una suposición aleatoria de respuestas. Luego se calcula el error (= Actual – Respuesta prevista). Siguiente paso, construye un equipo de 5 miembros, lo que reduce el error al máximo. De nuevo, calcula el error. El segundo equipo (árbol) tiene que reducirlo aún más. Pero el siguiente equipo no confía completamente en su compañero anterior, por lo que supone que las respuestas son correctas con x probabilidad (tasa de aprendizaje). Este proceso continúa hasta que se forman 20 equipos. Entonces, en el proceso, tenemos que decidir cuántos equipos construir (árboles), miembros en cada equipo (profundidad) y equipo de aprendizaje, para que el error al final sea mínimo. Esto solo se puede hacer por método de prueba y error.

Bosque al azar:
Recordemos el espectáculo “Quién quiere ser millonario”.
Observamos que la precisión de las respuestas en “Llamar a un amigo” es menor que la de “Encuesta de audiencia”. Esto explica la lógica detrás del bosque aleatorio.

Encuesta de audiencia: promedia las respuestas de los alumnos débiles (cada alumno es un árbol), y eso le da un alumno que es más fuerte que un alumno que canta “Llama a un amigo”, supuestamente un alumno fuerte.

Aquí, cada equipo es independiente. Tenemos que decidir el número de equipos. Cada equipo aprende tratando de responder una muestra de preguntas, luego generaliza su aprendizaje sobre todas las preguntas. Además, todos los miembros no son considerados al formar un equipo. Se considera una muestra aleatoria de miembros. luego tomamos el promedio de respuestas de todos los equipos para obtener la respuesta final. Este método solo se puede usar cuando la respuesta es binaria. GBM se puede utilizar preguntas que tienen más de 2 respuestas.

También mire este video: la respuesta de Vinod Gattani a ¿Cómo funciona la aleatorización en un bosque aleatorio?

Un bosque aleatorio es un grupo de árboles de decisión independientes, cada uno de los cuales contribuye con un “voto” a una predicción. Por ejemplo, si hay 50 árboles y 32 dicen “lluvioso” y 18 dicen “soleado”, entonces el puntaje de “lluvioso” es 32/50, o 64% y el puntaje de un “soleado” es 18/50, o 36% Desde 64%> 36%, el bosque ha votado que piensan que va a llover.

Cuando agrega más árboles de decisión a un bosque aleatorio, ellos deciden lo que piensan INDEPENDIENTEMENTE de todos los demás árboles. Aprenden por su cuenta, y cuando llega el momento de hacer una predicción, todos simplemente arrojan su propia opinión sin influencia al bote.

Un modelo de aumento de gradiente es una CADENA de árboles de decisión que también votan. Pero en lugar de cada aprendizaje aislado, cuando agrega uno nuevo a la cadena, trata de mejorar un poco lo que el resto de la cadena ya piensa. Entonces, la decisión de un nuevo árbol está influenciada por todos los árboles que ya han expresado una opinión.

A diferencia de un bosque aleatorio, cuando agrega un nuevo árbol a un GBM, puede ver lo que pensaban sus predecesores, y cómo lo hicieron bien o mal. Luego formulan una sugerencia para corregir los errores de sus predecesores, y luego la agregan al bote, y luego el proceso continúa con el siguiente árbol que agregue a la cadena.

Seguimos escuchando tres términos en este contexto y son ligeramente diferentes entre sí, pero cada uno se trata de construir mejores estudiantes combinando estudiantes débiles individuales. Aquí está mi comprensión de los tres:

1) Empaquetamiento o agregación Bootstrap: si nuestro conjunto de entrenamiento es nx (m + 1) con n filas ym características y 1 variables dependientes, el ensacado entrenará a múltiples estudiantes (débiles) entrenándolos en subconjuntos aleatorios distintos de las n filas y luego combine estos alumnos para producir un alumno final más fuerte. El muestreo para crear subconjuntos de entrenamiento puede ser con o sin repetición. Entonces, si tengo cinco filas (n = 4) A, B, C, D, EI puedo entrenar a un alumno usando A, B, D y otro C, C, E, etc. (esencialmente, abrumarme menos usando menos filas en un momento)

2. Bosques aleatorios: los bosques aleatorios toman subconjuntos de columnas y no filas. De modo que puedo crear a mis alumnos débiles ignorando algunas funciones. Si tengo 7 funciones f1, f2, f3, f4, .. f7 (m = 7), puedo entrenar a un alumno usando solo f1, f2, f3 y f4 y otro usando f3, f4, f7, f1 y así sucesivamente. (esencialmente, abrumarme menos usando menos columnas a la vez)

En cualquier caso para crear el alumno final más fuerte, puedo votar por mayoría entre los alumnos débiles.

3. El aumento de gradiente es sustancialmente diferente de los dos anteriores. Mientras que los dos métodos anteriores, posiblemente, generan todos los alumnos débiles de una sola vez, GBM es un método iterativo. Supongamos que después de i iteraciones ha creado su i ^ ésimo alumno F_i. Cuando evalúa a su alumno en su conjunto de entrenamiento, el valor predicho es y ‘en lugar de y. Idealmente, te hubiera gustado que y ‘fuera igual a y (y no solo que y’ e y son vectores de longitud n (una salida para cada fila). ¿Qué tal entrenar a un nuevo alumno h con intentos de predecir (y – y ‘ ) usando el mismo conjunto de entrenamiento. Si pudiéramos crear h, entonces F_i + h predecirá el original y correctamente. Por lo tanto, la iteración i + ith intenta aprender h y designa F_i + 1 = F_i – h. El proceso puede durar para siempre o hasta que elijas detenerte (esencialmente, entréname mejor enfocándome en los errores que cometo (y ‘- y))

Lo que hace que las cosas sean confusas es que los tres métodos se pueden aplicar juntos.

Para obtener una explicación intuitiva de los bosques aleatorios, debe consultar la respuesta de Edwin Chen sobre ¿Cómo funcionan los bosques aleatorios en términos simples? Estoy específicamente interesado en cómo los RF hacen problemas de regresión.

El ejemplo del mundo real que ofrece es realmente intuitivo.