Gostaria de treinar um SVM para classificar casos (TRUE / FALSE) com base em 20 atributos. Eu sei que alguns desses atributos são altamente correlacionados. Portanto, minha pergunta é: o SVM é sensível à correlação ou redundância entre os recursos? Alguma referência?
svm
multicollinearity
kernel-trick
user7064
fonte
fonte
Respostas:
Núcleo linear: O efeito aqui é semelhante ao da multicolinearidade na regressão linear. Seu modelo aprendido pode não ser particularmente estável contra pequenas variações no conjunto de treinamento, porque diferentes vetores de peso terão resultados semelhantes. As previsões do conjunto de treinamento, no entanto, serão razoavelmente estáveis, e também testarão as previsões se vierem da mesma distribuição.
Kernel RBF: O kernel RBF apenas analisa as distâncias entre os pontos de dados. Portanto, imagine que você tenha 11 atributos, mas um deles é repetido 10 vezes (um caso bastante extremo). Então esse atributo repetido contribuirá 10 vezes mais para a distância que qualquer outro atributo, e o modelo aprendido provavelmente será muito mais impactado por esse recurso.
Uma maneira simples de descontar correlações com um kernel RBF é usar a distância de Mahalanobis: , em que é um estimativa da matriz de covariância da amostra. Equivalentemente, mapeie todos os seus vetores para e use o kernel RBF regular, onde é tal que , por exemplo, a decomposição de Cholesky . SxCxCS - 1 =CTCS - 1d(x,y)=(x−y)TS−1(x−y)−−−−−−−−−−−−−−−√ S x Cx C S−1=CTC S−1
fonte