No hay un corte claro al respecto. Solo puedo responder esto en parte basado en mi propia experiencia.
Si su tamaño de entrada (dimensionalidad) es grande y su máquina no puede manejarlo, todo será lento, tanto en entrenamiento como en pruebas. Si su máquina puede manejarlo, entonces:
- La regresión logística (o la mayoría de los tipos de regresión simple) suele ser la más rápida tanto en tiempo de entrenamiento como en tiempo de prueba.
- SVM también puede ser muy rápido porque la rutina de entrenamiento es un problema de programación cuadrática, es un problema establecido y las personas ofrecen muchas formas rápidas de optimizarlo. SVM en las pruebas también es muy rápido (a menos que tenga mala suerte y tenga millones de vectores de soporte.
- Para la red neuronal , depende principalmente de algunos factores:
- Hardware: ¿tienes una GPU? Si es así, ¿cuál es el tamaño de su red?
- ¿Es su función objetivo convexa (o al menos cuasi convexa) con respecto a sus parámetros?
- Tus hiperparámetros.
Si tiene una GPU y su red más su entrada puede encajar perfectamente en la memoria de la GPU, entonces puede tener un tiempo de prueba decente a rápido. Pero, su tiempo de entrenamiento puede ser muy lento si está tratando de optimizar un objetivo altamente no lineal, los gradientes están desapareciendo, las unidades están muertas, los gradientes no están equilibrados entre las diferentes unidades, etc.
- ¿Qué es mejor para la programación competitiva, la introducción del MIT a los algoritmos o los tutoriales de TopCoder?
- En este algoritmo de clasificación de radix, ¿qué representa cada variable? (Java)
- Cómo implementar la ordenación de inserción recursiva usando una lista vinculada
- ¿Cómo funciona el algoritmo de estimulación del presupuesto publicitario de Facebook?
- Tiene una lista vinculada en la que cada nodo es otra lista vinculada. ¿Cómo encuentra el elemento Kth más exclusivo entre todos los nodos en el momento más óptimo?
Sin embargo, si no tiene una GPU, puede ser muy largo calcular un pase directo de red neuronal a menos que su red sea pequeña.
Cuando todo lo demás es fluido, su progreso de aprendizaje puede ser muy lento si sus hiperparámetros (como la tasa de aprendizaje, la tasa de impulso, la pérdida de peso, la tasa de abandono, etc.) no están configurados correctamente. Creo que encontrar un buen conjunto de hiperparámetros requiere tanto tiempo como entrenar la red misma.
- Adaboost es extremadamente lento en el tiempo de entrenamiento, pero es muy rápido en el tiempo de prueba, también es muy robusto en muchas situaciones.
- La mayoría de los algoritmos de agrupamiento pueden ser muy rápidos o muy lentos, dependiendo de qué tan grandes sean sus datos y cómo se distribuyan. Aunque no es tan malo como una red neuronal profunda porque sabes que en un momento el proceso de agrupación tendrá que terminar.