Vantagens e desvantagens do SVM

18

Alguém pode me explicar vantagens e desvantagens da classificação SVM que a distingue de outros classificadores?

lakesh
fonte
3
Em que contexto? Para qual propósito? Com que tipo de SVM? Para que tipo de dados?

Respostas:

33

Existem quatro vantagens principais: Primeiro, ele possui um parâmetro de regularização, o que faz o usuário pensar em evitar o excesso de ajuste. Em segundo lugar, ele usa o truque do kernel, para que você possa adquirir conhecimento especializado sobre o problema através da engenharia do kernel. Terceiro, um SVM é definido por um problema de otimização convexa (sem mínimos locais) para o qual existem métodos eficientes (por exemplo, SMO). Por fim, trata-se de uma aproximação a um limite na taxa de erro de teste e existe um corpo substancial de teoria por trás disso, o que sugere que deve ser uma boa idéia.

As desvantagens são que a teoria realmente cobre apenas a determinação dos parâmetros para um determinado valor dos parâmetros de regularização e kernel e a escolha do kernel. De certa forma, o SVM move o problema do ajuste excessivo da otimização dos parâmetros para a seleção do modelo. Infelizmente, os modelos de kernel podem ser bastante sensíveis ao ajuste excessivo do critério de seleção de modelo, consulte

GC Cawley e NLC Talbot, excesso de ajuste na seleção de modelos e viés de seleção subsequente na avaliação de desempenho, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, julho de 2010. ( pdf )

Observe, porém, que esse problema não é exclusivo dos métodos do kernel, a maioria dos métodos de aprendizado de máquina tem problemas semelhantes. A perda de dobradiça usada no SVM resulta em esparsidade. No entanto, geralmente a escolha ideal dos parâmetros do kernel e da regularização significa que todos os dados são vetores de suporte. Se você realmente deseja uma máquina de kernel esparsa, use algo que foi projetado para ser esparso desde o início (em vez de ser um subproduto útil), como a Máquina de Vetor Informativa. A função de perda usada para a regressão do vetor de suporte não possui uma interpretação estatística óbvia, geralmente o conhecimento especializado do problema pode ser codificado na função de perda, por exemplo, Poisson, Beta ou Gaussian. Da mesma forma, em muitos problemas de classificação, você realmente deseja a probabilidade de pertencer à classe,

Isso é tudo o que consigo pensar de imediato.

Dikran Marsupial
fonte
E os desafios para as dificuldades de classificação de classes múltiplas com SVMs?
Vass
1
@Vaas bom ponto, no passado, eu usei o algoritmo DAGSVM e achei que era bastante eficaz. Os problemas de várias classes não parecem ter uma solução tão elegante na estrutura do SVM; a regressão logística do kernel de várias classes provavelmente seria a abordagem mais semelhante que permaneceu "elegante".
Dikran Marsupial