A relação entre o número de vetores de suporte e o número de recursos


12

Executei um SVM em um determinado conjunto de dados e fiz a seguinte observação: Se eu alterar o número de recursos para a construção do classificador, o número de vetores de suporte resultantes também será alterado.

Eu gostaria de saber como explicar esse tipo de cenário.


Qual era o tipo e o estilo desses recursos extras? Onde elas se parecem com as variantes dos recursos existentes ou com alguns recursos mais novos que você pensou que poderiam ter um poder de resolução extra?
Philip Oakley

Este é um problema de classificação de documentos, e os recursos extras são apenas palavras. Eu usei o unigram para criar espaço de recurso.
user3269

Dada a resposta de @ marc, que foi a mudança, o número de vetores aumentou com o número de recursos ou o contrário.
Philip Oakley

@Phillip, minha resposta original estava errada. Eu acho que a resposta editada é precisa agora.
Marc Shivers

Respostas:


13

Se você observar o problema de otimização que o SVM resolve:

minW,ξ,b{12__W__2+CEu=1nξEu}

r yEu(WxEu-b)1-ξEu,    ξEu0 0,Eu=1,...n

xEuξEu>0 0

Wj=0 0j

Quando você compara esses dois problemas de otimização e trabalha com a matemática, verifica-se que não há uma relação difícil entre o número de recursos e o número de vetores de suporte. Poderia ir de qualquer jeito.

É útil pensar em um caso simples. Imagine um caso de 2 dim onde suas características negativas e positivas estão agrupadas em torno de (-1, -1) e (1,1), respectivamente, e são separáveis ​​com um hiperplano de separação diagonal com 3 vetores de suporte. Agora imagine abandonar o recurso do eixo y, para que seus dados agora sejam projetados no eixo x. Se os dados ainda estiverem separáveis, digamos em x = 0, você provavelmente terá apenas dois vetores de suporte, um de cada lado, portanto, adicionar o recurso y aumentaria o número de vetores de suporte. No entanto, se os dados não forem mais separáveis, você obterá pelo menos um vetor de suporte para cada ponto do lado errado de x = 0; nesse caso, adicionar o recurso y reduziria o número de vetores de suporte.

Portanto, se essa intuição estiver correta, se você estiver trabalhando em espaços de recursos de alta dimensão ou usando um kernel que mapeia para um espaço de recursos de alta dimensão, é mais provável que seus dados sejam separáveis, portanto, a adição de um recurso tenderá a para adicionar outro vetor de suporte. Considerando que, se seus dados não estiverem separáveis ​​no momento e você adicionar um recurso que melhore significativamente a separabilidade, é mais provável que você veja uma diminuição no número de vetores de suporte.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.