Articulo de referencia

Potenciación de gradiente

El gradient boosting es una técnica de aprendizaje automático basada en boosting en un espacio funcional, donde el objetivo son los pseudoresiduos en lugar de los residuos como ...

El gradient boosting es una técnica de aprendizaje automático basada en boosting en un espacio funcional, donde el objetivo son los pseudoresiduos en lugar de los residuos como en el boosting tradicional. Proporciona un modelo de predicción en forma de un conjunto de modelos de predicción débiles, es decir, modelos que hacen muy pocas suposiciones sobre los datos, que son típicamente árboles de decisión simples . [ 1 ] [ 2 ] Cuando un árbol de decisión es el aprendiz débil, el algoritmo resultante se llama árboles potenciados por gradiente; generalmente supera al bosque aleatorio . [ 1 ] Al igual que con otros métodos de boosting , un modelo de árboles potenciados por gradiente se construye en etapas, pero generaliza los otros métodos al permitir la optimización de una función de pérdida diferenciable arbitraria .

Historia

La idea del gradient boosting se originó en la observación de Leo Breiman de que boosting puede interpretarse como un algoritmo de optimización sobre una función de coste adecuada. [ 3 ] Posteriormente, Jerome H. Friedman desarrolló algoritmos explícitos de gradient boosting de regresión , [ 4 ] [ 2 ] (en 1999 y más tarde en 2001) simultáneamente con la perspectiva más general del gradient boosting funcional de Llew Mason, Jonathan Baxter, Peter Bartlett y Marcus Frean. [ 5 ] [ 6 ] Los dos últimos artículos introdujeron la visión de los algoritmos de boosting como algoritmos iterativos de descenso de gradiente funcional . Es decir, algoritmos que optimizan una función de coste sobre el espacio de funciones eligiendo iterativamente una función (hipótesis débil) que apunta en la dirección del gradiente negativo. Esta visión del gradiente funcional del boosting ha llevado al desarrollo de algoritmos de boosting en muchas áreas del aprendizaje automático y la estadística más allá de la regresión y la clasificación.

Introducción informal

(Esta sección sigue a la exposición de Cheng Li. [ 7 ] )

Al igual que otros métodos de boosting, el gradient boosting combina iterativamente "aprendices" débiles en un único aprendiz fuerte. Es más fácil de explicar en el contexto de la regresión por mínimos cuadrados , donde el objetivo es entrenar un modelo.F{\displaystyle F}para predecir valores de la formay^=F(incógnita){\displaystyle {\hat {y}}=F(x)}minimizando el error cuadrático medio1nortei(y^iyi)2{\displaystyle {\tfrac {1}{n}}\sum _{i}({\hat {y}}_{i}-y_{i})^{2}}, dóndei{\displaystyle i}índices sobre algún conjunto de entrenamiento de tamañonorte{\displaystyle n}de valores reales de la variable de saliday{\displaystyle y}:

  • y^i={\displaystyle {\sombrero {y}}_{i}=}el valor previstoF(incógnitai){\displaystyle F(x_{i})}
  • yi={\displaystyle y_{i}=}el valor observado
  • norte={\displaystyle n=}el tamaño de la muestra, es decir, el número de observaciones eny{\displaystyle y}

Si el algoritmo tieneMETRO{\displaystyle M}etapas, en cada etapametro{\displaystyle m}(1metroMETRO{\displaystyle 1\leq m\leq M}), supongamos algún modelo imperfectoFmetro{\displaystyle F_{m}}(para bajometro{\displaystyle m}, este modelo puede simplemente predeciry^i{\displaystyle {\sombrero {y}}_{i}}ser y¯{\displaystyle {\bar {y}}}, la media dey{\displaystyle y}). Para mejorarFmetro{\displaystyle F_{m}}, nuestro algoritmo debería agregar algún nuevo estimador,hmetro(incógnita){\displaystyle h_{m}(x)}. De este modo,

Fmetro+1(incógnitai)=Fmetro(incógnitai)+hmetro(incógnitai)=yi{\displaystyle F_{m+1}(x_{i})=F_{m}(x_{i})+h_{m}(x_{i})=y_{i}}

o, equivalentemente,

hmetro(incógnitai)=yiFmetro(incógnitai).{\displaystyle h_{m}(x_{i})=y_{i}-F_{m}(x_{i}).}

