Necesito entrenar un modelo de regresión en un gran conjunto de ejemplos de entrenamiento , con el potencial de incorporar características arbitrarias. ¿Qué algoritmos de aprendizaje debo considerar y por qué?¿Qué algoritmo (s) de aprendizaje debería considerar para entrenar un modelo de regresión log-lineal?
Un breve resumen del problema:
- Aproximadamente 5 millones de ejemplos de entrenamiento
- Adición de ejemplos de entrenamiento a una tasa de 2-4 millones por año
- ejemplos de entrenamiento actualmente contienen 10 funciones cada
- Aproximadamente 400k funciones ocupadas (de un espacio de funciones total mucho más grande)
- Funciones adicionales agregadas en el tiempo
- Reconversión o adaptar el modelo (al menos) al día para incorporar nuevos ejemplos
- criterios de optimización: mínimo error cuadrático porcentaje
- de salida: un número único de valor real
tengo un poco de experiencia de formación log modelos lineales en problemas de clasificación de tamaño similar (utilizando SVM, perceptrones promediados y votados, etc.) La capacidad de agregar características arbitrarias es importante, pero en este caso, el tiempo de entrenamiento también es valioso.
Por ejemplo, mi único experimento hasta ahora con SVMLight tardó varias semanas en converger en un subconjunto de estos datos. Podríamos paralelizar en una máquina multinúcleo o (posiblemente) un clúster, pero tenemos que entrenar modelos en minutos. La capacitación en línea sería aún mejor.
He entrenado un modelo Promedio de Perceptron con éxito (y rápidamente). Sin embargo, que yo sepa, el AP no se aplica normalmente a la regresión. ¿Ofrece el AP alguna garantía de convergencia para un modelo de regresión? ¿Hay alguna otra razón formal que no debería ser aplicable? ¿O es una coincidencia razonable para mis requisitos?
¿Qué otras opciones debo investigar? Una SVM probablemente ofrecería una precisión superior, pero el tiempo de entrenamiento cuadrático no es aceptable. Si se puede acceder a los algoritmos SVM en tiempo lineal, eso podría funcionar bien.
ventajas potenciales:
- de formación en línea
- aplicación de código abierto disponible (idealmente en Java). Podemos implementar nuestra propia implementación si es necesario, pero lo evitaré si es posible.
Gracias por su aportación.
Para la clasificación, he tenido mucho éxito con las SVM de descendencia de gradiente estocástica (http://leon.bottou.org/projects/sgd#) - es posible que desee ver cómo se adapta para la regresión. – etarion