12 votos

SVM, interacción de variables y datos de entrenamiento en forma

Tengo 2 general/cuestión más teórica.

1) tengo curiosidad por cómo SVMs identificador de variable interacciones cuando la construcción de modelos predictivos. E. g., si tengo dos funciones f1 y f2 y el destino depende de f1, f2, y decir f1 * f2 (o alguna función h(f1, f2)), no SVM ajuste (no sólo en OOS pero incluso en los datos de entrenamiento) mejorar cuando se incluyen f1, f2 y h(f1, f2) en las características más justo, incluyendo la f1 y en la f2? ¿El algoritmo SVM acuerdo con la característica de interacciones? Parece que no iba con la forma de la SVM intenta crear hyperplanes en espacio de dimensiones superiores, pero no estoy seguro, así que quería preguntar.

2) Cuando el ajuste de una SVM en los datos de entrenamiento, dado bastantes características y la búsqueda de los parámetros óptimos (a través de la búsqueda por fuerza bruta o lo que sea), una SVM siempre trivialmente ajuste de los datos de entrenamiento? No estoy seguro si he redactado ese derecho, pero básicamente, si hay suficiente varianza/ruido en la cuenta, una SVM siempre se ajuste a los datos de entrenamiento 100%? Por el contrario, si la SVM no se ajusta a los datos de entrenamiento 100%, significa que hay algo de información (o de otras características) que afectan a la variable de destino que no se reflejan en los datos?

Gracias

Pequeña aclaración. Me estoy refiriendo a kernel SVMs específicamente

3voto

John Richardson Puntos 1197

Como highBandwidth sugiere, depende de si usted está usando un SVM lineal o no-lineal (ser pedante si el kernel no se utiliza, es la máxima margen clasificador lineal en lugar de una SVM).

Un máximo margen de clasificador lineal no es diferente de cualquier otro clasificador lineal en que si los datos de proceso de generación de medios que hay interacciones entre los atributos, a continuación, proporcionar a los términos de interacción que se puede mejorar el rendimiento. El máximo margen clasificador lineal es algo así como la regresión ridge, con una ligera diferencia en el término de penalización que está diseñado para evitar el sobreajuste (dado los valores adecuados para la regularización de parámetro), y en la mayoría de los casos regresión ridge y máximo margen clasificador va a dar un rendimiento similar.

Si usted piensa que los términos de interacción son propensos a ser importante, entonces se puede introducir en el espacio de características de una SVM mediante el polinomio de kernel $K(x,x') = (x\cdot x' + c)^d$, lo que dará un espacio de características en la que cada uno de los ejes representa un monomio de orden $d$ o menos, el parámetro de $c$ afecta a la ponderación relativa de los monomials de diferentes órdenes. Así, una SVM con un polinomio de kernel es equivalente a la colocación de un polinomio modelo en el atributo de espacio, lo que implícitamente incorpora esas interacciones.

Dada la suficiente cantidad de características, cualquier clasificador lineal puede trivialmente se ajusten a los datos. IIRC un $n$ puntos en general en la posición" en un $n-1$ espacio tridimensional puede ser destrozado (separada de cualquier manera arbitraria) por una hiper-plano c.f. VC dimensión). Esto generalmente resulta en graves con el ajuste, y por lo tanto deben ser evitados. El punto de máxima margen classifcation es el límite de sobre-ajuste mediante la adición de un término de penalización que significa que la mayor separación posible se consigue (que requeriría la mayor desviación de la formación de ejemplo para producir un error en la clasificación). Esto significa que usted puede transformar los datos en un muy alto dimensiones del espacio (donde un modelo lineal es muy potente), sin incurrir en demasiado sobre-ajuste.

Tenga en cuenta que algunos núcleos dar lugar a un infinito dimensional del espacio de características, donde un "trivial" la clasificación está garantizado a ser posible para cualquier finito de formación de la muestra en la posición general. Por ejemplo, la función de base radial kernel, $K(x,x') = \exp{-\gamma\|x - x'\|^2}$, donde el espacio de características es el positivo orthant de un infinito dimensional hypersphere. Tales núcleos hacer la SVM universal approximator, que puede representar esencialmente cualquier decisión de la frontera.

Sin embargo, esto es sólo parte de la historia. En la práctica, por lo general uso un soft-al margen de la SVM, donde el margen de restringir está permitido para ser violado, y no hay una regularización de parámetros que controlan el trade-off entre la maximización del margen (que es un término de penalización, similar a la utilizada en la regresión ridge) y la magnitud de las variables de holgura (que es similar a la pérdida en la formación de la muestra). Tenemos, entonces, evitar la sobre-ajuste mediante la optimización de la regularsation parámetro, por ejemplo, mediante la minimización de la cruz-error de validación (o algún límite en el dejar-uno-fuera de error), así como lo haría en el caso de la regresión ridge.

Así, mientras que la SVM puede trivialmente clasificar el conjunto de entrenamiento, por lo general sólo si la regularización y los parámetros del kernel están mal elegidos. La clave para lograr buenos resultados con cualquier kernel modelo reside en la elección de un kernel apropiado y, a continuación, en el ajuste del kernel y la regularización de los parámetros para evitar la sobre - o bajo-ajuste de los datos.

1voto

highBandWidth Puntos 977

Las respuestas dependen de si usted está usando SVM lineal o núcleo de la SVM. Con SVM lineal, utilizando solamente las funciones que se le asigne, y no toma en cuenta las interacciones. Con el Kernel de la SVM, básicamente, usted está utilizando una gran cantidad de funciones diferentes, dependiendo del kernel que usted eligió. Si hay una separación de hyperplane, es decir, si $sign(\sum_{i=1}^{K}\beta_i(x)-\beta_0)$ determina la clase, en la $\beta_i,i \in \{1,2,...K\}$ son las características, entonces usted puede tener el montaje completo de los datos de entrenamiento. Por lo general, no especifica las características, pero hay que darle un kernel $K$ que está relacionado con las características como $K(x_1,x_2) = \sum_{i=1}^K \beta_i(x_1) \beta_i(x_2)$. Buscar reproducir el Kernel de espacios de Hilbert.

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