Ao usar a máquina de vetores de suporte, existem diretrizes para escolher o kernel linear versus o não linear, como o RBF? Certa vez, ouvi dizer que o kernel não linear tende a não ter um bom desempenho quando o número de recursos é grande. Há alguma referência sobre esse problema?
45
Respostas:
Geralmente, a decisão é usar o kernel linear ou um RBF (também conhecido como Gaussiano). Existem dois fatores principais a serem considerados:
Foi demonstrado que o kernel linear é uma versão degenerada do RBF ; portanto, o kernel linear nunca é mais preciso do que um kernel RBF ajustado corretamente. Citando o resumo do artigo que vinculei:
Uma regra básica é abordada brevemente no guia prático da NTU para apoiar a classificação de vetores (Apêndice C).
Sua conclusão é mais ou menos certa, mas você tem o argumento ao contrário. Na prática, o kernel linear tende a ter um desempenho muito bom quando o número de recursos é grande (por exemplo, não há necessidade de mapear para um espaço de recurso dimensional ainda mais alto). Um exemplo típico disso é a classificação de documentos, com milhares de dimensões no espaço de entrada.
Nesses casos, os núcleos não lineares não são necessariamente significativamente mais precisos que os lineares. Isso basicamente significa que os kernels não lineares perdem seu apelo: eles exigem muito mais recursos para treinar com pouco ou nenhum ganho no desempenho preditivo, então por que se preocupar?
TL; DR
Sempre tente linear primeiro, pois é muito mais rápido treinar (teste AND). Se a precisão for suficiente, dê um tapinha nas costas por um trabalho bem feito e passe para o próximo problema. Caso contrário, tente um kernel não linear.
fonte
Andrew Ng fornece uma boa explicação geral neste vídeo a partir das 14:46, embora valha a pena assistir o vídeo inteiro.
Pontos chave
fonte