logo

GBM en el aprendizaje automático

El aprendizaje automático es una de las tecnologías más populares para crear modelos predictivos para diversas tareas complejas de regresión y clasificación. Máquina de aumento de gradiente (GBM) se considera uno de los algoritmos de impulso más poderosos.

GBM en el aprendizaje automático

Aunque se utilizan tantos algoritmos en el aprendizaje automático, potenciar los algoritmos se ha convertido en algo común en la comunidad de aprendizaje automático en todo el mundo. La técnica de impulso sigue el concepto de aprendizaje conjunto y, por lo tanto, combina múltiples modelos simples (estudiantes débiles o estimadores básicos) para generar el resultado final. GBM también se utiliza como un método conjunto en el aprendizaje automático que convierte a los alumnos débiles en alumnos fuertes. En este tema, 'GBM en el aprendizaje automático' Analizaremos los algoritmos de aprendizaje automático de gradiente, varios algoritmos de impulso en el aprendizaje automático, la historia de GBM, cómo funciona, varias terminologías utilizadas en GBM, etc. Pero antes de comenzar, primero, comprenda el concepto de impulso y varios algoritmos de impulso en el aprendizaje automático.

¿Qué es el impulso en el aprendizaje automático?

El impulso es una de las técnicas populares de modelado de conjuntos de aprendizaje que se utiliza para construir clasificadores fuertes a partir de varios clasificadores débiles. Comienza con la construcción de un modelo primario a partir de conjuntos de datos de entrenamiento disponibles y luego identifica los errores presentes en el modelo base. Después de identificar el error, se construye un modelo secundario y, además, se introduce un tercer modelo en este proceso. De esta manera, este proceso de introducción de más modelos continúa hasta que obtengamos un conjunto de datos de entrenamiento completo mediante el cual el modelo predice correctamente.

AdaBoost (impulso adaptativo) fue el primer algoritmo de impulso que combinó varios clasificadores débiles en un único clasificador fuerte en la historia del aprendizaje automático. Se centra principalmente en resolver tareas de clasificación, como la clasificación binaria.

Pasos para impulsar los algoritmos:

Hay algunos pasos importantes para impulsar el algoritmo de la siguiente manera:

  • Considere un conjunto de datos que tiene diferentes puntos de datos e inicialícelo.
  • Ahora, dé el mismo peso a cada uno de los puntos de datos.
  • Asuma este peso como entrada para el modelo.
  • Identificar los puntos de datos que están clasificados incorrectamente.
  • Aumente el peso de los puntos de datos en el paso 4.
  • Si obtiene el resultado adecuado, finalice este proceso; de lo contrario, siga los pasos 2 y 3 nuevamente.

Ejemplo:

Supongamos que tenemos tres modelos diferentes con sus predicciones y funcionan de maneras completamente diferentes. Por ejemplo, el modelo de regresión lineal muestra una relación lineal en los datos, mientras que el modelo de árbol de decisión intenta capturar la no linealidad en los datos como se muestra a continuación.

numero aleatorio java
GBM en el aprendizaje automático

Además, en lugar de usar estos modelos por separado para predecir el resultado si los usamos en forma de serie o combinación, obtenemos un modelo resultante con información más correcta que todos los modelos base. En otras palabras, en lugar de utilizar la predicción individual de cada modelo, si utilizamos la predicción promedio de estos modelos, podríamos capturar más información de los datos. Se lo conoce como aprendizaje conjunto y el impulso también se basa en métodos conjuntos en el aprendizaje automático.

Impulsando algoritmos en el aprendizaje automático

Existen principalmente cuatro algoritmos de impulso en el aprendizaje automático. Estos son los siguientes:

    Máquina de aumento de gradiente (GBM) Máquina de aumento de gradiente extremo (XGBM) GBM ligero gatoboost

¿Qué es GBM en el aprendizaje automático?

Gradient Boosting Machine (GBM) es uno de los métodos conjuntos de aprendizaje directo más populares en el aprendizaje automático. Es una técnica poderosa para construir modelos predictivos para tareas de regresión y clasificación.

GBM nos ayuda a obtener un modelo predictivo en forma de un conjunto de modelos de predicción débiles, como árboles de decisión. Siempre que un árbol de decisión funciona como un alumno débil, el algoritmo resultante se denomina árboles potenciados por gradiente.

Nos permite combinar las predicciones de varios modelos de aprendizaje y construir un modelo predictivo final que tenga la predicción correcta.

Pero aquí puede surgir una pregunta, si aplicamos el mismo algoritmo: ¿cómo múltiples árboles de decisión pueden dar mejores predicciones que un solo árbol de decisión? Además, ¿cómo captura cada árbol de decisión información diferente a partir de los mismos datos?

seleccione SQL de varias tablas
GBM en el aprendizaje automático

Entonces, la respuesta a estas preguntas es que los nodos de cada árbol de decisión toman un subconjunto diferente de características para seleccionar la mejor división. Significa que cada árbol se comporta de manera diferente y, por lo tanto, captura señales diferentes de los mismos datos.

