talón ¿Qué es el aumento de gradiente? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué es el aumento de gradiente?

mm
Actualizado on

Un tipo común de modelo de aprendizaje automático que ha logrado ser extremadamente útil en competencias de ciencia de datos es un modelo de aumento de gradiente. Aumento de gradiente es básicamente el proceso de convertir modelos de aprendizaje débiles en modelos de aprendizaje fuertes. Sin embargo, ¿cómo se logra esto exactamente? Echemos un vistazo más de cerca a los algoritmos de aumento de gradiente y mejor entender cómo un modelo de aumento de gradiente convierte a los estudiantes débiles en estudiantes fuertes.

Definición de aumento de gradiente

Este artículo tiene como objetivo brindarle una buena intuición de lo que es el aumento de gradiente, sin muchos desgloses de las matemáticas que subyacen a los algoritmos. Una vez que tenga una apreciación de cómo funciona el aumento de gradiente a un alto nivel, se le anima a profundizar y explorar las matemáticas que lo hacen posible.

Comencemos definiendo lo que significa "impulsar" a un alumno. Los alumnos débiles se convierten en alumnos fuertes ajustando las propiedades del modelo de aprendizaje. ¿Exactamente qué algoritmo de aprendizaje se está impulsando?

Los modelos de impulso funcionan aumentando otro modelo común de aprendizaje automático, un árbol de decisión.

A árbol de decisión El modelo funciona dividiendo un conjunto de datos en porciones cada vez más pequeñas, y una vez que los subconjuntos no se pueden dividir más, el resultado es un árbol con nodos y hojas. Los nodos de un árbol de decisiones son donde se toman decisiones sobre puntos de datos utilizando diferentes criterios de filtrado. Las hojas de un árbol de decisión son los puntos de datos que se han clasificado. Los algoritmos de árbol de decisión pueden manejar datos tanto 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 refuerzo.
Foto: SeattleDataBuy a través de Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Un tipo de algoritmo de refuerzo es el Algoritmo AdaBoost. Los algoritmos de AdaBoost comienzan entrenando un modelo de árbol de decisión y asignando un peso igual a cada observación. Después de evaluar la precisión del primer árbol, se ajustan los pesos para las diferentes observaciones. Las observaciones que eran fáciles de clasificar tienen su peso reducido, mientras que las observaciones que eran difíciles de clasificar tienen su peso aumentado. Se crea un segundo árbol usando estos pesos ajustados, con el objetivo de que las predicciones del segundo árbol sean más precisas que las predicciones del primer árbol.

El modelo ahora consta de las predicciones para el árbol original y el árbol nuevo (o Árbol 1 + Árbol 2). La precisión de la clasificación se evalúa una vez más en función del nuevo modelo. Se crea un tercer árbol basado en el error calculado para el modelo, y los pesos se ajustan una vez más. 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 previamente.

El proceso descrito anteriormente utiliza árboles de decisión y los modelos/predictores básicos, pero se puede llevar a cabo un enfoque de impulso con una amplia gama de modelos, como los muchos modelos de regresores y clasificadores estándar. Los conceptos clave que se deben 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 impulsar los algoritmos 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 emplear algoritmos de refuerzo, ya que son propensos al sobreajuste.

Aumento de gradiente

Ahora veremos uno de los algoritmos de impulso más comunes. Los modelos de aumento de gradiente (GBM) son conocidos por su alta precisión y aumentan los principios generales utilizados en AdaBoost.

La principal diferencia entre un modelo de aumento de gradiente y AdaBoost es que los GBM utilizan un método diferente para calcular qué alumnos están identificando erróneamente los puntos de datos. AdaBoost calcula dónde un modelo tiene un rendimiento inferior al examinar los puntos de datos que tienen una gran ponderación. Mientras tanto, los GBM usan gradientes para determinar la precisión de los alumnos, 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 específica en función de su objetivo deseado.

Tomando la función de pérdida más común – Error cuadrático medio (MSE) - como ejemplo, 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 es mínima.

Para hacerlo más claro:

Predicciones del nuevo modelo = variables de salida – antiguas predicciones imperfectas.

En un sentido más estadístico, los GBM tienen como objetivo encontrar patrones relevantes en los residuos de un modelo, ajustando el modelo para que se ajuste al patrón y llevar los residuos lo más cerca posible de cero. Si tuviera que realizar una regresión en las predicciones del modelo, los residuales se distribuirían alrededor de 0 (ajuste perfecto), y los GBM están encontrando patrones dentro de los residuales y actualizando el modelo en torno a estos patrones.

En otras palabras, las predicciones se actualizan para que la suma de todos los residuos sea lo más cercana posible a 0, lo que significa que los valores pronosticados estarán muy cerca de los valores reales.

Tenga en cuenta que un GBM puede utilizar una amplia variedad de otras funciones de pérdida (como la pérdida logarítmica). MSE se seleccionó anteriormente con el propósito de simplificar.

Variaciones en los modelos de aumento de gradiente

Los modelos de aumento de gradiente son algoritmos codiciosos que tienden a sobreajustarse en un conjunto de datos. Esto se puede prevenir con varios métodos diferentes que pueden mejorar el rendimiento de un GBM.

Los GBM se pueden regular con cuatro métodos diferentes: contracción, restricciones de árbol, aumento de gradiente estocástico y aprendizaje penalizado.

Contracción

Como se mencionó anteriormente, en los GBM, las predicciones se suman de manera secuencial. En "Contracción", se ajustan las adiciones de cada árbol a la suma total. Se aplican ponderaciones que ralentizan la tasa de aprendizaje del algoritmo, lo que requiere que se agreguen más árboles al modelo, lo que normalmente mejora la solidez y el rendimiento del modelo. La compensación 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 la cantidad de nodos u hojas en el árbol, puede dificultar el sobreajuste del modelo. Imponer una restricción sobre el número mínimo de observaciones por división tiene un efecto similar. Una vez más, la compensación es que el modelo tardará más en entrenarse.

Muestreo aleatorio

Los alumnos individuales se pueden crear a través de un proceso estocástico, basado en submuestras seleccionadas al azar del conjunto de datos de entrenamiento. Esto tiene el efecto de reducir las correlaciones entre árboles, lo que protege contra 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 limitando la estructura del árbol, es posible usar 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.