Como sugiere highBandwidth, depende de si está utilizando un SVM lineal o uno no lineal (siendo pedante si no se utiliza un núcleo, es un clasificador lineal de margen máximo en lugar de un SVM).
Un clasificador lineal de margen máximo no es diferente de cualquier otro clasificador lineal en que si el proceso de generación de datos significa que hay interacciones entre los atributos, es probable que proporcionar esos términos de interacción mejore el rendimiento. El clasificador lineal de margen máximo es más bien como la regresión de cresta, con una ligera diferencia en el término de penalización que está diseñado para evitar el sobreajuste (dados los valores adecuados para el parámetro de regularización), y en la mayoría de los casos la regresión de cresta y el clasificador de margen máximo proporcionarán un rendimiento similar.
Si cree que los términos de interacción pueden ser importantes, puede introducirlos en el espacio de características de un SVM utilizando el núcleo polinomial , que dará un espacio de características en el que cada eje representa un monomio de orden o menos, el parámetro afecta la ponderación relativa de monomios de diferentes órdenes. Por lo tanto, una SVM con un núcleo polinomial es equivalente a ajustar un modelo polinomial en el espacio de atributos, que incorpora implícitamente esas interacciones. d cK(x,x′)=(x⋅x′+c)ddc
Dadas suficientes características, cualquier clasificador lineal puede ajustarse trivialmente a los datos. IIRC y puntos en "posición general" en un espacio dimensional pueden romperse (separados de cualquier manera arbitraria) por un hiperplano (cf dimensión VC). Hacer esto generalmente resultará en un ajuste excesivo severo, por lo que debe evitarse. El punto de la clasificación de margen máximo es limitar este ajuste excesivo agregando un término de penalización que significa que se logra la mayor separación posible (lo que requeriría la mayor desviación de cualquier ejemplo de entrenamiento para producir una clasificación errónea). Esto significa que puede transformar los datos en un espacio dimensional muy alto (donde un modelo lineal es muy poderoso) sin incurrir en un ajuste excesivo.n - 1nn−1
Tenga en cuenta que algunos núcleos dan lugar a un espacio de características de dimensiones infinitas, donde se garantiza una clasificación "trivial" para cualquier muestra de entrenamiento finito en posición general. Por ejemplo, el núcleo de la función de base radial, , donde el espacio de características es el elemento positivo de una hiperesfera de dimensión infinita. Tales núcleos hacen del SVM un aproximador universal, que puede representar esencialmente cualquier límite de decisión.K(x,x′)=exp−γ∥x−x′∥2
Sin embargo, esto es solo una parte de la historia. En la práctica, generalmente usamos un SVM de margen blando, donde se permite violar la restricción de margen, y hay un parámetro de regularización que controla la compensación entre maximizar el margen (que es un término de penalización, similar al utilizado en regresión de cresta) y la magnitud de las variables de holgura (que es similar a la pérdida en la muestra de entrenamiento). Luego, evitamos el ajuste excesivo ajustando el parámetro de regulación, por ejemplo, minimizando el error de validación cruzada (o algunos vinculados al error de dejar una salida), tal como lo haríamos en el caso de la regresión de cresta.
Entonces, aunque el SVM puede clasificar trivialmente el conjunto de entrenamiento, generalmente solo lo hará si la regularización y los parámetros del núcleo están mal elegidos. La clave para lograr buenos resultados con cualquier modelo de kernel radica en elegir un kernel apropiado y luego en ajustar el kernel y los parámetros de regularización para evitar un ajuste excesivo o insuficiente de los datos.
Las respuestas dependen de si está utilizando SVM lineal o kernel SVM. Con SVM lineal, solo está utilizando las funciones que le da, y no tiene en cuenta las interacciones. Con Kernel SVM, básicamente está utilizando muchas características diferentes, dependiendo del kernel que elija. Si hay un hiperplano de separación, es decir, si el determina la clase donde son las características, entonces puede tener un ajuste completo de los datos de entrenamiento. Por lo general, no especifica las características, pero le da un núcleo que está relacionado con las características como . Mira hacia arriba reproduciendo espacios Kernel Hilbert.sign(∑Ki=1βi(x)−β0) βi,i∈{1,2,...K} K K(x1,x2)=∑Ki=1βi(x1)βi(x2)
fuente