Algoritmo de refuerzo - Tipos de algoritmo de refuerzo con su funcionamiento

Tabla de contenido:

Anonim

¿Qué es el algoritmo de refuerzo?

Impulsar es el método en algoritmos que convierte al alumno débil en alumno fuerte. Es una técnica que agrega nuevos modelos para corregir los errores de los modelos existentes.

Ejemplo:

Comprendamos este concepto con la ayuda del siguiente ejemplo. Tomemos un ejemplo del correo electrónico. ¿Cómo reconocerá su correo electrónico si es spam o no? Puede reconocerlo por las siguientes condiciones:

  • Si un correo electrónico contiene muchas fuentes como esa, significa que es spam.
  • Si un correo electrónico contiene solo una imagen de archivo, entonces es spam.
  • Si un correo electrónico contiene el mensaje de "Eres propietario de una lotería de $ xxxxx", eso significa que es spam.
  • Si un correo electrónico contiene alguna fuente conocida, entonces no es spam.
  • Si contiene el dominio oficial como educba.com, etc., eso significa que no es spam.

Las reglas mencionadas anteriormente no son tan poderosas para reconocer el spam o no, por lo tanto, estas reglas se llaman aprendices débiles.

Para convertir un alumno débil en uno fuerte, combine la predicción del alumno débil utilizando los siguientes métodos.

  1. Uso de promedio o promedio ponderado.
  2. Considere que la predicción tiene un voto más alto.

Considere las 5 reglas mencionadas anteriormente, hay 3 votos para spam y 2 votos para no spam. Como hay un alto número de votos de spam, lo consideramos como spam.

¿Cómo funcionan los algoritmos de refuerzo?

Los algoritmos de refuerzo combinan a cada alumno débil para crear una regla de predicción sólida. Para identificar la regla débil, existe un algoritmo de aprendizaje básico (Machine Learning). Cada vez que se aplica el algoritmo Base, crea nuevas reglas de predicción utilizando el proceso de iteración. Después de alguna iteración, combina todas las reglas débiles para crear una sola regla de predicción.

Para elegir la distribución correcta, siga los pasos mencionados a continuación:

Paso 1: el algoritmo de Base Learning combina cada distribución y aplica el mismo peso a cada distribución.

Paso 2: Si se produce alguna predicción durante el algoritmo de aprendizaje de primera base, prestamos mucha atención a ese error de predicción.

Paso 3: repita el paso 2 hasta que se haya alcanzado el límite del algoritmo Base Learning o una alta precisión.

Paso 4: Finalmente, combina a todos los alumnos débiles para crear una predicción fuerte.

Tipos de algoritmo de refuerzo

Los algoritmos de refuerzo utilizan diferentes motores, como el sello de decisión, el algoritmo de clasificación de maximización de márgenes, etc. Hay tres tipos de algoritmos de refuerzo que son los siguientes:

  1. Algoritmo AdaBoost (Adaptive Boosting)
  2. Algoritmo de aumento de gradiente
  3. Algoritmo de refuerzo XG

Algoritmo AdaBoost (refuerzo adaptativo)

Para comprender AdaBoost, consulte la siguiente imagen:

Recuadro 1: en el Recuadro 1 para cada conjunto de datos asignamos pesos iguales y para clasificar el signo más (+) y menos (-) aplicamos el tocón de decisión D1 que crea una línea vertical en el lado izquierdo del recuadro 1. Esta línea incorrectamente predijo tres signos más (+) como menos (-), por lo tanto, aplicamos pesos más altos a estos signos más y aplicamos otro tocón de decisión.

Recuadro 2: en el recuadro 2, el tamaño de tres signos más (+) predichos incorrectamente se hace más grande en comparación con otro. El segundo tocón de decisión D2 en el lado derecho del bloque predice este signo más (+) incorrectamente predicho como correcto. Pero dado que se produjo un error de clasificación errónea debido al peso desigual con un signo menos (-) asignamos un peso mayor a un signo menos (-) y aplicamos otro tocón de decisión.

Recuadro 3: en el recuadro tres debido a un error de clasificación errónea, el signo menos tres (-) tiene un peso elevado. aquí el tocón de decisión D3 se aplica para predecir esta clasificación errónea y corregirla. Esta vez para clasificar el signo más (+) y menos (-) se crea la línea horizontal.

Recuadro 4: En el recuadro 4, el tocón de decisión D1, D2 y D3 se combinan para crear una nueva predicción sólida.

Los trabajos de refuerzo adaptativo son similares a los mencionados anteriormente. Combina el grupo de alumnos débiles basados ​​en la edad de peso para crear un alumno fuerte. En la primera iteración, le da el mismo peso a cada conjunto de datos y comienza a predecir ese conjunto de datos. Si se produce una predicción incorrecta, le da mucho peso a esa observación. Refuerzo adaptativo repita este procedimiento en la siguiente fase de iteración y continúe hasta que se haya alcanzado la precisión. Luego combina esto para crear una predicción fuerte.

Algoritmo de aumento de gradiente

El algoritmo de aumento de gradiente es una técnica de aprendizaje automático para definir la función de pérdida y reducirla. Se utiliza para resolver problemas de clasificación utilizando modelos de predicción. Involucra los siguientes pasos:

1. Función de pérdida

El uso de la función de pérdida depende del tipo de problema. La ventaja del aumento de gradiente es que no hay necesidad de un nuevo algoritmo de aumento para cada función de pérdida.

2. Estudiante débil

En el aumento de gradiente, los árboles de decisión se utilizan como un alumno débil. Un árbol de regresión se usa para dar valores verdaderos que se pueden combinar para crear predicciones correctas. Al igual que en el algoritmo AdaBoost, se utilizan árboles pequeños con división simple, es decir, tocón de decisión. Los árboles más grandes se usan para niveles grandes i, e 4-8 niveles.

3. Modelo aditivo

En este modelo, los árboles se agregan uno a la vez. Los árboles existentes siguen siendo los mismos. Durante la adición de árboles, el descenso del gradiente se usa para minimizar la función de pérdida.

XG Boost

XG Boost es la abreviatura de Extreme Gradient Boosting. XG Boost es una implementación mejorada del algoritmo Gradient Boosting, desarrollado para una alta velocidad computacional, escalabilidad y un mejor rendimiento.

XG Boost tiene varias características que son las siguientes:

  1. Procesamiento en paralelo: XG Boost proporciona procesamiento en paralelo para la construcción de árboles que utiliza núcleos de CPU durante el entrenamiento.
  2. Validación cruzada: XG Boost permite a los usuarios ejecutar la validación cruzada del proceso de refuerzo en cada iteración, lo que facilita obtener el número óptimo exacto de iteraciones de refuerzo en una ejecución.
  3. Optimización de caché: proporciona la optimización de caché de los algoritmos para una mayor velocidad de ejecución.
  4. Computación distribuida : para entrenar modelos grandes, XG Boost permite la Computación distribuida.

Artículos recomendados

En este artículo, hemos visto qué es el Algoritmo de refuerzo, varios tipos de algoritmo de refuerzo en el aprendizaje automático y su funcionamiento. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es el aprendizaje automático? El | Una definicion
  2. Lenguajes de programación para el aprendizaje de algoritmos
  3. ¿Qué es la tecnología Blockchain?
  4. ¿Qué es un algoritmo?