Fundamentos de la IA

ÂŋQuÃĐ es el Gradient Boosting?

mm
AÃąade Unite.AI a tus fuentes preferidas en Google

Un tipo comÚn de modelo de aprendizaje automÃĄtico que ha demostrado ser extremadamente Útil en competencias de ciencia de datos es el modelo de gradient boosting. El gradient boosting es bÃĄsicamente el proceso de convertir modelos de aprendizaje dÃĐbiles en modelos de aprendizaje fuertes. Sin embargo, ÂŋcÃģmo se logra exactamente esto? Analicemos los algoritmos de gradient boosting y comprendamos mejor cÃģmo un modelo de gradient boosting convierte a los aprendices dÃĐbiles en aprendices fuertes.

Definiendo el Gradient Boosting

Este artículo tiene como objetivo brindarle una buena intuiciÃģn de lo que es el gradient boosting, sin muchos desgloses de las matemÃĄticas que subyacen a los algoritmos. Una vez que tenga una comprensiÃģn de cÃģmo opera el gradient boosting a nivel alto, se le anima a profundizar y explorar las matemÃĄticas que lo hacen posible.

Comencemos definiendo quÃĐ significa “mejorar” a un aprendiz. Los aprendices dÃĐbiles se convierten en aprendices fuertes ajustando las propiedades del modelo de aprendizaje. ÂŋQuÃĐ algoritmo de aprendizaje se estÃĄ mejorando exactamente?

Los modelos de mejoramiento funcionan aumentando otro modelo de aprendizaje automÃĄtico comÚn, un ÃĄrbol de decisiÃģn.

Un modelo de ÃĄrbol de decisiÃģn funciona dividiendo un conjunto de datos en porciones cada vez mÃĄs pequeÃąas, y una vez que los subconjuntos no pueden dividirse mÃĄs, el resultado es un ÃĄrbol con nodos y hojas. Los nodos en un ÃĄrbol de decisiÃģn son donde se toman decisiones sobre los puntos de datos utilizando diferentes criterios de filtrado. Las hojas en un ÃĄrbol de decisiÃģn son los puntos de datos que han sido clasificados. Los algoritmos de ÃĄrbol de decisiÃģn pueden manejar tanto datos numÃĐricos como categÃģricos, y las divisiones en el ÃĄrbol se basan en variables/características específicas.

IlustraciÃģn de la forma en que se entrenan los modelos de mejoramiento.
Foto: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Un tipo de algoritmo de mejoramiento es el algoritmo AdaBoost. Los algoritmos AdaBoost comienzan entrenando un modelo de ÃĄrbol de decisiÃģn y asignando un peso igual a cada observaciÃģn. DespuÃĐs de que el primer ÃĄrbol ha sido evaluado para la precisiÃģn, los pesos para las diferentes observaciones se ajustan. Las observaciones que fueron fÃĄciles de clasificar tienen sus pesos reducidos, mientras que las observaciones que fueron difíciles de clasificar tienen sus pesos aumentados. Se crea un segundo ÃĄrbol utilizando estos pesos ajustados, con el objetivo de que las predicciones del segundo ÃĄrbol sean mÃĄs precisas que las del primer ÃĄrbol.

El modelo ahora consiste en las predicciones para el ÃĄrbol original y el nuevo ÃĄrbol (o Árbol 1 + Árbol 2). La precisiÃģn de la clasificaciÃģn se evalÚa nuevamente en funciÃģn del nuevo modelo. Se crea un tercer ÃĄrbol en funciÃģn del error calculado para el modelo, y los pesos se ajustan nuevamente. Este proceso continÚa durante un nÚmero determinado de iteraciones, y el modelo final es un modelo de conjunto que utiliza la suma ponderada de las predicciones realizadas por todos los ÃĄrboles construidos anteriormente.

El proceso descrito anteriormente utiliza ÃĄrboles de decisiÃģn y los predictores/modelos base, sin embargo, un enfoque de mejoramiento se puede realizar con una amplia gama de modelos como los muchos modelos de clasificaciÃģn y regresiÃģn estÃĄndar. Los conceptos clave para comprender son que los predictores posteriores aprenden de los errores cometidos por los anteriores y que los predictores se crean secuencialmente.

La principal ventaja de los algoritmos de mejoramiento es que tardan menos en encontrar las predicciones actuales en comparaciÃģn con otros modelos de aprendizaje automÃĄtico. Sin embargo, se debe tener cuidado al utilizar algoritmos de mejoramiento, ya que son propensos a sobreajustar.

Gradient Boosting

Ahora examinaremos uno de los algoritmos de mejoramiento mÃĄs comunes. Los modelos de Gradient Boosting (GBM) son conocidos por su alta precisiÃģn, y amplían los principios generales utilizados en AdaBoost.

