84 votos

Que me ayude a entender Máquinas de Soporte Vectorial

Puedo entender los conceptos básicos de lo que es un Support Vector Machines' se trata en términos de la clasificación de un conjunto de entrada en varias clases diferentes, pero lo que no entiendo es que algunos de los detalles esenciales. Para empezar, estoy un poco confundido por el uso de Variables de Holgura. ¿Cuál es su propósito?

Estoy haciendo un problema de clasificación, donde he capturado las lecturas de la presión de los sensores que he colocado en la suela de un zapato. Un tema sentarse, pararse y caminar un par de minutos, mientras que los datos de presión se registra. Quiero entrenar un clasificador para ser capaces de determinar si una persona está sentada, de pie o caminar y ser capaces de hacer que el futuro de los datos de prueba. Lo clasificador tipo necesito probar? ¿Cuál es la mejor manera para mí para entrenar un clasificador a partir de los datos que he capturado? Tengo 1000 entradas para sentarse, pararse y caminar (3x1000=3000 total), y todos ellos tienen la característica siguiente formato vectorial. (pressurefromsensor1, pressurefromsensor2, pressurefromsensor3, pressurefromsensor4)

111voto

ESRogs Puntos 1381

Creo que usted está tratando de iniciar un mal final. Lo que uno debe saber acerca de SVM para usarlo es justo que este algoritmo es encontrar un hyperplane en el hiperespacio de los atributos que separa dos clases mejor, donde los mejores medios con mayor diferencia entre las clases (el conocimiento de cómo se realiza es su enemigo aquí, porque desenfoca la imagen global), como se ilustra por un famoso cuadro como este: alt text

Ahora, hay algunos problemas de la izquierda.
Primero de todo, lo que con esas desagradables valores atípicos imposición descaradamente en un centro de la nube de puntos de una clase diferente?
alt text
Para ello nos permitir que el optimizador para salir de ciertas muestras de mal etiquetadas, sin embargo, castigar a cada uno de tales ejemplos. Para evitar multiobjective la optimizacion, las sanciones por mal rotulada de los casos se combinan con margen tamaño con un uso adicional de un parámetro C que controla el equilibrio entre estos objetivos.
Siguiente, a veces el problema no es lineal y no hay una buena hyperplane se puede encontrar. Aquí, presentamos kernel trick-acabamos de proyecto de la original, no lineal del espacio de dimensiones superiores, con una transformación no lineal, por supuesto definido por un grupo de parámetros adicionales, con la esperanza de que en el espacio resultante el problema va a ser adecuado para un plano SVM:

alt text

Sin embargo, de nuevo, con un poco de matemática y podemos ver que todo este procedimiento de transformación puede ser elegantemente oculto por la modificación de la función objetivo mediante la sustitución de producto escalar de los objetos con el llamado núcleo de la función.
Finalmente, todo esto funciona por 2 clases, y tienes 3; qué hacer con él? Aquí vamos a crear 3 2-clase de clasificadores (sentado, no sentado, parado, sin pararse, caminar -- no caminar) y en la clasificación de los combinará con la votación.

Ok, de manera que los problemas parece resuelto, pero tenemos que seleccionar el kernel (aquí consultamos con nuestra intuición y recoger RBF) y encaja, al menos, algunos parámetros (C+kernel). Y debemos tener overfit-seguro de la función objetivo para que, por ejemplo, error de aproximación de la validación cruzada. Así que nos vamos de equipo de trabajo en la que, ir por un café, volver y ver que hay algunos de los parámetros óptimos. Genial!!! Ahora que acaba de empezar anidada de validación cruzada que tiene error de aproximación y voila.

Este breve flujo de trabajo es demasiado simplificado para que sea totalmente correcta, pero muestra las razones por las que creo que debería probar primero con bosque aleatorio, que es casi el parámetro independiente, de forma nativa multiclase, proporciona imparcial estimación del error y realizar casi tan bueno como bien equipada SVMs.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X