Is Support Vector Machine sensitive to the correlation between the attributes?

I would like to train an SVM to classify cases (TRUE/FALSE) based on 20 attributes. I know that some of those attributes are highly correlated. Therefore my question is: is SVM sensitive to the correlation, or redundancy, between the features? Any reference?

• My guess would be no, since generating a separation based on one variable would make the other correlated variables weak regarding further separations. There might be some instability regarding which variable is chosen, however. – mandata May 4 '15 at 14:28
• Are you talking about a linear SVM, or RBF kernel, or...? – Dougal May 5 '15 at 5:26
• Hmmmm, I don't know... does the answer depend on that? – user7064 May 5 '15 at 5:27
• Yes, absolutely. You can design a kernel to explicitly deal with the correlations, if you'd like. – Dougal May 5 '15 at 5:40
• @Dougal: If there are methods to eliminate the effect of correlation, doesn't that imply that standard SVM is sensitive to correlation? – cfh May 5 '15 at 10:48

One simple way to discount correlations with an RBF kernel is to use the Mahalanobis distance: $d(x, y) = \sqrt{ (x - y)^T S^{-1} (x - y) }$, where $S$ is an estimate of the sample covariance matrix. Equivalently, map all your vectors $x$ to $C x$ and then use the regular RBF kernel, where $C$ is such that $S^{-1} = C^T C$, e.g. the Cholesky decomposition of $S^{-1}$.