Cómo generar clasificadores débiles en la detección de rostros adaboost basado en lbp
En la actualidad, la investigación y aplicación del algoritmo Adaboost se centra principalmente en problemas de clasificación. En los últimos años, también ha habido algunas aplicaciones en problemas de regresión. En términos de aplicación, la serie Adaboost resuelve principalmente los siguientes problemas: problemas de dos categorías, problemas de etiqueta única de múltiples categorías, problemas de etiqueta múltiple de categorías múltiples, problemas de etiqueta única de categorías grandes y problemas de regresión. Utiliza todas las muestras de formación para el aprendizaje.
Este algoritmo es en realidad un simple proceso de mejora del algoritmo de clasificación débil. Este proceso puede mejorar la capacidad de clasificación de los datos mediante entrenamiento continuo. Todo el proceso es el siguiente:
1. Primero, obtenga el primer clasificador débil aprendiendo N muestras de entrenamiento.
2 Combine las muestras mal clasificadas y otros datos nuevos para formar uno nuevo. N muestras de entrenamiento y obtenga un segundo clasificador débil aprendiendo esta muestra;
3. Combine las muestras mal clasificadas y las muestras mal clasificadas con otras muestras nuevas para formar otras nuevas N muestras de entrenamiento;
4. Combine las muestras mal clasificadas con otras muestras nuevas para formar otras N nuevas muestras de entrenamiento.
3. Aprenda un tercer clasificador débil a partir de estas muestras.
4. En otras palabras, la categoría en la que se clasifican los datos específicos depende de...
2.3 Algoritmo Adaboost (Impulso Adaptativo)
Para el algoritmo de impulso, hay dos problemas:
Cómo ajustar el conjunto de entrenamiento para que durante el entrenamiento. El clasificador débil entrenado en el conjunto se puede ejecutar;
2. Cómo combinar los clasificadores débiles obtenidos mediante el entrenamiento para formar un clasificador fuerte.
En respuesta a los dos problemas anteriores, se ha ajustado el algoritmo adaboost:
1. Utilice datos de entrenamiento seleccionados ponderados en lugar de muestras de entrenamiento seleccionadas al azar, enfocando así el entrenamiento en más. difícil En las muestras de datos de entrenamiento clasificados;
2. Combine clasificadores débiles y utilice un mecanismo de votación ponderado en lugar del mecanismo de votación promedio. Dejemos que los clasificadores débiles con buenos efectos de clasificación tengan ponderaciones mayores y que los clasificadores con efectos de clasificación deficientes tengan ponderaciones menores.
El algoritmo Adaboost fue propuesto por Freund y Schapire sobre la base del algoritmo de asignación en línea. Analizaron en detalle el límite superior de la tasa de error del algoritmo Adaboost y problemas relacionados, por ejemplo. lograr la tasa de error de un clasificador fuerte, el algoritmo necesita el número máximo de iteraciones, etc. A diferencia del algoritmo Boosting, el algoritmo adaboost no necesita conocer el límite inferior de la tasa de aprendizaje correcta del algoritmo de aprendizaje débil, es decir, el error del clasificador débil. La precisión de la clasificación del clasificador fuerte depende de la precisión de la clasificación de todos. clasificadores débiles, lo que nos permite profundizar en la exploración del poder de los algoritmos de clasificación débil.
Los diferentes conjuntos de entrenamiento en el algoritmo Adaboost se implementan ajustando el peso correspondiente a cada muestra. Al principio, cada muestra tiene el mismo peso, es decir, n es el número de muestras y se entrena un clasificador débil con esta distribución de muestra. Para muestras mal clasificadas, el peso correspondiente aumentará; para muestras correctamente clasificadas, el peso disminuirá, resaltando así las muestras mal clasificadas y obteniendo una nueva distribución de muestra. Bajo la nueva distribución de muestra, entrene nuevamente al clasificador débil para obtener un clasificador débil.
Por analogía, después de T ciclos, se obtendrán T clasificadores débiles, y luego estos T clasificadores débiles se apilarán (promocionarán) de acuerdo con un cierto peso, y finalmente se obtendrá el clasificador fuerte requerido.
Los pasos específicos del algoritmo Adaboost son los siguientes:
1 Dado un conjunto de muestras de entrenamiento, correspondientes a muestras positivas y muestras negativas respectivamente, el número máximo de ciclos es el. número máximo de ciclos de entrenamiento;
2. Inicializar los pesos de muestra, es decir, la distribución de probabilidad inicial de las muestras de entrenamiento;
3. 1) Las muestras de entrenamiento se utilizan para entrenar clasificadores débiles. es la distribución de probabilidad de las muestras de entrenamiento y entrena un clasificador débil:
(2) Calcule la tasa de error del clasificador débil:
(3) Seleccione para hacerlo el más pequeño
(4) Actualizar el peso de la muestra:
(5) Finalmente obtener un clasificador fuerte:
El algoritmo Adaboost es un algoritmo de refuerzo adaptado a la clasificación débil obtenida a través Error de aprendizaje débil del clasificador:
El algoritmo Adaboost es un algoritmo de refuerzo adaptado al error de clasificadores débiles obtenidos mediante aprendizaje débil. El algoritmo Adaboost es un algoritmo de impulso adaptado que puede adaptarse a los errores de clasificadores débiles mal aprendidos. El algoritmo anterior realiza múltiples iteraciones en el bucle principal. Cada bucle determina una distribución P en función de la distribución de peso de la muestra actual x, y luego utiliza un algoritmo de aprendizaje en las muestras bajo esta distribución para obtener un clasificador débil con una tasa de error de. Definimos un algoritmo de aprendizaje débil para todos y, de hecho, no es necesario conocer de antemano el límite superior de esta tasa de error. Los pesos se actualizan en cada iteración. La regla actualizada es reducir la probabilidad de que el clasificador débil clasifique bien los datos y aumentar la probabilidad de que el clasificador débil clasifique mal los datos. El clasificador final es el promedio ponderado de clasificadores débiles.
Primera parte: La generación de algoritmos
Yoav Freund propuso dos algoritmos, AdaBoost.M1 y AdaBoost.M2, en "Un nuevo experimento de algoritmo de impulso" en 1996. M1 es lo que normalmente llamamos AdaBoost discreto y AdaBoost.M2 es la forma generalizada de M1. Una de las conclusiones del artículo es que cuando los algoritmos clasificadores débiles utilizan métodos de clasificación simples, los algoritmos de impulso superan de manera significativa y consistente la clasificación de bolsas. Cuando el algoritmo clasificador débil usa C4.5, el impulso es peor que el embolsado, pero el efecto de contraste no es tan significativo como el primero.