LightGBM , abreviatura de Light Gradient Boosting Machine, 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 árbol de decisiones y se utiliza para la clasificación , clasificación y otras tareas de aprendizaje automático. El desarrollo se centra en el rendimiento y la escalabilidad.
![]() | |
Autor (es) original (es) | Guolin Ke [1] / Investigación de Microsoft |
---|---|
Desarrollador (es) | Colaboradores de Microsoft y LightGBM [2] |
Versión inicial | 2016 |
Lanzamiento estable | v3.2.1 [3] / 12 de abril de 2021 |
Repositorio | github |
Escrito en | C ++ , Python , R , C |
Sistema operativo | Windows , macOS , Linux |
Tipo | Aprendizaje automático , marco de refuerzo de gradientes |
Licencia | Licencia MIT |
Sitio web | lightgbm |
Descripción general
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 , que incluyen optimización escasa, entrenamiento paralelo, funciones de pérdida múltiple, regularización, ensacado y detención anticipada. Una gran diferencia entre los dos radica en la construcción de árboles. LightGBM no crece a nivel de árbol, 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 en la pérdida. [10] Además, LightGBM no usa el algoritmo de aprendizaje del árbol de decisiones basado en ordenadas, que busca el mejor punto de división en valores de características ordenadas, [11] como lo hacen XGBoost u otras implementaciones. En cambio, LightGBM implementa un algoritmo de aprendizaje de árbol de decisiones basado en histogramas altamente optimizado, que ofrece grandes ventajas tanto en la eficiencia como en el consumo de memoria. [12] El algoritmo LightGBM utiliza dos técnicas novedosas llamadas Muestreo de un lado 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 licencia MIT y está disponible en GitHub . [dieciséis]
Muestreo de un lado basado en gradientes
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 juegan 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. Por lo tanto, para retener la precisión de la información, GOSS mantiene las instancias con gradientes grandes y descarta aleatoriamente las instancias con gradientes pequeños. [13]
Paquete de funciones exclusivas
La combinació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 en un solo uso son un ejemplo perfecto de funciones exclusivas. EFB agrupa estas características, reduciendo la dimensionalidad para mejorar la eficiencia mientras se mantiene un alto nivel de precisión. El paquete de funciones exclusivas en una sola función se denomina paquete de funciones exclusivas. [13]
Ver también
- Aprendizaje automático
- ML.NET
- Binning de datos
- Aumento de gradiente
- XGBoost
- scikit-learn
Referencias
- ^ "Guolin Ke" .
- ^ "microsoft / LightGBM" . GitHub .
- ^ "Lanzamientos · microsoft / LightGBM" . GitHub .
- ^ Brownlee, Jason (31 de marzo de 2020). "Aumento de gradiente con Scikit-Learn, XGBoost, LightGBM y CatBoost" .
- ^ Kopitar, León; Kocbek, Primoz; Cilar, Leona; Jeque, Aziz; Stiglic, Gregor (20 de julio de 2020). "Detección temprana de diabetes mellitus tipo 2 mediante modelos de predicción basados en aprendizaje automático" . Informes científicos . 10 (1): 11981. Bibcode : 2020NatSR..1011981K . doi : 10.1038 / s41598-020-68771-z . PMC 7371679 . PMID 32686721 - a través de www.nature.com.
- ^ "Comprensión de los parámetros de LightGBM (y cómo ajustarlos)" . neptune.ai . 6 de mayo de 2020.
- ^ "Una descripción general de LightGBM" . avanwyk . 16 de mayo de 2018.
- ^ "Parámetros - Documentación de LightGBM 3.0.0.99" . lightgbm.readthedocs.io .
- ^ Los impulsores de gradiente IV: LightGBM - Profundo y poco profundo
- ^ XGBoost, LightGBM y otros favoritos de la competencia de Kaggle | de Andre Ye | Sep, 2020 | Hacia la ciencia de datos
- ^ Manish, Mehta; Rakesh, Agrawal; Jorma, Rissanen (24 de noviembre de 2020). "SLIQ: un clasificador escalable rápido para minería de datos" . Conferencia internacional sobre la ampliación de la tecnología de bases de datos . CiteSeerX 10.1.1.89.7734 .
- ^ "Características - Documentación de LightGBM 3.1.0.99" . lightgbm.readthedocs.io .
- ^ a b c Ke, Guolin; Meng, Qi; Finley, Thomas; Wang, Taifeng; Chen, Wei; Ma, Weidong; Vosotros, Qiwei; Liu, Tie-Yan (2017). "LightGBM: un árbol de decisión de aumento de gradiente altamente eficiente" . Avances en sistemas de procesamiento de información neuronal . 30 .
- ^ "lightgbm: LightGBM Python Package" - a través de PyPI.
- ^ "Espacio de nombres Microsoft.ML.Trainers.LightGbm" . docs.microsoft.com .
- ^ "microsoft / LightGBM" . 6 de octubre de 2020 - a través de GitHub.
Otras lecturas
- Guolin Ke, Qi Meng, Thomas Finely, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu (2017). "LightGBM: un árbol de decisión de aumento de gradiente altamente eficiente" (PDF) . Cite journal requiere
|journal=
( ayuda )Mantenimiento de CS1: utiliza el parámetro de autores ( enlace ) - Quinto, Butch (2020). Aprendizaje automático de próxima generación con Spark: cubre XGBoost, LightGBM, Spark NLP, aprendizaje profundo distribuido con Keras y más . Presione. ISBN 978-1-4842-5668-8.
enlaces externos
- GitHub - microsoft / LightGBM
- LightGBM - Investigación de Microsoft