matriz de clasificación java

¿Cómo funciona GBM?

Generalmente, la mayoría de los algoritmos de aprendizaje supervisado se basan en un único modelo predictivo, como la regresión lineal, el modelo de regresión penalizada, los árboles de decisión, etc. Pero hay algunos algoritmos supervisados ​​en ML que dependen de una combinación de varios modelos juntos a través del conjunto. En otras palabras, cuando varios modelos base contribuyen con sus predicciones, se adapta un promedio de todas las predicciones mediante algoritmos de refuerzo.

Las máquinas impulsoras de gradiente constan de 3 elementos de la siguiente manera:

  • Función de pérdida
  • Alumnos débiles
  • Modelo aditivo

Entendamos estos tres elementos en detalle.

1. Función de pérdida:

Sin embargo, existe una gran familia de funciones de pérdida en el aprendizaje automático que se pueden utilizar según el tipo de tareas que se resuelvan. El uso de la función de pérdida se estima mediante la demanda de características específicas de la distribución condicional, como la robustez. Mientras usamos una función de pérdida en nuestra tarea, debemos especificar la función de pérdida y la función para calcular el gradiente negativo correspondiente. Una vez que obtengamos estas dos funciones, se pueden implementar fácilmente en máquinas de aumento de gradiente. Sin embargo, ya se han propuesto varias funciones de pérdida para los algoritmos GBM.

Clasificación de la función de pérdida:

Según el tipo de variable de respuesta y, la función de pérdida se puede clasificar en diferentes tipos de la siguiente manera:

    Respuesta continua, y ∈ R:
    • Función de pérdida gaussiana L2
    • Función de pérdida de Laplace L1
    • Función de pérdida de Huber, δ especificada
    • Función de pérdida cuantil, α especificada
    Respuesta categórica, y ∈ {0, 1}:
    • Función de pérdida binomial
    • Función de pérdida Adaboost
    Otras familias de variables de respuesta:
    • Funciones de pérdida para modelos de supervivencia.
    • Funciones de pérdida cuentan datos
    • Funciones de pérdida personalizadas

2. Alumno débil:

Los estudiantes débiles son los modelos de aprendizaje básicos que aprenden de los errores pasados ​​y ayudan a construir un diseño de modelo predictivo sólido para impulsar los algoritmos en el aprendizaje automático. Generalmente, los árboles de decisión funcionan como aprendices débiles para impulsar los algoritmos.

Boosting se define como el marco que trabaja continuamente para mejorar el resultado de los modelos base. Muchas aplicaciones de aumento de gradiente le permiten 'conectar' varias clases de alumnos débiles a su disposición. Por lo tanto, los árboles de decisión se utilizan con mayor frecuencia para estudiantes débiles (base).

devolver matrices en java

Cómo entrenar a estudiantes débiles:

El aprendizaje automático utiliza conjuntos de datos de entrenamiento para capacitar a los alumnos base y, según la predicción del alumno anterior, mejora el rendimiento al centrarse en las filas de los datos de entrenamiento donde el árbol anterior tuvo los mayores errores o residuos. P.ej. Los árboles poco profundos se consideran árboles de decisión débiles para el aprendizaje, ya que contienen algunas divisiones. Generalmente, en los algoritmos de impulso, los árboles que tienen hasta 6 divisiones son los más comunes.

A continuación se muestra una secuencia de capacitación del alumno débil para mejorar su desempeño donde cada árbol está en la secuencia con los residuos del árbol anterior. Además, presentamos cada árbol nuevo para que pueda aprender de los errores del árbol anterior. Estos son los siguientes:

  1. Considere un conjunto de datos y ajuste en él un árbol de decisiones.
    F1(x)=y
  2. Ajuste el siguiente árbol de decisión con los errores más grandes del árbol anterior.
    h1(x)=y?F1(x)
  3. Agregue este nuevo árbol al algoritmo agregando ambos en los pasos 1 y 2.
    F2(x)=F1(x)+h1(x)
  4. Nuevamente ajuste el siguiente árbol de decisión con los residuos del árbol anterior.
    h2(x)=y?F2(x)
  5. Repetimos lo mismo que hemos hecho en el paso 3.
    F3(x)=F2(x)+h2(x)

Continúe este proceso hasta que algún mecanismo (es decir, validación cruzada) nos indique que nos detengamos. El modelo final aquí es un modelo aditivo por etapas de b árboles individuales:

f(x)=B∑b=1fb(x)

Por lo tanto, los árboles se construyen con avidez, eligiendo los mejores puntos de división en función de puntuaciones de pureza como Gini o minimizando la pérdida.

3. Modelo aditivo:

El modelo aditivo se define como agregar árboles al modelo. Aunque no debemos agregar varios árboles a la vez, solo se debe agregar un árbol para que los árboles existentes en el modelo no cambien. Además, también podemos preferir el método de descenso de gradiente agregando árboles para reducir la pérdida.

