Por que é desejável ter separabilidade linear no SVM?

8

insira a descrição da imagem aqui

Consulte a imagem acima, claramente um círculo pode separar as duas classes (imagem à esquerda). Por que se esforçar tanto para mapeá-lo para uma função para torná-lo linearmente separável (imagem à direita)?

Alguém pode explicar? Eu realmente não consegui encontrar nada na Web ou no YouTube sobre o porquê

vinita
fonte

Respostas:

5

Bem, essa é a idéia por trás das máquinas de vetores de suporte! O svm está procurando por um hiperplano que separa as classes (por que o nome), e é claro que isso pode ser feito de maneira mais eficaz se os pontos forem linearmente separáveis ​​(isso não é um ponto profundo, é um resumo da idéia completa). No exemplo que você mostra, o ponto está em anéis anulares concêntricos, que não podem ser separados por nenhum plano, mas ao introduzir uma nova variável RADIUS - distância do centro - você obtém uma separação linear completa.

kjetil b halvorsen
fonte
Você quer dizer que a separabilidade linear das classes é melhor / mais fácil do que a separabilidade não linear?
vinita 31/07
1
As classes podem ser separáveis ​​de maneira não linear em um número infinito de maneiras; portanto, a separação linear é claramente mais fácil de lidar! E, essa é a idéia completa atrás SVM, de modo que eles funcionam melhor para dados que estejam em conformidade com as asumptions por trás do método deve ser uma surpresa ...
b Kjetil Halvorsen
@kjetilbhalvorsen Acho que a principal idéia por trás do SVM é o truque do kernel para economizar tempo para o cálculo. Mas não "usando expansão de base polinomial".
Haitao Du
1
@ hdx1101 - O truque do kernel viabiliza muitas coisas, computacionalmente, mas isso é um grande benefício para a implementação, não a idéia por trás do próprio método.
31417 jbowman
2

Por que é desejável ter separabilidade linear no SVM?

SVCs são inerentemente uma técnica linear. Eles encontram limites lineares separando (da melhor maneira possível) diferentes classes. Se não houver um limite linear natural para o problema, as opções são usar uma técnica diferente ou usar SVCs com recursos transformados em um espaço onde realmente existe um limite linear.

Consulte a imagem acima, claramente um círculo pode separar as duas classes (imagem à esquerda). Por que se esforçar tanto para mapeá-lo para uma função para torná-lo linearmente separável (imagem à direita)?

Este é um exemplo clássico. As classes de dados são separadas por um círculo, mas um SVC não pode encontrar círculos diretamente. No entanto, se os dados forem transformados usando uma função de base radial , no espaço resultante, as classes serão separadas por um limite linear.

Ami Tavory
fonte
0

Não responda diretamente à sua pergunta, mas,

É importante ter em mente a diferença entre expansão de base e método Kernel / SVM .

  • Podemos "expandir dados" usando a expansão básica de diferentes maneiras. Por exemplo, expansão polinomial, splines, séries de Fourier, etc. Essa expansão básica tem pouco a ver com SVM, truque do kernel.

  • O SVM com kernel polinomial fornece maneiras de "efeito computacional" para fazer a expansão da base polinomial. Truque do Kernel de pesquisa para obter detalhes.

Haitao Du
fonte
-1

Você está certo. Quando o campo diz "separável linearmente", significa que os dados devem ser "diferenciáveis": existe uma função de filtragem que você pode sobrepor ao conjunto de dados para criar dois ou mais agrupamentos distintos (com alguma pequena tolerância a erros).

Isso é tudo. Mas você deve apontar para os acadêmicos para limpar seu idioma.

Marcos
fonte