Pregunta

Estoy usando libsvm Para la clasificación de múltiples clases de conjuntos de datos con una gran cantidad de características/atributos (alrededor de 5,800 por cada elemento). Me gustaría elegir mejores parámetros para C y Gamma que los valores predeterminados que estoy usando actualmente.

Ya he intentado ejecutar Easy.py, pero para los conjuntos de datos que estoy usando, el tiempo estimado está cerca de siempre (ejecutado Easy.py a 20, 50, 100 y 200 muestras de datos y obtuvo una regresión súper lineal que se proyectó mi tiempo de ejecución necesario para llevar años).

¿Hay alguna manera de llegar más rápidamente a mejores valores de C y gamma que los valores predeterminados? Estoy usando las bibliotecas Java, si eso hace alguna diferencia.

¿Fue útil?

Solución

Es posible lograr esto sin una búsqueda de cuadrícula, como creo easy.py lo hace.

Mira este artículo de Trevor Hastie, et al: Toda la ruta de regularización para la máquina vectorial de soporte (PDF). Una "ejecución de SVM" calculará la pérdida para todos los valores de "C" en un solo disparo, por lo que puede ver cómo afecta su rendimiento SVM.

Tienen una implementación de este algoritmo que puede usar en Riñonal a través de svmpath paquete.

Creo que el núcleo del algoritmo está escrito en Fortran, pero está envuelto en R.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top