stringtranslate.com

Aumento de gradiente

El impulso de gradiente es una técnica de aprendizaje automático basada en el impulso en un espacio funcional, donde el objetivo son pseudoresiduales en lugar de los residuos típicos utilizados en el impulso 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 suelen ser árboles de decisión simples . [1] [2] Cuando un árbol de decisión es el alumno débil, el algoritmo resultante se denomina árboles potenciados por gradiente; Por lo general, supera al bosque aleatorio . [1] Un modelo de árboles impulsado por gradiente se construye por etapas como en otros métodos de impulso , pero generaliza los otros métodos al permitir la optimización de una función de pérdida diferenciable arbitraria .

Historia

La idea del aumento de gradiente se originó en la observación de Leo Breiman de que el aumento puede interpretarse como un algoritmo de optimización de una función de costos adecuada. [3] Posteriormente, Jerome H. Friedman desarrolló algoritmos de aumento de gradiente de regresión explícitos , [4] [2] (en 1999 y más tarde en 2001) simultáneamente con la perspectiva más general de aumento de gradiente 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 impulso como algoritmos iterativos de descenso de gradiente funcional . Es decir, algoritmos que optimizan una función de costos sobre el espacio funcional eligiendo iterativamente una función (hipótesis débil) que apunta en la dirección del gradiente negativo. Esta visión de gradiente funcional del impulso ha llevado al desarrollo de algoritmos de impulso 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 la exposición del aumento de gradiente realizada por Cheng Li. [7] )

Al igual que otros métodos de impulso, el impulso de gradiente combina "alumnos" débiles en un único alumno fuerte de forma iterativa. Es más fácil de explicar en la configuración de regresión de mínimos cuadrados , donde el objetivo es "enseñar" a un modelo a predecir valores de la forma minimizando el error cuadrático medio , donde los índices sobre algún conjunto de entrenamiento del tamaño de los valores reales de la salida variable :

Ahora, consideremos un algoritmo de aumento de gradiente con etapas. En cada etapa ( ) del aumento de gradiente, supongamos algún modelo imperfecto (para niveles bajos , este modelo puede simplemente devolver , donde el RHS es la media de ). Para mejorar , nuestro algoritmo debería agregar algún estimador nuevo . De este modo,

o equivalente,

.

Por lo tanto, el aumento de gradiente se ajustará al residual . Como en otras variantes de impulso, cada una intenta corregir los errores de su predecesor . Una generalización de esta idea a funciones de pérdida distintas del error cuadrático y a problemas de clasificación y ranking se deriva de la observación de que los residuos para un modelo dado son proporcionales a los gradientes negativos de la función de pérdida del error cuadrático medio (MSE) (con respecto a ):

.

Por lo tanto, el aumento de gradiente podría especializarse en un algoritmo de descenso de gradiente , y generalizarlo implica "conectar" una pérdida diferente y su gradiente.

Algoritmo

En muchos problemas de aprendizaje supervisado hay una variable de salida y y un vector de variables de entrada x , relacionados entre sí con alguna distribución probabilística. El objetivo es encontrar alguna función que se aproxime mejor 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 y minimizándola según las expectativas:

.

El método de aumento de gradiente supone un valor real y . Busca una aproximación en forma de una suma ponderada de M funciones de alguna clase , llamadas alumnos base (o débiles ):

.

Por lo general, recibimos un conjunto de entrenamiento de valores de muestra conocidos de x y los valores correspondientes de y . De acuerdo con el principio de minimización del riesgo empírico , el método intenta encontrar una aproximación que minimice el valor medio de la función de pérdida en el conjunto de entrenamiento, es decir, minimice el riesgo empírico. Lo hace comenzando con un modelo, que consta de una función constante , y lo expande incrementalmente de manera voraz :

,
,

para , donde hay una función de aprendizaje base.

Desafortunadamente, elegir la mejor función en cada paso para una función de pérdida arbitraria L es un problema de optimización computacionalmente inviable en general. 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 detrás del descenso más pronunciado es encontrar un mínimo local de la función de pérdida iterando . De hecho, la dirección de descenso máximo local de la función de pérdida es el gradiente negativo. [8]

Por lo tanto, mover una pequeña cantidad de manera que la aproximación lineal siga siendo válida:

dónde . Para los pequeños , esto implica que .

Además, podemos optimizar encontrando el valor para el cual la función de pérdida tiene un mínimo:

Si consideráramos el caso continuo, es decir, dónde está el conjunto de funciones arbitrarias diferenciables en , actualizaríamos el modelo de acuerdo con las siguientes ecuaciones

¿Dónde está la longitud del paso, definida como

[ se necesita aclaración ]hLγbúsqueda lineal[4] [1]

Entrada: el entrenamiento establece una función de pérdida diferenciable con un número de iteraciones M.

Algoritmo:

  1. Inicialice el modelo con un valor constante:
  2. Para m = 1 a M :
    1. Calcule los llamados pseudoresiduales :
    2. Ajuste un alumno base (o un alumno débil, por ejemplo, un árbol) cerrado bajo escalado a pseudoresiduales, es decir, entrénelo utilizando el conjunto de entrenamiento .
    3. Calcule el multiplicador resolviendo el siguiente problema de optimización unidimensional:
    4. Actualiza el modelo:
  3. Producción

Aumento del árbol de gradiente

El aumento de gradiente se utiliza normalmente con árboles de decisión (especialmente CART ) de un tamaño fijo como alumnos base. Para este caso especial, Friedman propone una modificación del método de aumento de gradiente que mejora la calidad de ajuste de cada alumno base.

El aumento de gradiente genérico en el paso m ajustaría un árbol de decisión a pseudoresiduales. Sea el número de sus hojas. El árbol divide el espacio de entrada en regiones separadas y predice un valor constante en cada región. Usando la notación de indicador , la salida de la entrada x se puede escribir como la suma:

¿Dónde está el valor previsto en la región ? [9]

Luego, los coeficientes se multiplican por algún valor , elegido mediante búsqueda lineal para minimizar la función de pérdida, y el modelo se actualiza de la siguiente manera:

Friedman propone modificar este algoritmo para que elija un valor óptimo separado para cada una de las regiones del árbol, en lugar de uno único para todo el árbol. Él llama al algoritmo modificado "TreeBoost". Los coeficientes del procedimiento de ajuste de árboles pueden simplemente descartarse y la regla de actualización del modelo pasa a ser:

Tamaño de los árboles

, el número de nodos terminales en los árboles, es el parámetro del método que se puede ajustar para un conjunto de datos disponible. Controla el nivel máximo permitido de interacción entre variables en el modelo. Con ( tomos de decisión ), no se permite ninguna interacción entre variables. Con el modelo se pueden incluir efectos de la interacción entre hasta dos variables, etcétera.

Hastie et al. [1] comenta que normalmente funciona bien para potenciar y que los resultados son bastante insensibles a la elección en este rango, es insuficiente para muchas aplicaciones y es poco probable que sea necesario.

Regularización

Ajustar demasiado el conjunto de entrenamiento puede conducir a la degradación de la capacidad de generalización del modelo. 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 M que aumentan el gradiente (es decir, el número de árboles en el modelo cuando el alumno base es un árbol de decisión). Aumentar M reduce el error en el conjunto de entrenamiento, pero establecerlo demasiado alto puede provocar un sobreajuste. A menudo se selecciona un valor óptimo de M monitoreando el error de predicción en un conjunto de datos de validación separado. Además de controlar M , se utilizan otras técnicas de regularización.

Otro parámetro de regularización es la profundidad de los árboles. Cuanto mayor sea este valor, más probable es que el modelo se ajuste demasiado a los datos de entrenamiento.

Contracción

Una parte importante del método de aumento de gradiente es la regularización por contracción, que consiste en modificar la regla de actualización de la siguiente manera:

donde el parámetro se denomina "tasa de aprendizaje".

Empíricamente, se ha descubierto que el uso de tasas de aprendizaje pequeñas (como ) produce mejoras dramáticas en la capacidad de generalización de los modelos en comparación con el aumento de gradiente sin reducirlo ( ). [1] Sin embargo, esto tiene el precio 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.

Aumento del gradiente estocástico

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

