Introducción al algoritmo AdaBoost

El algoritmo AdaBoost se puede usar para aumentar el rendimiento de cualquier algoritmo de aprendizaje automático. Machine Learning se ha convertido en una herramienta poderosa que puede hacer predicciones basadas en una gran cantidad de datos. Se ha vuelto tan popular en los últimos tiempos que la aplicación del aprendizaje automático se puede encontrar en nuestras actividades cotidianas. Un ejemplo común es obtener sugerencias de productos mientras compra en línea en función de los artículos anteriores comprados por el cliente. El aprendizaje automático, a menudo denominado análisis predictivo o modelado predictivo, puede definirse como la capacidad de las computadoras para aprender sin ser programadas explícitamente. Utiliza algoritmos programados para analizar los datos de entrada para predecir la salida dentro de un rango aceptable.

¿Qué es el algoritmo AdaBoost?

En el aprendizaje automático, el impulso se originó a partir de la pregunta de si un conjunto de clasificadores débiles podría convertirse en un clasificador fuerte. El alumno débil o clasificador es un alumno que es mejor que adivinar al azar y esto será robusto en el ajuste excesivo como en un gran conjunto de clasificadores débiles, cada clasificador débil es mejor que aleatorio. Como un clasificador débil, generalmente se usa un umbral simple en una sola característica. Si la característica está por encima del umbral de lo previsto, pertenece a positivo, de lo contrario pertenece a negativo.

AdaBoost significa 'Adaptive Boosting' que transforma a los alumnos débiles o predictores en predictores fuertes para resolver problemas de clasificación.

Para la clasificación, la ecuación final se puede poner de la siguiente manera:

Aquí f m designa el mth clasificador débil ym representa su peso correspondiente.

¿Cómo funciona el algoritmo AdaBoost?

AdaBoost se puede utilizar para mejorar el rendimiento de los algoritmos de aprendizaje automático. Se utiliza mejor con estudiantes débiles y estos modelos logran una alta precisión por encima de la posibilidad aleatoria en un problema de clasificación. Los algoritmos comunes con AdaBoost utilizados son árboles de decisión con nivel uno. Un alumno débil es un clasificador o predictor que funciona relativamente mal en términos de precisión. Además, se puede dar a entender que los alumnos débiles son fáciles de calcular y que muchas instancias de algoritmos se combinan para crear un clasificador fuerte a través del refuerzo.

Si tomamos un conjunto de datos que contiene n número de puntos, y consideramos lo siguiente

-1 representa clase negativa y 1 indica positivo. Se inicializa como a continuación, el peso para cada punto de datos como:

Si consideramos la iteración de 1 a M para m, obtendremos la siguiente expresión:

Primero, tenemos que seleccionar el clasificador débil con el error de clasificación ponderado más bajo ajustando los clasificadores débiles al conjunto de datos.

Luego, calcule el peso para el clasificador débil m de la siguiente manera:

El peso es positivo para cualquier clasificador con una precisión superior al 50%. El peso se hace más grande si el clasificador es más preciso y se vuelve negativo si el clasificador tiene una precisión inferior al 50%. La predicción se puede combinar invirtiendo el signo. Al invertir el signo de la predicción, un clasificador con una precisión del 40% se puede convertir en una precisión del 60%. Por lo tanto, el clasificador contribuye a la predicción final, a pesar de que funciona peor que la suposición aleatoria. Sin embargo, la predicción final no tendrá ninguna contribución ni obtendrá información del clasificador con exactamente un 50% de precisión. El término exponencial en el numerador siempre es mayor que 1 para un caso mal clasificado del clasificador ponderado positivo. Después de la iteración, los casos mal clasificados se actualizan con pesos mayores. Los clasificadores ponderados negativos se comportan de la misma manera. Pero hay una diferencia que después de que se invierte el signo; Las clasificaciones correctas originalmente se convertirían en una clasificación errónea. La predicción final se puede calcular teniendo en cuenta cada clasificador y luego realizando la suma de su predicción ponderada.

Actualización del peso para cada punto de datos de la siguiente manera:

Z m es aquí el factor de normalización. Se asegura de que la suma total de todos los pesos de instancias sea igual a 1.

¿Para qué se utiliza el algoritmo AdaBoost?

AdaBoost se puede utilizar para la detección de rostros, ya que parece ser el algoritmo estándar para la detección de rostros en imágenes. Utiliza una cascada de rechazo que consta de muchas capas de clasificadores. Cuando la ventana de detección no se reconoce en ninguna capa como una cara, se rechaza. El primer clasificador en la ventana descarta la ventana negativa manteniendo el costo computacional al mínimo. Aunque AdaBoost combina los clasificadores débiles, los principios de AdaBoost también se usan para encontrar las mejores características para usar en cada capa de la cascada.

Pros y contras del algoritmo AdaBoost

Una de las muchas ventajas del algoritmo AdaBoost es que es rápido, simple y fácil de programar. Además, tiene la flexibilidad de combinarse con cualquier algoritmo de aprendizaje automático y no es necesario ajustar los parámetros, excepto T. Se ha extendido a problemas de aprendizaje más allá de la clasificación binaria y es versátil, ya que se puede usar con texto o numérico. datos.

AdaBoost también tiene algunas desventajas, ya que proviene de evidencia empírica y es particularmente vulnerable al ruido uniforme. Los clasificadores débiles que son demasiado débiles pueden conducir a márgenes bajos y sobreajuste.

Ejemplo de algoritmo AdaBoost

Podemos considerar un ejemplo de admisión de estudiantes en una universidad donde serán admitidos o denegados. Aquí los datos cuantitativos y cualitativos se pueden encontrar desde diferentes aspectos. Por ejemplo, el resultado de la admisión que podría ser sí / no puede ser cuantitativo, mientras que cualquier otra área, como las habilidades o los pasatiempos de los estudiantes, puede ser cualitativa. Podemos encontrar fácilmente la clasificación correcta de los datos de entrenamiento en una situación mejor que la posibilidad de condiciones como si el estudiante es bueno en un tema en particular, entonces él / ella es admitido. Pero es difícil encontrar predicciones muy precisas y luego los estudiantes débiles entran en escena.

Conclusión

AdaBoost ayuda a elegir el conjunto de entrenamiento para cada nuevo clasificador que se entrena según los resultados del clasificador anterior. También al combinar los resultados; determina cuánto peso se debe dar a la respuesta propuesta de cada clasificador. Combina a los alumnos débiles para crear uno fuerte para corregir errores de clasificación, que también es el primer algoritmo de refuerzo exitoso para problemas de clasificación binaria.

Artículos recomendados

Esta ha sido una guía para el algoritmo AdaBoost. Aquí discutimos el concepto, usos, trabajo, pros y contras con ejemplos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Algoritmo ingenuo de Bayes
  2. Preguntas de la entrevista de marketing en redes sociales
  3. Estrategias de construcción de enlaces
  4. Plataforma de marketing en redes sociales

Categoría: