Muitos autores de artigos que li afirmam que os SVMs são uma técnica superior para enfrentar seu problema de regressão / classificação, cientes de que não puderam obter resultados semelhantes por meio de NNs. Frequentemente, a comparação afirma que
SVMs, em vez de NNs,
- Tenha uma forte teoria fundadora
- Alcance o melhor global devido à programação quadrática
- Não há problema em escolher um número adequado de parâmetros
- São menos propensas a sobreajuste
- Precisa de menos memória para armazenar o modelo preditivo
- Obtenha resultados mais legíveis e uma interpretação geométrica
É seriamente um pensamento amplamente aceito? Não cite o Teorema do Almoço Não Gratuito ou declarações semelhantes, minha pergunta é sobre o uso prático dessas técnicas.
Por outro lado, que tipo de problema abstrato você definitivamente enfrentaria com o NN?
machine-learning
svm
neural-networks
stackovergio
fonte
fonte
Respostas:
É uma questão de trade-offs. SVMs estão no agora, NNs costumavam ser no . Você encontrará um número crescente de artigos que reivindicam florestas aleatórias, modelos gráficos probabilísticos ou métodos bayesianos não paramétricos . Alguém deve publicar um modelo de previsão nos Anais da Pesquisa Improvável sobre quais modelos serão considerados modernos.
Dito isto, para muitos problemas supervisionados notoriamente difíceis, os modelos únicos com melhor desempenho são algum tipo de NN, algum tipo de SVMs ou um método de descida de gradiente estocástico específico do problema implementado usando métodos de processamento de sinal.
Prós da NN:
Prós da SVM:
Menos hiperparâmetros. Geralmente, os SVMs exigem menos pesquisa na grade para obter um modelo razoavelmente preciso. O SVM com um kernel RBF geralmente funciona muito bem.
Ótima global garantida.
Contras de NN e SVM:
fonte
A resposta para sua pergunta está na minha experiência "não", os SVMs não são definitivamente superiores e o que funciona melhor depende da natureza do conjunto de dados em questão e da habilidade relativa do operador em cada conjunto de ferramentas. Em geral, os SVMs são bons porque o algoritmo de treinamento é eficiente e possui um parâmetro de regularização, o que obriga a pensar em regularização e ajuste excessivo. No entanto, existem conjuntos de dados em que os MLPs oferecem desempenho muito melhor que os SVMs (pois eles podem decidir sua própria representação interna, em vez de tê-la pré-especificada pela função do kernel). Uma boa implementação de MLPs (por exemplo, NETLAB) e regularização ou parada antecipada ou seleção de arquitetura (ou melhor ainda, os três) geralmente podem fornecer resultados muito bons e podem ser reproduzíveis (pelo menos em termos de desempenho).
A seleção de modelo é o principal problema dos SVMs. A escolha do kernel e a otimização dos parâmetros de kernel e regularização podem levar a um ajuste excessivo severo se você otimizar o critério de seleção de modelo. Embora a teoria que sustenta o SVM seja um conforto, a maioria se aplica apenas a um kernel fixo, portanto, assim que você tenta otimizar os parâmetros do kernel, ele não se aplica mais (por exemplo, o problema de otimização a ser resolvido no ajuste do kernel) geralmente não é convexa e pode ter mínimos locais).
fonte
Vou apenas tentar explicar minha opinião que parecia ser compartilhada pela maioria dos meus amigos. Tenho as seguintes preocupações sobre NN que não são sobre SVM:
Isso não significa que você não deve usar o NN, apenas deve usá-lo com cuidado. Por exemplo, o NN Convolucional pode ser extremamente bom para o processamento de imagens, enquanto outros Deep NN também se mostraram bons para outros problemas.
Espero que ajude.
fonte
Estou usando redes neurais para a maioria dos problemas. O ponto é que, na maioria dos casos, é mais sobre a experiência do usuário do que sobre o modelo. Aqui estão algumas razões pelas quais eu gosto de NNs.
Analisarei seus outros pontos passo a passo.
Eu diria que os NNs são igualmente fortes nesse caso: desde que você os treine em uma estrutura probabilística. Isso possibilita o uso de priores e um tratamento bayesiano (por exemplo, com técnicas variacionais ou aproximações).
Para um conjunto de hiperparâmetros. No entanto, a busca por bons hps não é convexa e você não saberá se também encontrou o ideal global.
Com os SVMs, você também deve selecionar hiper parâmetros.
Você precisa armazenar os vetores de suporte. Em geral, os SVMs não serão mais baratos para armazenar MLPs, dependendo do caso.
A camada superior de um MLP é uma regressão logística no caso de classificação. Assim, há uma interpretação geométrica (separando o hiperplano) e uma interpretação probabilística também.
fonte
De certa forma, essas duas grandes categorias de técnicas de aprendizado de máquina estão relacionadas. Embora não seja perfeito, dois artigos que achei úteis para mostrar as semelhanças nessas técnicas estão abaixo
e
fonte