Quando o Naive Bayes tem um desempenho melhor que o SVM?

17

Em um pequeno problema de classificação de texto que eu estava olhando, o Naive Bayes exibia um desempenho semelhante ou superior a um SVM e fiquei muito confuso.

Eu queria saber quais fatores decidem o triunfo de um algoritmo sobre o outro. Existem situações em que não faz sentido usar o Naive Bayes sobre SVMs? Alguém pode esclarecer isso?

lenda
fonte
1
Siga este link para um tutorial interessante
q12

Respostas:

27

Não existe uma resposta única sobre qual é o melhor método de classificação para um determinado conjunto de dados . Diferentes tipos de classificadores devem sempre ser considerados para um estudo comparativo em um determinado conjunto de dados. Dadas as propriedades do conjunto de dados, você pode ter algumas dicas que podem dar preferência a alguns métodos. No entanto, ainda seria aconselhável experimentar com todos, se possível.

O Naive Bayes Classifier (NBC) e o Support Vector Machine (SVM) têm opções diferentes, incluindo a escolha da função do kernel para cada um. Ambos são sensíveis à otimização de parâmetros (ou seja, a seleção de parâmetros diferentes pode alterar significativamente sua saída) . Portanto, se você tiver um resultado mostrando que a NBC está executando melhor que o SVM. Isso é válido apenas para os parâmetros selecionados. No entanto, para outra seleção de parâmetro, você pode achar que o SVM está executando melhor.

Em geral, se a suposição de independência na NBC for satisfeita pelas variáveis ​​do seu conjunto de dados e o grau de sobreposição de classe for pequeno (isto é, limite potencial de decisão linear), seria esperado que a NBC obtivesse um bom resultado. Para alguns conjuntos de dados, com otimização usando a seleção de recursos do wrapper, por exemplo, a NBC pode derrotar outros classificadores. Mesmo que atinja um desempenho comparável, a NBC será mais desejável devido à sua alta velocidade.

Em resumo, não devemos preferir nenhum método de classificação se superar outros em um contexto, pois pode falhar gravemente em outro. ( ISSO É NORMAL EM PROBLEMAS DE MINERAÇÃO DE DADOS ).

soufanom
fonte
7
(+1) Também chamado de teorema do almoço grátis . Porém, eu não concordo completamente com a comparação de sensibilidade dos parâmetros (a Single Decision Tree é uma das abordagens mais sensíveis do IMHO), mas não devemos discutir sobre isso aqui :).
Steffen
@ steffen, obrigado pelo seu comentário valioso. Existem muitas maneiras diferentes de otimizar os modelos e concordo que não podemos generalizar qual modelo é mais senesitivo em todos os casos. Para a seleção de recursos, a TD é provavelmente menos sensível que a NBC, mas pode não ser o caso em geral. Editarei a resposta para considerar seu comentário e, se desejar, você também poderá editá-lo. Muito obrigado :).
soufanom
3
+1 para o comentário sobre a sensibilidade do parâmetro. Também é importante notar que grande parte da teoria subjacente aos SVMs se aplica a modelos com um kernel fixo, assim que você tenta otimizar os hiperparâmetros (o que deve ser feito e feito com cuidado), grande parte da base teórica não se aplica mais.
Dikran Marsupial