La principal diferencia entre un modelo de Gradient Boosting y AdaBoost es que los GBM utilizan un mÃĐtodo diferente para calcular quÃĐ aprendices estÃĄn identificando mal los puntos de datos. AdaBoost calcula dÃģnde un modelo estÃĄ funcionando mal examinando los puntos de datos que tienen un peso elevado. Mientras que los GBM utilizan gradientes para determinar la precisiÃģn de los aprendices, aplicando una funciÃģn de pÃĐrdida a un modelo. Las funciones de pÃĐrdida son una forma de medir la precisiÃģn del ajuste de un modelo en el conjunto de datos, calculando un error y optimizando el modelo para reducir ese error. Los GBM permiten al usuario optimizar una funciÃģn de pÃĐrdida especificada en funciÃģn de su objetivo deseado.

Tomando la funciÃģn de pÃĐrdida mÃĄs comÚn –Error CuadrÃĄtico Medio (ECM)– como ejemplo, el descenso de gradiente se utiliza para actualizar las predicciones en funciÃģn de una tasa de aprendizaje predefinida, con el objetivo de encontrar los valores donde la pÃĐrdida sea mínima.

Para aclarar:

Nuevas predicciones del modelo = variables de salida – predicciones imperfectas antiguas.

En un sentido estadístico mÃĄs preciso, los GBM tienen como objetivo encontrar patrones relevantes en los residuos de un modelo, ajustando el modelo para que se adapte al patrÃģn y acercar los residuos lo mÃĄs posible a cero. Si se realizara una regresiÃģn sobre las predicciones del modelo, los residuos se distribuirían alrededor de 0 (ajuste perfecto), y los GBM estÃĄn encontrando patrones dentro de los residuos y actualizando el modelo alrededor de estos patrones.

En otras palabras, las predicciones se actualizan para que la suma de todos los residuos estÃĐ lo mÃĄs cerca posible de 0, lo que significa que los valores predichos estarÃĄn muy cerca de los valores reales.

Tenga en cuenta que se pueden utilizar una amplia variedad de otras funciones de pÃĐrdida (como la pÃĐrdida logarítmica) en un GBM. Se seleccionÃģ el ECM anterior para fines de simplicidad.

Varaciones en los Modelos de Gradient Boosting

Los modelos de Gradient Boosting son algoritmos codiciosos que son propensos a sobreajustar en un conjunto de datos. Esto se puede evitar con varios mÃĐtodos diferentes que pueden mejorar el rendimiento de un GBM.

Los GBM se pueden regular con cuatro mÃĐtodos diferentes: reducciÃģn, restricciones de ÃĄrbol, mejoramiento de gradiente estocÃĄstico y aprendizaje penalizado.

ReduciÃģn

Como se mencionÃģ anteriormente, en los GBM las predicciones se suman secuencialmente. En la “reducciÃģn”, las adiciones de cada ÃĄrbol a la suma general se ajustan. Se aplican pesos que ralentizan la tasa de aprendizaje del algoritmo, lo que requiere que se agreguen mÃĄs ÃĄrboles al modelo, lo que generalmente mejora la robustez y el rendimiento del modelo. El compromiso es que el modelo tarda mÃĄs en entrenarse.

Restricciones de ÃĄrbol

Restringir el ÃĄrbol con varios ajustes como agregar mÃĄs profundidad al ÃĄrbol o aumentar el nÚmero de nodos o hojas en el ÃĄrbol puede hacer que sea mÃĄs difícil para el modelo sobreajustar. Imponer una restricciÃģn en el nÚmero mínimo de observaciones por divisiÃģn tiene un efecto similar. Una vez mÃĄs, el compromiso es que el modelo tarda mÃĄs en entrenarse.

Muestreo aleatorio

Los aprendices individuales se pueden crear a travÃĐs de un proceso estocÃĄstico, en funciÃģn de submuestras aleatorias del conjunto de datos de entrenamiento. Esto tiene el efecto de reducir las correlaciones entre los ÃĄrboles, lo que evita el sobreajuste. El conjunto de datos se puede submuestrear antes de crear los ÃĄrboles o antes de considerar una divisiÃģn en el ÃĄrbol.

Aprendizaje penalizado

MÃĄs allÃĄ de restringir el modelo a travÃĐs de limitar la estructura del ÃĄrbol, es posible utilizar un ÃĄrbol de regresiÃģn. Los ÃĄrboles de regresiÃģn tienen valores numÃĐricos adjuntos a cada una de las hojas, y estos funcionan como pesos y se pueden ajustar con funciones de regularizaciÃģn comunes como la regularizaciÃģn L1 y L2.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.