En los últimos años, el método de descenso de gradiente se ha utilizado para minimizar el conjunto de parámetros como el coeficiente de la ecuación de regresión y el peso en una red neuronal. Después de calcular el error o la pérdida, el parámetro de peso se utiliza para minimizar el error. Pero recientemente, la mayoría de los expertos en ML prefieren submodelos de aprendizaje débiles o árboles de decisión como sustitutos de estos parámetros. En el cual tenemos que agregar un árbol en el modelo para reducir el error y mejorar el rendimiento de ese modelo. De esta manera, la predicción del árbol recién agregado se combina con la predicción de la serie de árboles existente para obtener una predicción final. Este proceso continúa hasta que la pérdida alcanza un nivel aceptable o ya no es necesario mejorar.

Este método también se conoce como descenso de gradiente funcional o descenso de gradiente con funciones.

MÁQUINA DE IMPULSO DE GRADIENTE EXTREMO (XGBM)

XGBM es la última versión de máquinas de aumento de gradiente que también funciona de manera muy similar a GBM. En XGBM se añaden árboles secuencialmente (uno a la vez) que aprenden de los errores de árboles anteriores y los mejoran. Aunque los algoritmos XGBM y GBM son similares en apariencia, aún existen algunas diferencias entre ellos, como se muestra a continuación:

  • XGBM utiliza varias técnicas de regularización para reducir el ajuste insuficiente o excesivo del modelo, lo que también aumenta el rendimiento del modelo más que las máquinas de aumento de gradiente.
  • XGBM sigue el procesamiento paralelo de cada nodo, mientras que GBM no, lo que lo hace más rápido que las máquinas de aumento de gradiente.
  • XGBM nos ayuda a deshacernos de la imputación de valores faltantes porque, de forma predeterminada, el modelo se encarga de ello. Aprende por sí solo si estos valores deben estar en el nodo derecho o izquierdo.

Máquinas de refuerzo de gradiente de luz (GBM ligero)

Light GBM es una versión más mejorada de la máquina de impulso de gradiente debido a su eficiencia y rápida velocidad. A diferencia de GBM y XGBM, puede manejar una gran cantidad de datos sin ninguna complejidad. Por otro lado, no es adecuado para aquellos puntos de datos que son menos numerosos.

En lugar de un crecimiento nivelado, Light GBM prefiere el crecimiento de los nudos del árbol en forma de hojas. Además, en GBM ligero, el nodo primario se divide en dos nodos secundarios y luego elige un nodo secundario para dividir. Esta división de un nodo secundario depende de cuál de los dos nodos tiene una mayor pérdida.

¿Qué es exportar en Linux?
GBM en el aprendizaje automático

Por lo tanto, debido a la división en hojas, el algoritmo Light Gradient Boosting Machine (LGBM) siempre se prefiere a otros en los que se proporciona una gran cantidad de datos.

GATO

El algoritmo catboost se utiliza principalmente para manejar las características categóricas de un conjunto de datos. Aunque los algoritmos GBM, XGBM y Light GBM son adecuados para conjuntos de datos numéricos, Catboost está diseñado para procesar variables categóricas en datos numéricos. Por lo tanto, el algoritmo catboost consiste en un paso de preprocesamiento esencial para convertir características categóricas en variables numéricas que no están presentes en ningún otro algoritmo.

Ventajas de impulsar los algoritmos:

  • Los algoritmos de impulso siguen el aprendizaje conjunto, lo que permite que un modelo proporcione una predicción más precisa que no se puede superar.
  • Los algoritmos de impulso son mucho más flexibles que otros algoritmos, ya que pueden optimizar diferentes funciones de pérdida y proporcionan varias opciones de ajuste de hiperparámetros.
  • No requiere preprocesamiento de datos porque es adecuado tanto para variables numéricas como categóricas.
  • No requiere imputación de valores faltantes en el conjunto de datos, maneja los datos faltantes automáticamente.

Desventajas de los algoritmos de impulso:

A continuación se presentan algunas desventajas de impulsar los algoritmos:

  • Impulsar los algoritmos puede provocar un sobreajuste y un énfasis excesivo en los valores atípicos.
  • El algoritmo de aumento de gradiente se enfoca continuamente para minimizar los errores y requiere múltiples árboles, por lo que es computacionalmente costoso.
  • Es un algoritmo que consume mucho tiempo y consume mucha memoria.
  • De naturaleza menos interpretativa, aunque esto se aborda fácilmente con varias herramientas.

Conclusión:

De esta forma, hemos aprendido a potenciar algoritmos para el modelado predictivo en el aprendizaje automático. Además, hemos analizado varios algoritmos de impulso importantes utilizados en ML, como GBM, XGBM, GBM ligero y Catboost. Además, hemos visto varios componentes (función de pérdida, alumno débil y modelo aditivo) y cómo funciona GBM con ellos. Cómo los algoritmos de impulso son ventajosos para su implementación en escenarios del mundo real, etc.