O que acontece quando treinamos um SVM linear em dados não linearmente separáveis?

11

O que acontece quando treinamos uma máquina de vetores de suporte básico (kernel linear e sem margem flexível) em dados não linearmente separáveis? O problema de otimização não é viável, então o que o algoritmo de minimização retorna?

SVM
fonte

Respostas:

11

Eu acho que a máquina de vetores de suporte básico significa SVM de margem rígida. Então, vamos revisar:

O que é um SVM de margem rígida

Em resumo, queremos encontrar um hiperplano com a maior margem que possa separar todas as observações corretamente em nosso espaço de amostra de treinamento.

O problema de otimização no SVM de margem rígida

Dada a definição acima, qual é o problema de otimização que precisamos resolver?

  1. O maior hiperplano de margem: queremos max(margin)
  2. Consiga separar todas as observações corretamente: precisamos otimizar margine também satisfazer a restrição: sem erros na amostra

O que acontece quando treinamos um SVM linear em dados não linearmente separáveis?

De volta à sua pergunta, como você mencionou que o conjunto de dados de treinamento não é separável linearmente, usando o SVM de margem rígida sem transformações de recursos, é impossível encontrar um hiperplano que atenda a "Nenhum erro na amostra" .

Normalmente, resolvemos o problema de otimização do SVM pela programação quadrática, porque ele pode executar tarefas de otimização com restrições. Se você usar o Gradient Descent ou outros algoritmos de otimização que, sem satisfazer as restrições do SVM de margem rígida, ainda deverá obter um resultado, mas esse não é um hiperplano SVM de margem rígida.

A propósito, com dados não linearmente separáveis, geralmente escolhemos

  • transformações de recurso SVM + de margem fixa
  • use o SVM de margem suave diretamente (na prática, o SVM de margem suave geralmente obtém bons resultados)
fansia
fonte
obrigado pela sua resposta. Portanto, os pacotes SVM em, por exemplo, R ou Python, não usam métodos de programação quadrática quando os dados são separáveis ​​de maneira não linear?
SVM
Não tenho certeza sobre quais bibliotecas svm você usa. Eu uso libsvm e diferentes ferramentas svm podem usar diferentes solucionadores svm. Encontrar melhores solucionadores svm é outro tópico de pesquisa. QP é a maneira básica de resolver o svm.
fansia