Al impulsar, ¿por qué los alumnos son "débiles"?


28

Consulte también una pregunta similar sobre estadísticas .

Al impulsar algoritmos como AdaBoost y LPBoost , se sabe que los alumnos "débiles" que se combinan solo tienen que rendir mejor que la posibilidad de ser útiles, de Wikipedia:

Los clasificadores que utiliza pueden ser débiles (es decir, mostrar una tasa de error sustancial), pero siempre que su rendimiento no sea aleatorio (lo que resulta en una tasa de error de 0.5 para la clasificación binaria), mejorarán el modelo final. Incluso los clasificadores con una tasa de error superior a la que se esperaría de un clasificador aleatorio serán útiles, ya que tendrán coeficientes negativos en la combinación lineal final de clasificadores y, por lo tanto, se comportarán como sus inversos.

  • ¿Cuáles son los beneficios de usar estudiantes débiles en lugar de fuertes? (por ejemplo, ¿por qué no aumentar con métodos de aprendizaje "fuertes"? ¿Somos más propensos a sobreajustar?)

  • ¿Existe algún tipo de fortaleza "óptima" para los alumnos débiles? ¿Y esto está relacionado con el número de alumnos en el conjunto?

¿Existe alguna teoría para respaldar las respuestas a estas preguntas?


Los alumnos débiles también evitan el ajuste excesivo a los datos de entrenamiento
Aman Deep Gautam

Respuestas:


15

Por lo tanto, impulsar es un algoritmo de aprendizaje, que puede generar predicciones de alta precisión utilizando como subrutina otro algoritmo, que a su vez puede generar hipótesis de manera eficiente un poco mejor (por un polinomio inverso) que la suposición aleatoria.

Su principal ventaja es la velocidad.

Cuando Schapire lo presentó en 1990, fue un gran avance ya que demostró que un aprendiz de tiempo polinómico que genera hipótesis con errores apenas menores que 1/2 puede transformarse en un alumno de tiempo polinómico que genera hipótesis con un error arbitrariamente pequeño.

Entonces, la teoría para respaldar su pregunta está en "La fuerza de la capacidad de aprendizaje débil" ( pdf ), donde básicamente demostró que el aprendizaje "fuerte" y "débil" son equivalentes.

Y quizás la respuesta a la pregunta original es: "no tiene sentido construir aprendices fuertes cuando puedes construir a los débiles de manera más barata".


De los artículos relativamente recientes, hay "Sobre la equivalencia de la capacidad de aprendizaje débil y la separabilidad lineal: nuevas relajaciones y algoritmos de refuerzo eficientes" ( pdf ) que no entiendo pero que parece relacionado y puede ser de interés para las personas más educadas :)


1
+1 bonitas referencias. Entonces, tal vez la respuesta sea: "¿no tiene sentido construir aprendices fuertes cuando puedes construir a los débiles de manera más barata"?
tdc

Sí, suena así. ¡He actualizado la respuesta! Además, si entiendo correctamente, esto no depende de la fortaleza de sus alumnos débiles, solo tienen que ser "ligeramente" mejores que al azar.
andreister

1
Creo que lo que realmente quieren decir es: no tiene sentido construir aprendices fuertes y costosos cuando se puede alcanzar una habilidad similar o incluso mejor simplemente combinando muchos aprendices débiles y baratos . De hecho, si la habilidad alcanzada por los estudiantes fuertes era mucho más alta que la habilidad alcanzada por los estudiantes débiles, entonces podría ver totalmente el punto de construir estudiantes fuertes ...
Antoine

9

Abordaré el sobreajuste, que aún no se ha mencionado, con una explicación más intuitiva. Tu primera pregunta fue:

¿Cuáles son los beneficios de usar estudiantes débiles en lugar de fuertes? (por ejemplo, ¿por qué no aumentar con métodos de aprendizaje "fuertes"? ¿Somos más propensos a sobreajustar?)

Las principales razones, en mi opinión, son:

  • Velocidad , como se cubre bastante bien en las otras respuestas;
  • Mejora de precisión : si ya tiene un buen alumno, los beneficios de impulsar son menos relevantes;
  • Evite el sobreajuste , como lo adivinó. Piensa en ello de esta manera:

Lo que hace el impulso es combinar muchas hipótesis diferentes del espacio de hipótesis para que terminemos con una mejor hipótesis final. El gran poder de impulsar, por lo tanto, proviene de la diversidad de la hipótesis combinada.

Si usamos un alumno fuerte, esta diversidad tiende a disminuir: después de cada iteración no habrá muchos errores (ya que el modelo es complejo), lo que no hará que el impulso cambie mucho la nueva hipótesis. Con una hipótesis muy similar, el conjunto será muy similar a un modelo complejo único, que a su vez tiende a sobreajustarse.


44
Esta es la verdadera respuesta.
Matthew Drury

6

Para impulsar, usamos principalmente estudiantes débiles, ya que están entrenados más rápido en comparación con los estudiantes fuertes. Piénsalo. Si uso la red neuronal multicapa como aprendiz, entonces necesito entrenar a muchos de ellos. Por otro lado, un árbol de decisión puede ser mucho más rápido, entonces puedo entrenar a muchos de ellos.

Digamos que uso 100 estudiantes. Entreno NN en 100 segundos y árbol de decisiones en 10 segundos. Mi primer impulso con NN tomará 100 * 100 segundos, mientras que el segundo impulso con el árbol de decisión tomará 100 * 10 segundos.

Dicho esto, he visto artículos que utilizan estudiantes fuertes para impulsar. Pero en esos problemas, los alumnos fuertes eran rápidos en mi opinión.

Traté de entrenar a MLP en el conjunto de datos de detección de intrusiones KDD99 (4+ millones) usando Weka. Me llevó más de 72 horas en mi máquina. Pero impulsar (AdaBoostM1 con Decision Tree - Decision Stump) tomó solo 3 horas. En este problema, está claro que no puedo usar el refuerzo con un alumno fuerte, que es un alumno que lleva demasiado tiempo.


1
"He visto artículos que utilizan estudiantes fuertes para impulsar" - ¿alguna referencia?
tdc
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.