Por lo tanto, el aumento de gradiente se ajustaráhmetro{\displaystyle h_{m}}al residuoyiFmetro(incógnitai){\displaystyle y_{i}-F_{m}(x_{i})}. Como en otras variantes de potenciación, cadaFmetro+1{\displaystyle F_{m+1}}intenta corregir los errores de su predecesorFmetro{\displaystyle F_{m}}. Una generalización de esta idea a funciones de pérdida distintas del error cuadrático, y a problemas de clasificación y ordenación , se deriva de la observación de que los residuoshmetro(incógnitai){\displaystyle h_{m}(x_{i})}para un modelo dado son proporcionales a los gradientes negativos de la función de pérdida de error cuadrático medio (MSE) (con respecto aF(incógnitai){\displaystyle F(x_{i})}):

LMETROSmi=1nortei=1norte(yiF(incógnitai))2{\displaystyle L_{\rm {MSE}}={\frac {1}{n}}\sum _{i=1}^{n}\left(y_{i}-F(x_{i})\right)^{2}}
LMETROSmiF(incógnitai)=2norte(yiF(incógnitai))=2nortehmetro(incógnitai).{\displaystyle -{\frac {\partial L_{\rm {MSE}}}{\partial F(x_{i})}}={\frac {2}{n}}(y_{i}-F(x_{i}))={\frac {2}{n}}h_{m}(x_{i}).}

Por lo tanto, el algoritmo de potenciación de gradiente podría generalizarse a un algoritmo de descenso de gradiente simplemente introduciendo una función de pérdida diferente y su gradiente.

Algoritmo

Muchos problemas de aprendizaje supervisado involucran una variable de salida y y un vector de variables de entrada x , relacionadas entre sí con alguna distribución de probabilidad. El objetivo es encontrar alguna funciónF^(incógnita){\displaystyle {\hat {F}}(x)}que mejor se aproxima a la variable de salida a partir de los valores de las variables de entrada. Esto se formaliza introduciendo alguna función de pérdida.L(y,F(incógnita)){\displaystyle L(y,F(x))}y minimizándolo en la expectativa:

F^=argininaFmiincógnita,y[L(y,F(incógnita))].{\displaystyle {\hat {F}}=\operatorname {argmin} \limits _{F}\mathbb {E} _{x,y}[L(y,F(x))].}

El método de potenciación de gradiente asume que y es un valor real . Busca una aproximación.F^(incógnita){\displaystyle {\hat {F}}(x)}en forma de una suma ponderada de M funcioneshmetro(incógnita){\displaystyle h_{m}(x)}de alguna claseH{\displaystyle {\mathcal {H}}}, denominados aprendices base (o débiles ):

F^(incógnita)=metro=1METROγmetrohmetro(incógnita)+constante,{\displaystyle {\hat {F}}(x)=\sum _{m=1}^{M}\gamma _{m}h_{m}(x)+{\mbox{const}},}

dóndeγmetro{\displaystyle \gamma _{m}}es el peso en la etapametro{\displaystyle m}Normalmente se nos proporciona un conjunto de entrenamiento.{(incógnita1,y1),,(incógnitanorte,ynorte)}{\displaystyle \{(x_{1},y_{1}),\dots ,(x_{n},y_{n})\}}de valores conocidos de x y valores correspondientes de y . De acuerdo con el principio de minimización del riesgo empírico , el método intenta encontrar una aproximación.F^(incógnita){\displaystyle {\hat {F}}(x)}que minimiza el valor promedio de la función de pérdida en el conjunto de entrenamiento, es decir, minimiza el riesgo empírico. Lo hace comenzando con un modelo, que consiste en una función constante.F0(incógnita){\displaystyle F_{0}(x)}y lo expande gradualmente de forma voraz :

F0(incógnita)=argminhmetroHi=1norteL(yi,hmetro(incógnitai)),{\displaystyle F_{0}(x)={\underset {h_{m}\in {\mathcal {H}}}{\arg \min }}\sum _{i=1}^{n}{L(y_{i},h_{m}(x_{i}))},}
Fmetro(incógnita)=Fmetro1(incógnita)+(argramometroinortehmetroH[i=1norteL(yi,Fmetro1(incógnitai)+hmetro(incógnitai))])(incógnita),{\displaystyle F_{m}(x)=F_{m-1}(x)+\left({\underset {h_{m}\in {\mathcal {H}}}{\operatorname {arg\,min} }}\left[\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+h_{m}(x_{i}))\right]\right)(x),}

