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:
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?
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:
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.