El tamaño de la submuestra es una fracción constante del tamaño del conjunto de entrenamiento. Cuando , el algoritmo es determinista e idéntico al descrito anteriormente. Los valores más pequeños de introducen aleatoriedad en el algoritmo y ayudan 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 que se obtienen buenos resultados con series de entrenamiento de tamaño pequeño y moderado. Por lo tanto, normalmente se establece en 0,5, lo que significa que la mitad del conjunto de capacitación se utiliza para desarrollar cada alumno base.

Además, al igual que en el embolsado, el submuestreo permite definir un error fuera de la bolsa de la mejora del rendimiento de la predicción al evaluar las predicciones de aquellas observaciones que no se utilizaron en la construcción del siguiente alumno base. Las estimaciones listas para usar 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. [11] [12]

Número de observaciones en hojas.

Las implementaciones de mejora de árboles de gradiente a menudo también utilizan la regularización al limitar el número mínimo de observaciones en los nodos terminales de los árboles. Se utiliza en el proceso de construcción del árbol ignorando cualquier división que conduzca a que los nodos contengan menos de este número de instancias del conjunto de entrenamiento.

Imponer este límite ayuda a reducir la variación en las predicciones en las hojas.

Penalizar la complejidad del árbol.

Otra técnica de regularización útil para árboles impulsados ​​por gradiente es penalizar la complejidad del modelo aprendido. [13] La complejidad del modelo se puede definir como el número proporcional de hojas en los árboles aprendidos. La optimización conjunta de la pérdida y la complejidad del modelo corresponde a un algoritmo de pospoda para eliminar las ramas que no logran reducir la pérdida en un umbral. También se pueden agregar otros tipos de regularización, como una penalización en los valores de las hojas, para evitar el sobreajuste .

Uso

El aumento de gradiente se puede utilizar en el campo del aprendizaje de clasificación . Los motores de búsqueda web comerciales Yahoo [14] y Yandex [15] utilizan variantes de aumento de gradiente en sus motores de clasificación de 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), variantes de redes neuronales profundas (DNN) que aumentan el gradiente lograron reproducir los resultados de métodos de análisis sin aprendizaje automático en conjuntos de datos utilizados para descubrir el bosón de Higgs . [16] El árbol de decisión de aumento de gradiente también se aplicó en estudios geológicos y terrestres, por ejemplo, evaluación de la calidad de yacimientos de arenisca. [17]

Nombres

El método recibe varios nombres. Friedman presentó su técnica de regresión como una "máquina de impulso de gradiente" (GBM). [4] Mason, Baxter et al. describió la clase abstracta generalizada de algoritmos como "impulso de gradiente funcional". [5] [6] Friedman et al. describir un avance de los modelos impulsados ​​por gradiente como árboles de regresión aditiva múltiple (MART); [18] Elith y cols. describen ese enfoque como "árboles de regresión impulsados" (BRT). [19]

Una implementación popular de código abierto para R lo llama "Modelo de impulso generalizado", [11] sin embargo, los paquetes que amplían este trabajo utilizan BRT. [20] Otro nombre más es TreeNet, después de una implementación comercial temprana de Dan Steinberg de Salford System, uno de los investigadores que fueron pioneros en el uso de métodos basados ​​en árboles. [21]

Clasificación de importancia de características

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

Desventajas

Si bien el impulso puede aumentar la precisión de un alumno base, como un árbol de decisión o una regresión lineal, sacrifica la inteligibilidad y la interpretabilidad . [22] [23] Por ejemplo, seguir el camino que sigue un árbol de decisión para tomar su decisión es trivial y se explica por sí mismo, pero seguir los caminos 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 se aproxima a la misma función de decisión. [24] Además, su implementación puede ser más difícil debido a la mayor demanda computacional.

Ver también