parametro1{\displaystyle m\geq 1}, dóndehmetroH{\displaystyle h_{m}\in {\mathcal {H}}}es una función de aprendizaje base.

Desafortunadamente, elegir la mejor funciónhmetro{\displaystyle h_{m}}En cada paso para una función de pérdida arbitraria L, se trata en general de un problema de optimización computacionalmente inviable. Por lo tanto, restringimos nuestro enfoque a una versión simplificada del problema. La idea es aplicar un paso de descenso más pronunciado a este problema de minimización (descenso de gradiente funcional). La idea básica es encontrar un mínimo local de la función de pérdida iterando sobreFmetro1(incógnita){\displaystyle F_{m-1}(x)}De hecho, la dirección de descenso del máximo local de la función de pérdida es el gradiente negativo. [ 8 ] Por lo tanto, mover una pequeña cantidadγ{\displaystyle \gamma }de tal manera que la aproximación lineal siga siendo válida:

Fmetro(incógnita)=Fmetro1(incógnita)γi=1norteFmetro1L(yi,Fmetro1(incógnitai)){\displaystyle F_{m}(x)=F_{m-1}(x)-\gamma \sum _{i=1}^{n}\nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))}

dóndeγ>0{\displaystyle \gamma >0}Para pequeñosγ{\displaystyle \gamma }, esto implica queL(yi,Fmetro(incógnitai))L(yi,Fmetro1(incógnitai)){\displaystyle L(y_{i},F_{m}(x_{i}))\leq L(y_{i},F_{m-1}(x_{i}))}.

Además, podemos optimizarγ{\displaystyle \gamma }al encontrar elγ{\displaystyle \gamma }valor para el cual la función de pérdida tiene un mínimo:

γmetro=argininaγi=1norteL(yi,Fmetro(incógnitai))=argminγi=1norteL(yi,Fmetro1(incógnitai)γFmetro1L(yi,Fmetro1(incógnitai))).{\displaystyle \gamma _{m}={\underset {\gamma }{\operatorname {argmin} }}\sum _{i=1}^{n}L(y_{i},F_{m}(x_{i}))={\underset {\gamma }{\arg \min }}{\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})-\gamma \nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))\right)}.}

Si consideramos el caso continuo, es decir, dondeH{\displaystyle {\mathcal {H}}}es el conjunto de funciones diferenciables arbitrarias enR{\displaystyle \mathbb {R} }, actualizaríamos el modelo de acuerdo con las siguientes ecuaciones

Fmetro(incógnita)=Fmetro1(incógnita)γmetroi=1norteFmetro1L(yi,Fmetro1(incógnitai)){\displaystyle F_{m}(x)=F_{m-1}(x)-\gamma _{m}\sum _{i=1}^{n}{\nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))}}

dóndeγmetro{\displaystyle \gamma _{m}}es la longitud del paso, definida como γmetro=argminγi=1norteL(yi,Fmetro1(incógnitai)γFmetro1L(yi,Fmetro1(incógnitai))).{\displaystyle \gamma _{m}={\underset {\gamma }{\arg \min }}\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})-\gamma \nabla _{F_{m-1}}L(y_{i},F_{m-1}(x_{i}))\right).} En el caso discreto, sin embargo, es decir, cuando el conjuntoH{\displaystyle {\mathcal {H}}}es finito , elegimos la función candidata h más cercana al gradiente de L para la cual el coeficiente γ puede calcularse con la ayuda de una búsqueda lineal en las ecuaciones anteriores. Nótese que este enfoque es heurístico y, por lo tanto, no proporciona una solución exacta al problema dado, sino una aproximación. En pseudocódigo, el método genérico de potenciación de gradiente es: [ 4 ] [ 1 ]

Entrada: conjunto de entrenamiento{(incógnitai,yi)}i=1norte,{\displaystyle \{(x_{i},y_{i})\}_{i=1}^{n},}una función de pérdida diferenciableL(y,F(incógnita)),{\displaystyle L(y,F(x)),}número de iteraciones M.

