Los pesos para impulsar no son heurísticos. Inicialmente se derivaron cuidadosamente de la teoría y tienen una tasa de generalización comprobada. Desde entonces, el impulso ha recibido mucho más estudio y hay muchas formas de obtener buenos pesos.
Mi método favorito es este: puede pensar en Boosting como Gradient Descent en un espacio de funciones http://papers.nips.cc/paper/1766… y usar cualquier pérdida para obtener pesos. http://arxiv.org/pdf/1105.2054.pdf es un tratamiento más reciente, aunque más avanzado, de tales ideas.
Volviendo a su pregunta, hay una sutil diferencia entre impulsar y apilar. El refuerzo generalmente se realiza secuencialmente, es decir, entrena un modelo y aumenta el peso de los errores en los datos de entrenamiento para entrenar el siguiente modelo. Esto asegura, en cierto sentido, que cada modelo que entrena es útil, ya que identificará alguna característica de los datos que los modelos anteriores omitieron. También asegura (en teoría, pero también en la práctica) que la pérdida disminuye de una manera que le da una disminución exponencial en las tasas de error.
[Debo señalar aquí que también existen variantes paralelas de impulso, pero no son populares en la práctica y no sé si esto se debe a que no es necesario o si no funcionan bien]
- Análisis de sentimientos: ¿cuál es una manera simple de identificar palabras de sentimientos en una oración?
- ¿Cuántas imágenes necesito para entrenar una red neuronal convolucional?
- ¿Por qué la traducción automática neuronal a nivel de caracteres es más difícil que la traducción automática neuronal a nivel de palabra?
- ¿Qué hace una capa convolucional 1 × 1?
- ¿Qué tan buena es la Universidad de Edimburgo, en comparación con la CMU para estudios de posgrado e investigación en aprendizaje automático y neurociencia computacional?
El apilamiento entrena a muchos modelos y aprende pesos para ellos combinándolos y utilizando una pérdida logística. En principio, también podría reemplazar esta pérdida por cualquier otra pérdida. En particular, podría simular el impulso PERO recuerde que el impulso de los clasificadores de trenes para que cada uno capture algo que los anteriores omitieron. Aquí, es posible que deba entrenar MUCHOS clasificadores, dependiendo del problema, esto podría ser exponencial, antes de comenzar con la metacapa para que coincida con la tasa de error de aumento.
También existe el hecho de que debe tener cuidado al aprender estos valores de metacapa para evitar el sobreajuste. Esto generalmente no es un problema si tiene muchos datos.
En resumen, Boosting le ofrece garantías teóricas (aunque con algunas advertencias) y está bien respaldado en la práctica. Es fácil de aplicar a su función de pérdida favorita.
Todo lo que se puede decir es que funcionará mejor que los clasificadores individuales. Puede coincidir con el impulso, pero en el peor de los casos es posible que tenga que entrenar MUCHOS clasificadores.
Entonces, su pregunta debería ser “¿Por qué alguien haría el apilamiento?”
Y la respuesta a eso es:
a) El peor de los casos descrito anteriormente para el apilamiento puede no ocurrir en la práctica, o está de acuerdo con un rendimiento ligeramente subóptimo
b) En el mundo moderno con sus centros de datos y GPU, es muy fácil entrenar modelos enormes en paralelo sin comunicación o coordinación entre ellos (no conozco algoritmos de refuerzo asíncronos, pero si los conoce, por favor, enlácelos en los comentarios) . Hacer esto secuencialmente como en Boosting sería demasiado lento.