
¿Qué es el gradient boosting?
Gradient boosting es una técnica de ML para tareas de regresión y clasificación, que puede mejorar la precisión y velocidad predictivas de los modelos de ML.
- Descripción general
- Acerca del gradient boosting
- Otros modelos de boosting
- Ventajas de los árboles de decisiones con gradient boosting
- Gradient boosting en acción
- Recursos
Descripción general
El gradient boosting (o impulso de gradiente) es un algoritmo de aprendizaje automático (ML) que se utiliza para las tareas de regresión y clasificación. El gradient boosting goza de popularidad debido a su capacidad para gestionar relaciones complejas en los datos y proteger contra el sobreajuste. Con esta técnica, los científicos de datos pueden mejorar la precisión y la velocidad predictivas de sus modelos de ML. En este artículo, obtendrás información sobre el gradient boosting, cómo compartir las ventajas del uso de esta técnica y tres casos de uso comunes.
Acerca del gradient boosting
El gradient boosting es una técnica de ML conjunto que combina una colección de modelos débiles en un único modelo predictivo más preciso y eficiente. Estos modelos débiles suelen ser árboles de decisiones, por lo que los algoritmos se denominan habitualmente árboles de decisiones impulsados por gradiente (GBDT). Los algoritmos de gradient boosting funcionan de forma iterativa añadiendo nuevos modelos secuencialmente, y cada nueva adición tiene como objetivo resolver los errores cometidos por los anteriores. La predicción final agregada representa la suma de las predicciones individuales de todos los modelos. El gradient boosting combina el algoritmo de descenso de gradiente y el método de boosting, y el nombre hace un guiño a cada componente.
Este proceso de entrenamiento se basa en un enfoque de fuerza numérica, lo que permite a los científicos de datos optimizar las funciones de pérdida diferenciables arbitrarias. El gradient boosting se utiliza para resolver problemas complejos de regresión y clasificación. Con la regresión, el resultado final representa la media de todos los modelos débiles. Cuando se trabaja con problemas de clasificación, el resultado final del modelo se puede calcular como la clase con la mayoría de votos de los modelos débiles.
Boosting frente a bagging
Boosting y bagging son los dos tipos principales de aprendizaje conjunto. Los métodos de aprendizaje conjunto se distinguen por su enfoque colectivo, que consiste en agregar un grupo de modelos de aprendizaje de base para generar predicciones más precisas que cualquiera de las partes que lo componen por su cuenta. Con los métodos de boosting, los modelos débiles se entrenan de forma consecutiva y cada modelo individual aporta su contribución al conjunto antes de que se incorpore el siguiente. Las técnicas de bagging entrenan a los modelos de aprendizaje de base en tándem.
Casos de uso
El gradient boosting proporciona un buen equilibrio entre precisión, eficiencia y escalabilidad que puede aplicarse de forma generalizada a los siguientes ámbitos:
- Clasificación: Predicción de categorías o clases (p. ej., detección de spam, detección de fraudes)
- Regresión: Predicción de valores numéricos (p. ej., predicción de precios de las acciones, previsión de ventas)
- Ranking: Clasificación de los artículos en función de su relevancia o importancia (p. ej., resultados de búsqueda, recomendaciones)
Otros modelos de boosting
Otras técnicas de boosting, como AdaBoost y XGBoost, también son métodos de aprendizaje conjunto populares. Así es como funcionan.
XGBoost
XGBoost es una versión turbo del gradient boosting, diseñado para ofrecer una velocidad y escalabilidad de computación óptimas. Utiliza varios núcleos de la CPU para facilitar el aprendizaje paralelo durante el entrenamiento de modelos.
AdaBoost
AdaBoost, o boosting adaptativo, ajusta una sucesión de modelos débiles a los datos. Estos modelos débiles suelen ser tocones de decisión, es decir, un árbol de decisiones con una sola división y dos nodos terminales. Esta técnica funciona de forma recursiva, e identifica puntos de datos mal clasificados y los ajusta automáticamente para reducir los errores de entrenamiento. AdaBoost repite este proceso hasta que genera el predictor más sólido.
Ventajas de los árboles de decisiones con gradient boosting
Los GBDT son algunas de las implementaciones más populares de gradient boosting. Este enfoque, que se utiliza en la mayoría de los casos de uso de gradient boosting, presenta ventajas específicas sobre otras técnicas de modelado.
Implementación intuitiva
Los árboles de decisiones con gradient boosting son relativamente fáciles de implementar. Muchos de ellos son compatibles con la gestión de características categóricas, no requieren preprocesamiento de datos y optimizan el proceso de gestión de los datos que faltan.
Reducción de sesgos
En el ML, el sesgo es un error sistemático que puede hacer que los modelos hagan predicciones imprecisas o no equitativas. Los algoritmos de boosting, incluido el gradient boosting, incorporan secuencialmente varios modelos débiles a un modelo predictivo más amplio. Esta técnica puede ser muy eficaz para reducir los sesgos, ya que se realizan mejoras iterativas al incorporar cada modelo débil adicional.
Mejora de la precisión
El boosting permite que los árboles de decisiones aprendan secuencialmente, ajustando árboles nuevos para compensar los errores de los ya incorporados en el modelo más grande. Esta síntesis ofrece predicciones más precisas que las que podría lograr por sí solo cualquiera de los modelos más débiles. Además, los árboles de decisiones pueden gestionar tipos de datos numéricos y categóricos, por lo que son una opción viable para muchos problemas.
Entrenamiento más rápido con grandes conjuntos de datos
Los métodos de boosting dan prioridad a las características que aumentan la precisión predictiva del modelo durante el entrenamiento. Esta capacidad de selección reduce el número de atributos de datos, lo que crea modelos eficientes desde un punto de vista computacional que pueden ocuparse con facilidad de grandes conjuntos de datos. Los algoritmos de boosting también se pueden paralelizar para acelerar aún más el entrenamiento de modelos.
Gradient boosting en acción
Los modelos de gradient boosting se utilizan en una amplia gama de tareas de modelado predictivo y ML. Estos algoritmos ofrecen capacidades de alto rendimiento en la resolución de problemas y desempeñan un papel importante en muchas aplicaciones reales.
Modelado predictivo en servicios financieros
En los servicios financieros se utilizan con frecuencia modelos de gradient boosting. Desempeñan un importante papel para facilitar las inversiones y hacer predicciones. Algunos ejemplos son la optimización de carteras y la predicción de precios de acciones, riesgos crediticios y otros resultados financieros basados en datos históricos e indicadores financieros.
Analíticas sanitarias
Los proveedores sanitarios usan algoritmos de gradient boosting para respaldar la toma de decisiones clínicas, como el diagnóstico de enfermedades. El gradient boosting también mejora la precisión de las predicciones, lo que permite a los proveedores sanitarios estratificar el riesgo y dirigirse a poblaciones de pacientes que puedan beneficiarse de una intervención específica, por ejemplo.
Análisis de sentimientos
El gradient boosting es útil en muchas tareas de procesamiento del lenguaje natural, como el análisis de sentimientos. Estos algoritmos pueden procesar y analizar rápidamente grandes volúmenes de datos de texto de redes sociales, reseñas en Internet, blogs, encuestas y correos electrónicos de clientes, lo que ayuda a las marcas a conocer las valoraciones de los clientes y mucho más.
Creación de modelos de ML de alto rendimiento con Snowflake
Snowflake para IA proporciona una base sólida para crear e implementar el aprendizaje automático compatible con el método de gradient boosting y mucho más. Con Snowflake ML, puedes crear características, entrenar modelos y gestionarlos en producción rápidamente.