Algoritmo:

  1. Inicialice el modelo con un valor constante:
    F0(incógnita)=argminγi=1norteL(yi,γ).{\displaystyle F_{0}(x)={\underset {\gamma }{\arg \min }}\sum _{i=1}^{n}L(y_{i},\gamma ).}
  2. Para m = 1 a M :
    1. Calcular los llamados pseudoresiduos :
      rimetro=[L(yi,F(incógnitai))F(incógnitai)]F(incógnita)=Fmetro1(incógnita)para i=1,,norte.{\displaystyle r_{im}=-\left[{\frac {\partial L(y_{i},F(x_{i}))}{\partial F(x_{i})}}\right]_{F(x)=F_{m-1}(x)}\quad {\text{for }}i=1,\ldots ,n.}
    2. Ajustar un clasificador base (o clasificador débil, por ejemplo, un árbol) cerrado bajo escalado.hmetro(incógnita){\displaystyle h_{m}(x)}a pseudoresiduos, es decir, entrenarlo usando el conjunto de entrenamiento{(incógnitai,rimetro)}i=1norte{\displaystyle \{(x_{i},r_{im})\}_{i=1}^{n}}.
    3. Calcular multiplicadorγmetro{\displaystyle \gamma _{m}}resolviendo el siguiente problema de optimización unidimensional:
      γmetro=argininaγi=1norteL(yi,Fmetro1(incógnitai)+γhmetro(incógnitai)).{\displaystyle \gamma _{m}={\underset {\gamma }{\operatorname {argmin} }}\sum _{i=1}^{n}L\left(y_{i},F_{m-1}(x_{i})+\gamma h_{m}(x_{i})\right).}
    4. Actualizar el modelo:
      Fmetro(incógnita)=Fmetro1(incógnita)+γmetrohmetro(incógnita).{\displaystyle F_{m}(x)=F_{m-1}(x)+\gamma _{m}h_{m}(x).}
  3. ProducciónFMETRO(incógnita).{\displaystyle F_{M}(x).}

Potenciación de árboles de gradiente

El método de potenciación de gradiente se suele utilizar con árboles de decisión (especialmente CART ) de tamaño fijo como clasificadores base. Para este caso particular, Friedman propone una modificación del método de potenciación de gradiente que mejora la calidad del ajuste de cada clasificador base.

El aumento de gradiente genérico en el paso m se ajustaría a un árbol de decisión.hmetro(incógnita){\displaystyle h_{m}(x)}a pseudoresiduos. DejemosJmetro{\displaystyle J_{m}}sea ​​el número de sus hojas. El árbol divide el espacio de entrada enJmetro{\displaystyle J_{m}}regiones disjuntasR1metro,,RJmetrometro{\displaystyle R_{1m},\ldots ,R_{J_{m}m}}y predice un valor constante en cada región. Usando la notación de indicadores , la salida dehmetro(incógnita){\displaystyle h_{m}(x)}para la entrada x se puede escribir como la suma:

hmetro(incógnita)=j=1Jmetrobjmetro1Rjmetro(incógnita),{\displaystyle h_{m}(x)=\sum _{j=1}^{J_{m}}b_{jm}\mathbf {1} _{R_{jm}}(x),}

dóndebjmetro{\displaystyle b_{jm}}es el valor previsto en la regiónRjmetro{\displaystyle R_{jm}}. [ 9 ]

Luego los coeficientesbjmetro{\displaystyle b_{jm}}se multiplican por algún valorγmetro{\displaystyle \gamma _{m}}, elegido mediante búsqueda lineal para minimizar la función de pérdida, y el modelo se actualiza de la siguiente manera:

Fmetro(incógnita)=Fmetro1(incógnita)+γmetrohmetro(incógnita),γmetro=argramometroinorteγi=1norteL(yi,Fmetro1(incógnitai)+γhmetro(incógnitai)).{\displaystyle F_{m}(x)=F_{m-1}(x)+\gamma _{m}h_{m}(x),\quad \gamma _{m}={\underset {\gamma }{\operatorname {arg\,min} }}\sum _{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+\gamma h_{m}(x_{i})).}

