LightGBM , abreviatura de máquina de impulso de gradiente ligero, es un marco de impulso de gradiente distribuido gratuito y de código abierto para el aprendizaje automático , desarrollado originalmente por Microsoft . [4] [5] Se basa en algoritmos de árboles de decisión y se utiliza para clasificar , clasificar y otras tareas de aprendizaje automático. El desarrollo se centra en el rendimiento y la escalabilidad.
El marco LightGBM admite diferentes algoritmos, incluidos GBT, GBDT , GBRT , GBM , MART [6] [7] y RF . [8] LightGBM tiene muchas de las ventajas de XGBoost , incluida la optimización escasa, el entrenamiento paralelo, múltiples funciones de pérdida, la regularización, el embolsado y la detención temprana. Una diferencia importante entre los dos radica en la construcción de los árboles. LightGBM no crece en un árbol nivelado (fila por fila) como lo hacen la mayoría de las otras implementaciones. [9] En cambio, crece árboles en forma de hojas. Elige la hoja que cree que producirá la mayor disminución de pérdidas. [10] Además, LightGBM no utiliza el ampliamente utilizado algoritmo de aprendizaje de árbol de decisión basado en clasificación, que busca el mejor punto de división en valores de características ordenados, [11] como lo hacen XGBoost u otras implementaciones. En cambio, LightGBM implementa un algoritmo de aprendizaje de árbol de decisión basado en histogramas altamente optimizado, que produce grandes ventajas tanto en eficiencia como en consumo de memoria. [12] El algoritmo LightGBM utiliza dos técnicas novedosas llamadas muestreo unilateral basado en gradientes (GOSS) y agrupación de funciones exclusivas (EFB), que permiten que el algoritmo se ejecute más rápido manteniendo un alto nivel de precisión. [13]
LightGBM funciona en Linux , Windows y macOS y es compatible con C++ , Python , [14] R y C# . [15] El código fuente tiene la licencia MIT y está disponible en GitHub . [dieciséis]
El muestreo unilateral basado en gradientes (GOSS) es un método que aprovecha el hecho de que no existe un peso nativo para la instancia de datos en GBDT. Dado que las instancias de datos con diferentes gradientes desempeñan diferentes roles en el cálculo de la ganancia de información, las instancias con gradientes más grandes contribuirán más a la ganancia de información. Entonces, para conservar la precisión de la información, GOSS mantiene las instancias con gradientes grandes y elimina aleatoriamente las instancias con gradientes pequeños. [13]
La agrupación de funciones exclusivas (EFB) es un método casi sin pérdidas para reducir la cantidad de funciones efectivas. En un espacio de características escaso, muchas características son casi exclusivas, lo que implica que rara vez toman valores distintos de cero simultáneamente. Las funciones codificadas one-hot son un ejemplo perfecto de funciones exclusivas. EFB agrupa estas características, reduciendo la dimensionalidad para mejorar la eficiencia y al mismo tiempo mantener un alto nivel de precisión. El conjunto de funciones exclusivas en una sola función se denomina paquete de funciones exclusivas. [13]