Referencias

  1. ^ abcdefHastie , T.; Tibshirani, R.; Friedman, JH (2009). "10. Árboles potenciadores y aditivos". Los elementos del aprendizaje estadístico (2ª ed.). Nueva York: Springer. págs. 337–384. ISBN 978-0-387-84857-0. Archivado desde el original el 10 de noviembre de 2009.
  2. ^ abcd Friedman, JH (marzo de 1999). "Aumento del gradiente estocástico" (PDF) .
  3. ^ Breiman, L. (junio de 1997). "Arqueando el borde" (PDF) . Informe Técnico 486 . Departamento de Estadística, Universidad de California, Berkeley.
  4. ^ abc Friedman, JH (febrero de 1999). "Aproximación de funciones codiciosas: una máquina de aumento de gradiente" (PDF) .
  5. ^ ab Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (1999). "Impulso de algoritmos como descenso de gradiente" (PDF) . En SA Solla y TK Leen y K. Müller (ed.). Avances en los sistemas de procesamiento de información neuronal 12 . Prensa del MIT. págs. 512–518.
  6. ^ ab Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (mayo de 1999). "Impulso de algoritmos como descenso de gradiente en el espacio funcional" (PDF) . Archivado desde el original (PDF) el 22 de diciembre de 2018.
  7. ^ Cheng Li. "Una suave introducción al aumento de gradiente" (PDF) .
  8. ^ Lambers, Jim (2011-2012). "El método del descenso más empinado" (PDF) .
  9. ^ Nota: en el caso de los árboles CART habituales, los árboles se ajustan mediante pérdida de mínimos cuadrados, por lo que el coeficiente de la región es igual al valor de la variable de salida, promediado sobre todas las instancias de entrenamiento en .
  10. ^ Tenga en cuenta que esto es diferente del embolsado, que toma muestras con reemplazo porque utiliza muestras del mismo tamaño que el conjunto de entrenamiento.
  11. ^ ab Ridgeway, Greg (2007). Modelos potenciados generalizados: una guía para el paquete gbm.
  12. ^ Aprenda el algoritmo de aumento de gradiente para obtener mejores predicciones (con códigos en R)
  13. ^ Tianqi Chen. Introducción a los árboles potenciados
  14. ^ Cossock, David y Zhang, Tong (2008). Análisis estadístico de la clasificación de subconjuntos óptimos de Bayes Archivado el 7 de agosto de 2010 en Wayback Machine , página 14.
  15. ^ Entrada del blog corporativo de Yandex sobre el nuevo modelo de clasificación "Snezhinsk" Archivado el 1 de marzo de 2012 en Wayback Machine (en ruso)
  16. ^ Lalchand, Vidhi (2020). "Extraer más de los árboles de decisión mejorados: un estudio de caso de física de altas energías". arXiv : 2001.06033 [estad.ML].
  17. ^ 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. Código Bib : 2022OGeo...14..354M. doi : 10.1515/geo-2022-0354 . ISSN  2391-5447.
  18. ^ Friedman, Jerome (2003). "Árboles de regresión aditiva múltiple con aplicación en epidemiología". Estadística en Medicina . 22 (9): 1365-1381. doi :10.1002/sim.1501. PMID  12704603. S2CID  41965832.
  19. ^ Elith, Jane (2008). "Una guía de trabajo para árboles de regresión potenciados". Revista de Ecología Animal . 77 (4): 802–813. Código Bib : 2008JAnEc..77..802E. doi : 10.1111/j.1365-2656.2008.01390.x . PMID  18397250.
  20. ^ Elith, Jane. "Árboles de regresión potenciados para modelado ecológico" (PDF) . GRÚA . Consultado el 31 de agosto de 2018 .
  21. ^ "Exclusivo: entrevista con Dan Steinberg, presidente de Salford Systems, pionero en minería de datos".
  22. ^ abc Piryonesi, S. Madeh; El-Diraby, Tamer E. (1 de marzo de 2020). "Análisis de datos en la gestión de activos: predicción rentable del índice de condición del pavimento". Revista de sistemas de infraestructura . 26 (1): 04019036. doi :10.1061/(ASCE)IS.1943-555X.0000512. ISSN  1943-555X. S2CID  213782055.
  23. ^ 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 (1 de enero de 2008). "Los 10 mejores algoritmos en minería de datos". Sistemas de Conocimiento y Información . 14 (1): 1–37. doi :10.1007/s10115-007-0114-2. hdl : 10983/15329 . ISSN  0219-3116. S2CID  2367747.
  24. ^ Sagi, Omer; Rokach, Lior (2021). "Aproximación a XGBoost con un árbol de decisión interpretable". Ciencias de la Información . 572 (2021): 522–542. doi :10.1016/j.ins.2021.05.055.

Otras lecturas

enlaces externos