Friedman propone modificar este algoritmo para que elija un valor óptimo separado.γjmetro{\displaystyle \gamma _{jm}}para cada una de las regiones del árbol, en lugar de una solaγmetro{\displaystyle \gamma _{m}}para todo el árbol. Llama al algoritmo modificado "TreeBoost". Los coeficientesbjmetro{\displaystyle b_{jm}}El procedimiento de ajuste de árbol se puede descartar simplemente y la regla de actualización del modelo queda así:

Fmetro(incógnita)=Fmetro1(incógnita)+j=1Jmetroγjmetro1Rjmetro(incógnita),γjmetro=argramometroinorteγincógnitaiRjmetroL(yi,Fmetro1(incógnitai)+γ).{\displaystyle F_{m}(x)=F_{m-1}(x)+\sum _{j=1}^{J_{m}}\gamma _{jm}\mathbf {1} _{R_{jm}}(x),\quad \gamma _{jm}={\underset {\gamma }{\operatorname {arg\,min} }}\sum _{x_{i}\in R_{jm}}L(y_{i},F_{m-1}(x_{i})+\gamma ).}

Cuando la pérdidaL(,){\displaystyle L(\cdot ,\cdot )}es el error cuadrático medio (ECM) los coeficientesγjmetro{\displaystyle \gamma _{jm}}coinciden con los coeficientes del procedimiento de ajuste de árbolesbjmetro{\displaystyle b_{jm}}.

Tamaño del árbol

El númeroJ{\displaystyle J}El número de nodos terminales en los árboles es un parámetro que controla el nivel máximo permitido de interacción entre las variables del modelo.J=2{\displaystyle J=2}( tonterías de decisión ), no se permite ninguna interacción entre variables. ConJ=3{\displaystyle J=3}El modelo puede incluir efectos de la interacción entre hasta dos variables, y así sucesivamente.J{\displaystyle J}puede ajustarse al conjunto de datos disponible.

Hastie et al. [ 1 ] comentan que típicamente4J8{\displaystyle 4\leq J\leq 8}funcionan bien para potenciar y los resultados son bastante insensibles a la elección deJ{\displaystyle J}en este rango,J=2{\displaystyle J=2}es insuficiente para muchas aplicaciones yJ>10{\displaystyle J>10}Es poco probable que sea necesario.

Regularización

Ajustar demasiado el conjunto de entrenamiento puede degradar la capacidad de generalización del modelo, es decir, su rendimiento con ejemplos no vistos. Varias técnicas de regularización reducen este efecto de sobreajuste al restringir el procedimiento de ajuste.

Un parámetro de regularización natural es el número de iteraciones de potenciación de gradiente M (es decir, el número de modelos base). Aumentar M reduce el error en el conjunto de entrenamiento, pero incrementa el riesgo de sobreajuste. El valor óptimo de M se suele seleccionar monitorizando el error de predicción en un conjunto de datos de validación independiente.

Otro parámetro de regularización para el boosting de árboles es la profundidad del árbol. Cuanto mayor sea este valor, mayor será la probabilidad de que el modelo se sobreajuste a los datos de entrenamiento.

Contracción

Una parte importante del aumento de gradiente es la regularización por contracción, que utiliza una regla de actualización modificada:

Fmetro(incógnita)=Fmetro1(incógnita)+νγmetrohmetro(incógnita),0<ν1,{\displaystyle F_{m}(x)=F_{m-1}(x)+\nu \cdot \gamma _{m}h_{m}(x),\quad 0<\nu \leq 1,}

donde parámetroν{\displaystyle \nu }Se denomina "tasa de aprendizaje".

Empíricamente, se ha descubierto que usar tasas de aprendizaje pequeñas (comoν<0.1{\displaystyle \nu <0.1}) produce mejoras drásticas en la capacidad de generalización de los modelos con respecto al aumento de gradiente sin reducción (ν=1{\displaystyle \nu =1}). [ 1 ] Sin embargo, esto conlleva el costo de aumentar el tiempo de cálculo tanto durante el entrenamiento como durante las consultas : una tasa de aprendizaje más baja requiere más iteraciones.

Potenciación de gradiente estocástico

