Notas de aprendizaje automático tradicional 7: explicación detallada del modelo GBDT

prefacio

  En la última publicación del blog, presentamos los puntos básicos de conocimiento sobre el modelo de árbol de regresión. Si no lo entiende, puede volver al principio y leerlo nuevamente. Notas de aprendizaje automático tradicional 6 - Modelo de árbol de regresión . En esta publicación de blog, continuamos presentando el contenido del aprendizaje automático tradicional, el aprendizaje automático tradicional GBDT.

1. Algoritmo GBDT

  GBDT(Gradient Boosting Decision Tree), es decir, el árbol de decisión de aumento de gradiente, es un algoritmo de árbol de decisión iterativo, también lo llamamos MART, al construir un conjunto de aprendices débiles y acumular los resultados de múltiples árboles de decisión como el resultado final de predicción, el árbol de decisión es efectivamente combinado con el algoritmo de integración.

1.1.Impulsar

  Antes de presentar GDBTel algoritmo, debemos analizarlo primero Boosting. BoostingEl método adopta un método en serie para el entrenamiento y los clasificadores, y existen dependencias entre cada clasificador base. Su idea es superponer los clasificadores base capa por capa, y cuando se entrena cada capa, se divide la capa anterior de clasificadores base. Las muestras son dado pesos más altos, y los resultados finales se obtienen ponderando los resultados de cada capa de clasificadores durante la prueba. Tenga en cuenta que, como hemos introducido antes Bagging, Baggingdurante el entrenamiento, no hay una fuerte dependencia entre cada clasificador base y se puede realizar un entrenamiento paralelo. Para Baggingaquellos que no entiendan, pueden volver a la publicación anterior del blog para revisar, 1.4. Embolsado .

1.2.GDBT

  Empecemos a presentar formalmente GDBTel algoritmo. De hecho, su principio es muy simple. El principio es el siguiente:

  • La suma de los resultados de todos los clasificadores débiles es igual al valor predicho.
  • Cada vez, la predicción actual se usa como punto de referencia y el siguiente clasificador débil se usa para ajustar la función de error al valor residual del valor predicho (el error entre el valor predicho y el valor real).
  • El clasificador débil de GBDT utiliza un modelo de árbol.

inserte la descripción de la imagen aquí
Como se muestra arriba, GDBTlo usamos para predecir el precio:

  • El primer clasificador débil (el primer árbol) predice una edad (como 90 yuanes), y el cálculo encuentra que el error es de 10 yuanes;
  • El segundo árbol predice el residuo adecuado, el valor predicho es de 6 yuanes y el cálculo encuentra que la brecha sigue siendo de 4 yuanes;
  • El tercer árbol continúa prediciendo el residuo adecuado, el valor predicho es de 3 yuanes y se encuentra que la brecha es de solo 1 yuan en la fórmula;
  • El cuarto árbol de lecciones ajusta los residuos restantes con 1 yuan, y se completa.

  Al final, las conclusiones de los cuatro árboles se suman para obtener la respuesta marcada de 100 yuanes (en la implementación de ingeniería real, GBDT calcula el gradiente negativo y usa el gradiente negativo para aproximar el residuo).

1.2.1 Residuales aproximados de GBDT y gradiente negativo

  Al realizar una tarea de regresión, GDBThabrá un valor predicho para la muestra en cada ronda de iteraciones, y la función de pérdida en este momento es la función de pérdida del error cuadrático medio:
l ( yi , y ^ i ) = 1 2 ( yi − y ^ i ) 2 l\left(y_i, \hat{y}_i\right)=\frac{1}{2}\left(y_i-\hat{y}_i\right)^2yo( yyo,y^yo)=21( yyoy^yo)2
损失函数的负梯度计算
− [ ∂ l ( yi , yi ^ ) ∂ y ^ i ] = ( yi − yi ^ ) -\left[\frac{\parcial l\left(y_i, \hat{y_i}\ derecha)}{\parcial \hat{y}_i}\right]=\left(y_i-\hat{y_i}\right)[y^yo∂l _( yyo,yyo^)]=( yyoyyo^)
A partir de la fórmula anterior, se puede ver que cuando la función de pérdida es el error cuadrático medio, el valor de cada ajuste es el "valor real-valor predicho", es decir, el residual.

1.2.2 Proceso de formación GDBT

  Tomemos como ejemplo la predicción de la edad de cuatro personas para introducir GDBTel proceso de formación. Supongamos que hay cuatro personas (A, B, C, D) cuyas edades son (14, 16, 24, 26). Entre ellos, A y B son estudiantes de primer y segundo año de secundaria, y C y D son recién graduados y empleados que han trabajado durante dos años. Primero usamos el árbol de regresión para entrenar, y los resultados son los siguientes: A continuación, use GBDT para hacer esto, debido a que los datos son demasiado
inserte la descripción de la imagen aquí
  grandes Menos, limitamos los nodos hoja para que tengan como máximo dos, es decir, cada árbol tiene solo una rama, y ​​limitamos el aprendizaje a solo dos árboles. Obtendremos los resultados que se muestran en la Figura 2 a continuación:
inserte la descripción de la imagen aquí
  la imagen de la izquierda en la imagen de arriba es la misma que la imagen del árbol de decisión anterior, porque A y B son relativamente similares en edad, y C y D son relativamente similares en edad, son dividido en dos grupos, y cada grupo utiliza la edad promedio como predictor. En este momento, se calcula el residuo (es decir, el valor pronosticado de A + el residuo de A = el valor real de A), por lo que el residuo de A es 16-15=1 (observe que el valor pronosticado de A se refiere a la suma acumulativa de todos los árboles anteriores, solo hay un árbol delante de él, por lo que es directamente 15. Si todavía hay árboles, deben sumarse como el valor predicho de A). Entonces los residuos de A, B, C y D son -1, 1, -1, 1 respectivamente. Luego reemplazamos los valores originales de A, B, C y D con los residuos, y vamos al segundo árbol para aprender.Si nuestros valores pronosticados son iguales a sus residuos, solo necesitamos agregar las conclusiones de del segundo árbol al primero La edad real se puede obtener de un árbol. Los datos aquí son obviamente todo lo que puedo hacer, el segundo árbol tiene solo dos valores 1 y -1, divididos directamente en dos nodos. En este momento, los residuos de todas las personas son 0, es decir, todos obtienen el valor real previsto. En otras palabras, ahora los valores pronosticados de A, B, C y D son consistentes con la edad real.

  • R: Un estudiante de secundaria de 14 años que rara vez hace compras y a menudo hace preguntas sobre Baidu; edad prevista A = 15 – 1 = 14
  • B: estudiante de secundaria de 16 años; compra menos, a menudo responde preguntas; edad prevista B = 15 + 1 = 16
  • C: recién graduado de 24 años; compra mucho, a menudo preguntas de Baidu; edad prevista C = 25 – 1 = 24
  • D: Un empleado de 26 años que ha trabajado durante dos años; hace muchas compras y suele responder preguntas; edad prevista D = 25 + 1 = 26

2. Promoción de gradiente y descenso de gradiente

  A continuación, comparemos los algoritmos de aumento de gradiente y descenso de gradiente. Los dos algoritmos de optimización iterativos utilizan la información de la dirección de gradiente negativa de la función de pérdida para actualizar el modelo actual en cada iteración. Veamos primero las fórmulas de cálculo de los dos modelos.
Descenso de gradiente:
  En el descenso de gradiente, el modelo se expresa de forma parametrizada, de modo que la actualización del modelo equivale a la actualización de los parámetros.
F = F t − 1 − ρ t ∇ FL ∣ F = F t − 1 L = ∑ il ( yi , F ( xi ) ) \begin{reunidos} F=F_{t-1}-\left.\rho_t \ nabla_F L\right|_{F=F_{t-1}} \\ L=\sum_i l\left(y_i, F\left(x_i\right)\right) \end{reunidos}F=Ft 1rtFL F = Ft 1L=iyo( yyo,F( Xyo) )
Ascensión de gradiente:
  En la ascensión de gradiente, no es necesario parametrizar el modelo, sino que se define directamente en el espacio de funciones, lo que amplía enormemente los tipos de modelos que se pueden utilizar.
wt = wt − 1 − ρ t ∇ w L ∣ w = wt − 1 L = ∑ il ( yi , fw ( wi ) ) \begin{reunidos} w_t=w_{t-1}-\left.\rho_t \nabla_w L\right|_{w=w_{t-1}} \\ L=\sum_i l\left(y_i, f_w\left(w_i\right)\right) \end{reunidos}wt=wt 1rtwL w = wt 1L=iyo( yyo,Fw( wyo) )

3. Ventajas y desventajas del modelo GDBT

  Arriba presentamos GDBTel algoritmo básico del modelo, ¿cuáles son sus ventajas y desventajas?
ventaja:

  • En la etapa de predicción, debido a que se ha determinado la estructura de cada árbol, el cálculo se puede paralelizar y la velocidad de cálculo es rápida.
  • Es adecuado para datos densos, tiene buena capacidad de generalización y capacidad expresiva, y es el modelo más común en las competencias de ciencia de datos.
  • La interpretabilidad es buena, la robustez también es buena y la relación de alto orden entre las características se puede descubrir automáticamente.

defecto:

  • GBDT es menos eficiente en conjuntos de datos dispersos de alta dimensión y el rendimiento no es tan bueno como SVM o red neuronal.
  • Adecuado para funciones numéricas, rendimiento débil en NLP o funciones de texto.
  • El proceso de entrenamiento no se puede paralelizar y la aceleración de la ingeniería solo se puede reflejar en el proceso de construcción de un solo árbol.

4. GDBT vs bosque aleatorio

Mismo punto:

  • Todos son modelos integrados, compuestos por múltiples grupos de árboles, y el resultado final está determinado por múltiples árboles juntos.
  • Cuando RF y GBDT usan árboles CART, pueden ser árboles de clasificación o árboles de regresión.

diferencia:

  • Durante el entrenamiento, los árboles forestales aleatorios se pueden generar en paralelo, mientras que GBDT solo se puede generar en serie.
  • El resultado del bosque aleatorio se vota por mayoría de votos, mientras que GBDT se acumula por varios árboles.
  • Random Forest no es sensible a los valores atípicos, mientras que GBDT es más sensible a los valores atípicos.
  • Random Forest reduce la varianza del modelo, mientras que GBDT reduce el sesgo del modelo.

Supongo que te gusta

Origin blog.csdn.net/qq_38683460/article/details/127614547
Recomendado
Clasificación