Estaba usando una clase SVM , implementada en scikit-learn, para mi trabajo de investigación. Pero no tengo una buena comprensión de esto.
¿Alguien puede dar una explicación simple y buena de una clase SVM ?
fuente
Estaba usando una clase SVM , implementada en scikit-learn, para mi trabajo de investigación. Pero no tengo una buena comprensión de esto.
¿Alguien puede dar una explicación simple y buena de una clase SVM ?
El problema abordado por One Class SVM, como dice la documentación, es la detección de novedades . El documento original que describe cómo usar SVM para esta tarea es " Método de vector de soporte para detección de novedad ".
La idea de la detección de novedad es detectar eventos raros, es decir, eventos que ocurren raramente y, por lo tanto, de los que tiene muy pocas muestras. El problema es que la forma habitual de entrenar a un clasificador no funcionará.
Entonces, ¿cómo decides qué es un nuevo patrón? Muchos enfoques se basan en la estimación de la densidad de probabilidad de los datos. La novedad corresponde a aquellas muestras donde la densidad de probabilidad es "muy baja". Qué tan bajo depende de la aplicación.
Ahora, los SVM son métodos de margen máximo, es decir, no modelan una distribución de probabilidad. Aquí la idea es encontrar una función que sea positiva para regiones con alta densidad de puntos, y negativa para densidades pequeñas.
Los detalles arenosos se dan en el documento. ;) Si realmente tiene la intención de pasar por el documento, asegúrese de comprender primero la configuración del algoritmo SVM básico para la clasificación. Será mucho más fácil entender los límites y la motivación del algoritmo.
Puede usar One Class SVM para alguna canalización para el aprendizaje activo de alguna manera semi-supervisada.
Ej: Como SVM trata con un método de margen máximo como se describió anteriormente, puede considerar esas regiones de margen como límites para alguna clase específica y realizar el reetiquetado.
fuente