Poco después de la introducción del gradient boosting, Friedman propuso una modificación menor al algoritmo, inspirada en el método de agregación bootstrap ("bagging") de Breiman . [ 2 ] Específicamente, propuso que en cada iteración del algoritmo, se ajustara un clasificador base a una submuestra del conjunto de entrenamiento extraída al azar sin reemplazo. [ 10 ] Friedman observó una mejora sustancial en la precisión del gradient boosting con esta modificación.

El tamaño de la submuestra es una fracción constante.F{\displaystyle f}del tamaño del conjunto de entrenamiento. CuandoF=1{\displaystyle f=1}, el algoritmo es determinista e idéntico al descrito anteriormente. Valores más pequeños deF{\displaystyle f}Introduce aleatoriedad en el algoritmo y ayuda a prevenir el sobreajuste , actuando como una especie de regularización . El algoritmo también se vuelve más rápido, porque los árboles de regresión deben ajustarse a conjuntos de datos más pequeños en cada iteración. Friedman [ 2 ] obtuvo que0,5F0,8{\displaystyle 0.5\leq f\leq 0.8}conduce a buenos resultados para conjuntos de entrenamiento de tamaño pequeño y moderado. Por lo tanto,F{\displaystyle f}Normalmente se establece en 0,5, lo que significa que se utiliza la mitad del conjunto de entrenamiento para construir cada aprendiz base. [ 11 ]

Asimismo, al igual que en el bagging, el submuestreo permite definir un error fuera de la bolsa en la mejora del rendimiento de la predicción, evaluando las predicciones en aquellas observaciones que no se utilizaron en la construcción del siguiente clasificador base. Las estimaciones fuera de la bolsa ayudan a evitar la necesidad de un conjunto de datos de validación independiente, pero a menudo subestiman la mejora real del rendimiento y el número óptimo de iteraciones. [ 12 ] [ 13 ]

Número de observaciones en hojas

Las implementaciones de potenciación de árboles de gradiente también suelen utilizar la regularización limitando el número mínimo de observaciones en los nodos terminales de los árboles. Esto se aplica durante el proceso de construcción del árbol, ignorando cualquier división que dé lugar a nodos con menos instancias del conjunto de entrenamiento.

Imponer este límite ayuda a reducir la varianza en las predicciones en las hojas.

Penalización por complejidad

Otra técnica de regularización útil para el modelo de potenciación de gradiente consiste en penalizar su complejidad. [ 14 ] Para los árboles de potenciación de gradiente, la complejidad del modelo se puede definir como el número proporcional de hojas en los árboles. La optimización conjunta de la pérdida y la complejidad del modelo corresponde a un algoritmo de poda posterior para eliminar las ramas que no logran reducir la pérdida por debajo de un umbral.

Otros tipos de regularización, como una2{\displaystyle \ell _{2}}También se puede utilizar una penalización en los valores de las hojas para evitar el sobreajuste . [ 15 ]

Uso

El aumento de gradiente se puede utilizar en el campo del aprendizaje para la clasificación . Los motores de búsqueda web comerciales Yahoo [ 16 ] y Yandex [ 17 ] utilizan variantes de aumento de gradiente en sus motores de clasificación basados ​​en aprendizaje automático. El aumento de gradiente también se utiliza en física de altas energías en el análisis de datos. En el Gran Colisionador de Hadrones (LHC), las variantes de aumento de gradiente de redes neuronales profundas (DNN) lograron reproducir los resultados de métodos de análisis que no se basan en aprendizaje automático en conjuntos de datos utilizados para descubrir el bosón de Higgs . [ 18 ] El árbol de decisión de aumento de gradiente también se aplicó en estudios terrestres y geológicos, por ejemplo, en la evaluación de la calidad de un yacimiento de arenisca. [ 19 ]

Nombres

El método recibe varios nombres. Friedman introdujo su técnica de regresión como una "Máquina de Impulso de Gradiente" (GBM). [ 4 ] Mason, Baxter et al. describieron la clase abstracta generalizada de algoritmos como "impulso de gradiente funcional". [ 5 ] [ 6 ] Friedman et al. describen un avance de los modelos de impulso de gradiente como Árboles de Regresión Aditiva Múltiple (MART); [ 20 ] Elith et al. describen ese enfoque como "Árboles de Regresión Impulsados" (BRT). [ 21 ]

