Pregunta

La aplicación OpenCV SVM toma un parámetro etiquetado como "tipo SVM" que debe ser utilizado en la estructura CVSVMParams utilizado en el entrenamiento de la SVM. Toda la explicación que encuentro es:

// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };

Alguien sabe que estos valores representan diferentes?

¿Fue útil?

Solución

En general:

  • Clasificación SVM Tipo 1 (también conocido como clasificación C-SVM)
  • Clasificación SVM Tipo 2 (también conocido como clasificación nu-SVM)
  • Regresión SVM Tipo 1 (también conocido como regresión epsilon-SVM)
  • Regresión SVM Tipo 2 (también conocido como regresión nu-SVM)

Los detalles se pueden encontrar en la página SVM

Otros consejos

son diferentes formulaciones de SVM. En el corazón de SVM es un problema de optimización matemática. Este problema puede plantearse de diversas maneras.

C-SVM utiliza C como el parámetro de compensación entre el tamaño de margen y el número de formación de puntos que están mal clasificados. C es sólo un número, el rango útil depende del conjunto de datos y que puede variar desde muy pequeña (como 10-5) a muy grande (como 10 ^ 5), dependiendo de sus datos.

usos nu-SVM Nu en lugar de C. nu es de aproximadamente un porcentaje de puntos de entrenamiento que va a terminar como vectores de soporte. Los más vectores de soporte, mayor será el margen es, los puntos más entrenamiento que será mal clasificados. nu oscila entre 0,1 y 0,8 - 0,1 a aproximadamente 10% de los puntos de entrenamiento será vectores de soporte, en el 0,8, más como 80%. Digo más o menos porque su solo de esa manera correlacionada -. No es exacta

epsilon-SVR y nu-SVR uso SVM para la regresión. En vez de hacer la clasificación binaria mediante la búsqueda de un hiperplano margen máximo, en lugar del concepto se utiliza para encontrar un Hypertube que mejor se ajusta a los datos con el fin de utilizarlo para predecir futuros modelos. Se diferencian en la forma en que se parametrizan (como nu-SVM y C-SVM difieren).

Uno-Class SVM es la detección de novedad. En lugar de la clasificación binaria, o predecir un valor, en lugar de darle la SVM un conjunto de entrenamiento y su intento de formar un modelo para envolver alrededor de ese conjunto de manera que una instancia futuro puede ser clasificado como parte de la clase o fuera de la clase (novela o outlier).

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