Como sugere a highBandwidth, depende se você está usando um SVM linear ou não linear (sendo pedante se um kernel não for usado, é um classificador linear de margem máxima em vez de um SVM).
Um classificador linear de margem máxima não é diferente de qualquer outro classificador linear, pois se o processo de geração de dados significa que há interações entre os atributos, fornecer esses termos de interação provavelmente melhorará o desempenho. O classificador linear de margem máxima é semelhante à regressão de crista, com uma pequena diferença no termo de penalidade que é projetado para evitar o super ajuste (dados adequados para o parâmetro de regularização) e, na maioria dos casos, a regressão de crista e o classificador de margem máxima proporcionam desempenho semelhante.
Se você acha que os termos de interação provavelmente são importantes, pode introduzi-los no espaço de recursos de um SVM usando o kernel polinomial , o que fornecerá um espaço de característica em que cada eixo representa um monômio de ordem d ou menor, o parâmetro c afeta a ponderação relativa de monômios de ordens diferentes. Portanto, um SVM com um kernel polinomial é equivalente a ajustar um modelo polinomial no espaço de atributo, que incorpora implicitamente essas interações.K(x,x′)=(x⋅x′+c)ddc
Dadas as características suficientes, qualquer classificador linear pode ajustar trivialmente os dados. IIRC e pontos na "posição geral" em um n - 1nn−1o espaço dimensional pode ser quebrado (separado de qualquer maneira arbitrária) por um hiperplano (cf dimensão VC). Fazer isso geralmente resultará em excesso de ajuste e, portanto, deve ser evitado. O ponto da classificação máxima da margem é limitar esse ajuste excessivo adicionando um termo de penalidade que significa que a maior separação possível é alcançada (o que exigiria o maior desvio de qualquer exemplo de treinamento para produzir uma classificação incorreta). Isso significa que você pode transformar os dados em um espaço dimensional muito alto (onde um modelo linear é muito poderoso) sem incorrer em excesso de ajuste.
Observe que alguns núcleos dão origem a um espaço de recurso dimensional infinito, onde é garantida uma classificação "trivial" para qualquer amostra de treinamento finito em posição geral. Por exemplo, o núcleo da função de base radial, , em que o espaço de feição é o ponto positivo de uma hiperesfera dimensional infinita. Esses kernels tornam o SVM um aproximador universal, que pode representar essencialmente qualquer limite de decisão.K(x,x′)=exp−γ∥x−x′∥2
No entanto, isso é apenas parte da história. Na prática, geralmente usamos um SVM de margem flexível, onde a restrição de margem pode ser violada, e há um parâmetro de regularização que controla o trade-off entre maximizar a margem (que é um termo de penalidade, semelhante ao usado em regressão de crista) e a magnitude das variáveis de folga (que é semelhante à perda na amostra de treinamento). Em seguida, evitamos o ajuste excessivo ajustando o parâmetro regularsation, por exemplo, minimizando o erro de validação cruzada (ou algum vinculado ao erro deixar de fora), exatamente como faríamos no caso de regressão de crista.
Portanto, embora o SVM possa classificar trivialmente o conjunto de treinamento, geralmente o fará apenas se os parâmetros de regularização e kernel forem mal escolhidos. A chave para alcançar bons resultados com qualquer modelo de kernel está na escolha de um kernel apropriado e, em seguida, no ajuste do kernel e nos parâmetros de regularização para evitar o excesso ou a falta de ajuste dos dados.