¿Support Vector Machine es sensible a la correlación entre los atributos?

11

Me gustaría entrenar un SVM para clasificar casos (VERDADERO / FALSO) basado en 20 atributos. Sé que algunos de esos atributos están altamente correlacionados. Por lo tanto, mi pregunta es: ¿SVM es sensible a la correlación o redundancia entre las características? Alguna referencia?

usuario7064
fuente
Supongo que no, ya que generar una separación basada en una variable debilitaría las otras variables correlacionadas con respecto a las separaciones posteriores. Sin embargo, puede haber cierta inestabilidad con respecto a qué variable se elige.
Mandata
¿Estás hablando de un kernel SVM lineal o RBF o ...?
Dougal
Hmmmm, no sé ... ¿la respuesta depende de eso?
user7064
Si, absolutamente. Puede diseñar un núcleo para tratar explícitamente las correlaciones, si lo desea.
Dougal
1
@Dougal: Si hay métodos para eliminar el efecto de la correlación, ¿no implica eso que el SVM estándar es sensible a la correlación?
cfh

Respuestas:

12

Núcleo lineal: el efecto aquí es similar al de la multicolinealidad en la regresión lineal. Es posible que su modelo aprendido no sea particularmente estable frente a pequeñas variaciones en el conjunto de entrenamiento, porque diferentes vectores de peso tendrán salidas similares. Sin embargo, las predicciones del conjunto de entrenamiento serán bastante estables, por lo que probarán las predicciones si provienen de la misma distribución.

Kernel RBF: el kernel RBF solo mira las distancias entre los puntos de datos. Por lo tanto, imagine que en realidad tiene 11 atributos, pero uno de ellos se repite 10 veces (un caso bastante extremo). Entonces ese atributo repetido contribuirá 10 veces más a la distancia que cualquier otro atributo, y el modelo aprendido probablemente se verá mucho más afectado por esa característica.

Una forma sencilla de descontar las correlaciones con un núcleo RBF es utilizar la distancia de Mahalanobis: , donde es un Estimación de la matriz de covarianza muestral. De manera equivalente, asigne todos sus vectores a y luego use el núcleo RBF regular, donde es tal que , por ejemplo, la descomposición de Cholesky de .d(x,y)=(xy)TS1(xy)SxCxCS1=CTCS1

Dougal
fuente
Esta es una respuesta muy interesante; Me gustaría leer más sobre cómo mitigar este tipo de problemas. ¿Puedes agregar una referencia o dos?
Sycorax dice Reinstate a Monica
No conozco uno bueno por casualidad, pero buscaré un poco, tal vez esta noche.
Dougal
¡Increíble! Entréame si encuentras un artículo genial. Me alegro de que mi (+1) pueda ponerte por encima de 3k. (-:
Sycorax dice Reinstate Monica
1
El inverso de la matriz de covarianza en la distancia de Mahalanobis es una clave. Si puede estimarlo de manera confiable, esto se puede contabilizar.
Vladislavs Dovgalecs