Una implementación popular de código abierto para R la denomina "Modelo de Impulso Generalizado" [ 12 ] , sin embargo, los paquetes que amplían este trabajo utilizan BRT [ 22 ] . Otro nombre es TreeNet, en honor a una implementación comercial temprana de Dan Steinberg, de Salford Systems, uno de los investigadores pioneros en el uso de métodos basados ​​en árboles [ 23 ] .

Clasificación de importancia de las características

El aumento de gradiente se puede utilizar para la clasificación de la importancia de las características, que generalmente se basa en la agregación de la función de importancia de los aprendices base. [ 24 ] Por ejemplo, si se desarrolla un algoritmo de árboles de aumento de gradiente utilizando árboles de decisión basados ​​en entropía , el algoritmo de conjunto clasifica la importancia de las características también en función de la entropía, con la salvedad de que se promedia sobre todos los aprendices base. [ 24 ] [ 1 ]

Desventajas

Si bien el boosting puede aumentar la precisión de un aprendiz base, como un árbol de decisión o una regresión lineal, sacrifica la inteligibilidad y la interpretabilidad . [ 24 ] [ 25 ] Por ejemplo, seguir la ruta que toma un árbol de decisión para tomar su decisión es trivial y autoexplicativo, pero seguir las rutas de cientos o miles de árboles es mucho más difícil. Para lograr tanto rendimiento como interpretabilidad, algunas técnicas de compresión de modelos permiten transformar un XGBoost en un único árbol de decisión "renacido" que aproxima la misma función de decisión. [ 26 ] Además, su implementación puede ser más difícil debido a la mayor demanda computacional.

Véase también

Referencias

  1. 1 2 3 4 5 6 Hastie, T.; Tibshirani, R.; Friedman, JH (2009). "10. Boosting y árboles aditivos" . Los elementos del aprendizaje estadístico (2.ª  ed.). Nueva York: Springer. págs. 337–384 . ISBN  978-0-387-84857-0Archivado del original el 10 de noviembre de 2009.
  2. 1 2 3 4 Friedman, JH (marzo de 1999). "Stochastic Gradient Boosting" (PDF) . Archivado del original (PDF) el 1 de agosto de 2014. Recuperado el 13 de noviembre de 2013 .
  3. Breiman, L. (junio de 1997). "Arcing The Edge" (PDF) . Informe técnico 486. Departamento de Estadística, Universidad de California, Berkeley.
  4. 1 2 3 Friedman, JH (febrero de 1999). "Aproximación de función voraz: una máquina de potenciación de gradiente" (PDF) . Archivado del original (PDF) el 1 de noviembre de 2019. Recuperado el 27 de agosto de 2018 .
  5. 1 2 Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (1999). "Boosting Algorithms as Gradient Descent" (PDF) . En SA Solla y TK Leen y K. Müller (eds.). Advances in Neural Information Processing Systems 12. MIT Press. pp. 512–518 . 
  6. 1 2 Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (mayo de 1999). "Algoritmos de potenciación como descenso de gradiente en el espacio de funciones" (PDF) . Archivado del original (PDF) el 22 de diciembre de 2018.
  7. Cheng Li. "Una introducción sencilla al Gradient Boosting" (PDF) .
  8. Lambers, Jim (2011–2012). "El método del descenso más pronunciado" (PDF) .
  9. Nota: en el caso de los árboles CART habituales, los árboles se ajustan utilizando la pérdida de mínimos cuadrados, y por lo tanto el coeficientebjmetro{\displaystyle b_{jm}}para la regiónRjmetro{\displaystyle R_{jm}}es igual al valor de la variable de salida, promediado sobre todas las instancias de entrenamiento enRjmetro{\displaystyle R_{jm}}.
  10. Tenga en cuenta que esto es diferente del bagging, que muestrea con reemplazo porque utiliza muestras del mismo tamaño que el conjunto de entrenamiento.
  11. Arrabi, Nooshin; Torabi, Mohhamadreza; Fassihi, Afshin; Ghasemi, Fahimeh. "Identificación de posibles inhibidores del receptor del factor de crecimiento endotelial vascular mediante modelado de aprendizaje basado en árboles y simulación de acoplamiento molecular". Chemometrics . 1 (1): 1. doi : 10.1002/cem.3545 .
  12. 1 2 Ridgeway, Greg (2007). Modelos potenciados generalizados: una guía para el paquete gbm.
  13. Aprende el algoritmo de potenciación de gradiente para obtener mejores predicciones (con código en R)
  14. Tianqi Chen. Introducción a los árboles potenciados
  15. Arrabi, Nooshin; Torabi, Mohhamadreza; Fassihi, Afshin; Ghasemi, Fahimeh. "Identificación de posibles inhibidores del receptor del factor de crecimiento endotelial vascular mediante modelado de aprendizaje basado en árboles y simulación de acoplamiento molecular". Chemometrics . 1 (1): 1. doi : 10.1002/cem.3545 .
  16. Cossock, David y Zhang, Tong (2008). Análisis estadístico de la clasificación óptima de subconjuntos de Bayes. Archivado el 7 de agosto de 2010 en Wayback Machine , página 14.
  17. Entrada del blog corporativo de Yandex sobre el nuevo modelo de clasificación "Snezhinsk" Archivada el 1 de marzo de 2012 en Wayback Machine (en ruso)
  18. Lalchand, Vidhi (2020). "Extrayendo más de árboles de decisión potenciados: un estudio de caso de física de altas energías". arXiv : 2001.06033 [ stat.ML ].
  19. ^ Mamá, Longfei; Xiao, Hanmin; Tao, Jingwei; Zheng, Taiyi; Zhang, Haiqin (1 de enero de 2022). "Un enfoque inteligente para la evaluación de la calidad del yacimiento en yacimientos de arenisca estrechos utilizando un algoritmo de árbol de decisión que aumenta el gradiente" . Geociencias abiertas . 14 (1): 629– 645. Bibcode : 2022OGeo...14..354M . doi : 10.1515/geo-2022-0354 . ISSN 2391-5447 . 
  20. Friedman, Jerome (2003). "Árboles de regresión aditiva múltiple con aplicación en epidemiología". Statistics in Medicine . 22 (9): 1365– 1381. doi : 10.1002/sim.1501 . PMID 12704603. S2CID 41965832 .  
  21. Elith, Jane (2008). "Una guía práctica para árboles de regresión potenciados" . Journal of Animal Ecology . 77 (4): 802– 813. Bibcode : 2008JAnEc..77..802E . doi : 10.1111/j.1365-2656.2008.01390.x . PMID 18397250 . 
  22. Elith, Jane. "Árboles de regresión potenciados para modelado ecológico" (PDF) . CRAN . Archivado del original (PDF) el 25 de julio de 2020. Recuperado el 31 de agosto de 2018 .
  23. "Exclusiva: Entrevista con Dan Steinberg, presidente de Salford Systems, pionero en minería de datos" . KDnuggets .
  24. 1 2 3 Piryonesi, S. Madeh; El-Diraby, Tamer E. (2020-03-01). "Análisis de datos en la gestión de activos: predicción rentable del índice de condición del pavimento" . Journal of Infrastructure Systems . 26 (1): 04019036. doi : 10.1061/(ASCE)IS.1943-555X.0000512 . ISSN 1943-555X . S2CID 213782055 .  
  25. Wu, Xindong; Kumar, Vipin; Ross Quinlan, J.; Ghosh, Joydeep; Yang, Qiang; Motoda, Hiroshi; McLachlan, Geoffrey J.; Ng, Angus; Liu, Bing; Yu, Philip S.; Zhou, Zhi-Hua (2008-01-01). "Top 10 algorithms in data mining". Knowledge and Information Systems . 14 (1): 1– 37. doi : 10.1007/s10115-007-0114-2 . hdl : 10983/15329 . ISSN 0219-3116 . S2CID 2367747 .  
  26. Sagi, Omer; Rokach, Lior (2021). "Aproximación de XGBoost con un árbol de decisión interpretable". Information Sciences . 572 (2021): 522– 542. doi : 10.1016/j.ins.2021.05.055 .

Lecturas adicionales

  • Boehmke, Bradley; Greenwell, Brandon (2019). «Gradient Boosting». Hands-On Machine Learning with R. Chapman & Hall. pp. 221–245 . ISBN  978-1-138-49568-5.
  • Cómo explicar el aumento de gradiente
  • Árboles de regresión potenciados por gradiente
  • LightGBM