Reti neurali vs macchine vettoriali di supporto: il secondo è decisamente superiore?


52

Molti autori di articoli che leggo affermano che le SVM sono tecniche superiori per affrontare il loro problema di regressione / classificazione, consapevoli di non poter ottenere risultati simili attraverso le NN. Spesso il confronto afferma che

SVM, anziché NN,

  • Avere una forte teoria fondante
  • Raggiungi l'ottimale globale grazie alla programmazione quadratica
  • Non avere problemi per la scelta di un numero adeguato di parametri
  • Sono meno inclini al sovradimensionamento
  • Richiede meno memoria per archiviare il modello predittivo
  • Ottieni risultati più leggibili e un'interpretazione geometrica

È davvero un pensiero ampiamente accettato? Non citare il teorema del pranzo senza libertà o dichiarazioni simili, la mia domanda riguarda l'uso pratico di queste tecniche.

Dall'altro lato, che tipo di problema astratto affronteresti sicuramente con NN?


4
Penso che la domanda potrebbe essere un po 'ampia. Ma in pratica gli NN sembrano essere molto più sintonizzabili con la scelta della struttura NN, mentre gli SVM hanno meno parametri. Ci sono due domande, se un NN fosse impostato in modo ottimale per risolvere un problema come andrebbe contro SVM? E nelle mani del professionista medio, come si confronta SVM con NN?
Patrick Caldon,

2
@PatrickCaldon Capisco il tuo punto di vista, ma più parametri da affrontare non significano sempre uno strumento migliore, se non sai come configurarli in modo adeguato. Anche se possibile, potrebbe essere necessario un lungo studio; oppure, potrebbe non essere necessario così ampio tunability per lo scopo della vostra applciation
stackovergio

1
questo è il mio punto. Quale domanda come funziona lo strumento in circostanze ideali su problemi particolari? o come funziona lo strumento per la maggior parte delle persone la maggior parte del tempo? Penso che il componente più grande qui sia la persona tra parentesi. Per questo motivo penso che i fattori rilevanti siano spesso: quanto è difficile imparare ogni strumento? Ci sono esperti in giro che sanno come usarlo? ecc. Questo può spiegare molto "Ho ottenuto buone prestazioni da X"
Patrick Caldon,

1
Da quello che so, ANN feedforward multistrato sono approssimatori universali più o meno indipendentemente dalla funzione di attivazione. Non sono a conoscenza di un risultato simile per SVM che dipende molto più dalle mie conoscenze sulla funzione del kernel utilizzata.
Momo,

2
Nell'uso pratico, trovo le NN un po 'più pratiche a causa del tempo di allenamento. Le SVM non lineari non sono in grado di gestire molto bene N di grandi dimensioni. Entrambi gli algoritmi possono sovraccaricare ed entrambi necessitano di una forte regolarizzazione.
Shea Parkes,

Risposte:


43

È una questione di compromessi. SVM sono in questo momento, NNs usato per essere in . Troverai un numero crescente di articoli che affermano che sono presenti foreste casuali, modelli grafici probabilistici o metodi bayesiani non parametrici . Qualcuno dovrebbe pubblicare un modello di previsione negli Annali della ricerca improbabile su quali modelli saranno considerati alla moda.

Detto questo, per molti problemi supervisionati notoriamente difficili, i singoli modelli con le migliori prestazioni sono un tipo di NN, un tipo di SVM o un metodo di discesa gradiente stocastico specifico del problema implementato usando metodi di elaborazione del segnale.


Pro di NN:

  • Sono estremamente flessibili nei tipi di dati che possono supportare. Le NN svolgono un lavoro dignitoso nell'apprendimento delle funzionalità importanti praticamente da qualsiasi struttura di dati, senza dover derivare manualmente funzionalità.
  • NN trarrà comunque vantaggio dall'ingegnerizzazione delle caratteristiche, ad es. Se si dispone di lunghezza e larghezza è necessario disporre di una funzione di area. Il modello funzionerà meglio per lo stesso sforzo computazionale.

  • La maggior parte dell'apprendimento automatico supervisionato richiede che i dati siano strutturati in osservazioni per matrice di caratteristiche, con le etichette come vettore di osservazioni di lunghezza. Questa restrizione non è necessaria con NN. C'è un lavoro fantastico con SVM strutturato, ma è improbabile che sia mai flessibile come le NN.


Pro di SVM:

  • Meno iperparametri. In genere gli SVM richiedono meno ricerche in griglia per ottenere un modello ragionevolmente accurato. SVM con un kernel RBF di solito funziona abbastanza bene.

  • Ottimale globale garantito.


Contro di NN e SVM:

  • Per la maggior parte sono entrambe scatole nere. Esistono alcune ricerche sull'interpretazione degli SVM, ma dubito che sarà mai così intuitivo come i GLM. Questo è un problema serio in alcuni domini problematici.
  • Se accetti una scatola nera, di solito puoi spremere un po 'più di precisione insaccando / impilando / potenziando molti molti modelli con diversi compromessi.

    • Le foreste casuali sono attraenti perché possono produrre previsioni out-of-bag (predizioni di esclusione) senza alcuno sforzo aggiuntivo, sono molto interpretabili, hanno un buon compromesso di bias-varianza (ottimo per i modelli di insaccamento) e hanno sono relativamente robusti rispetto al bias di selezione. Stupidamente semplice scrivere un'implementazione parallela di.

    • I modelli grafici probabilistici sono interessanti perché possono incorporare la conoscenza specifica del dominio direttamente nel modello e sono interpretabili a questo proposito.

    • I metodi bayesiani non parametrici (o veramente estremamente parametrici) sono attraenti perché producono direttamente intervalli di confidenza. Si comportano molto bene su campioni di piccole dimensioni e molto bene su campioni di grandi dimensioni. Stupidamente semplice scrivere un'implementazione algebrica lineare di.


41
Con la recente ascesa del deep learning, le NN possono essere considerate "più" rispetto alle SVM, direi.
Bayerj,

30

La risposta alla tua domanda è nella mia esperienza "no", le SVM non sono decisamente superiori e il funzionamento migliore dipende dalla natura del set di dati a portata di mano e dalla relativa abilità dell'operatore con ciascun set di strumenti. In generale, le SVM sono buone perché l'algoritmo di training è efficiente e ha un parametro di regolarizzazione, che ti costringe a pensare alla regolarizzazione e all'adattamento eccessivo. Tuttavia, ci sono set di dati in cui le MLP offrono prestazioni molto migliori rispetto alle SVM (poiché sono autorizzate a decidere la propria rappresentazione interna, anziché averle pre-specificate dalla funzione kernel). Una buona implementazione di MLP (ad es. NETLAB) e la regolarizzazione o l'arresto anticipato o la selezione dell'architettura (o meglio ancora tutte e tre) possono spesso dare ottimi risultati ed essere riproducibili (almeno in termini di prestazioni).

La selezione del modello è il problema principale con le SVM, la scelta del kernel e l'ottimizzazione del kernel e i parametri di regolarizzazione possono spesso portare a un grave sovra-adattamento se si ottimizza eccessivamente il criterio di selezione del modello. Mentre la teoria alla base del SVM è un conforto, la maggior parte si applica solo a un kernel fisso, quindi non appena si tenta di ottimizzare i parametri del kernel non si applica più (ad esempio il problema di ottimizzazione da risolvere nell'ottimizzazione del kernel è generalmente non convesso e può anche avere minimi locali).


7
Sono pienamente d'accordo con questo. Attualmente sto addestrando SVM e ANN sui dati dell'interfaccia cervello-computer e ci sono alcuni set di dati in cui gli SVM sono migliori e alcuni set di dati in cui le ANN sono migliori. La cosa interessante è: quando faccio una media delle prestazioni su tutti i set di dati che sto usando, SVM e ANN raggiungono esattamente le stesse prestazioni. Certo, questa non è una prova. È solo un aneddoto. :)
alfa,

27

Cercherò solo di spiegare la mia opinione che sembrava essere condivisa dalla maggior parte dei miei amici. Ho le seguenti preoccupazioni su NN che non riguardano affatto SVM:

  1. In un NN classico, la quantità di parametri è enormemente alta. Supponiamo che tu abbia i vettori della lunghezza 100 che vuoi classificare in due classi. Un livello nascosto delle stesse dimensioni di un livello di input ti porterà a oltre 100000 parametri gratuiti. Immagina quanto male riesci a vestirti eccessivamente (quanto è facile cadere al minimo locale in un tale spazio) e quanti punti di allenamento ti serviranno per impedirlo (e quanto tempo dovrai allenarti in quel momento).
  2. Di solito devi essere un vero esperto per scegliere la topologia a colpo d'occhio. Ciò significa che se vuoi ottenere buoni risultati devi eseguire molti esperimenti. Ecco perché è più facile usare SVM e dire che non è possibile ottenere risultati simili con NN.
  3. Di solito i risultati NN non sono riproducibili. Anche se esegui il tuo allenamento NN due volte, probabilmente otterrai risultati diversi a causa della casualità di un algoritmo di apprendimento.
  4. Di solito non hai alcuna interpretazione dei risultati. Questa è una piccola preoccupazione, ma comunque.

Ciò non significa che non dovresti usare NN, dovresti semplicemente usarlo con attenzione. Ad esempio, NN convoluzionale può essere estremamente buono per l'elaborazione delle immagini, altri NN profondi si sono dimostrati utili anche per altri problemi.

Spero che possa aiutare.


2
Per rendere riproducibili i risultati ANN, eseguire il seeding della funzione casuale.
Franck Dernoncourt,

@Franck Non è una vera riproducibilità.
sanità mentale

17

Sto usando le reti neurali per la maggior parte dei problemi. Il punto è che nella maggior parte dei casi si tratta più dell'esperienza dell'utente che del modello. Ecco alcuni motivi per cui mi piacciono gli NN.

  1. Sono flessibili. Posso lanciare la perdita che voglio loro: perdita della cerniera, quadrata, entropia incrociata, tu la chiami. Finché è differenziabile, posso anche progettare una perdita che si adatti esattamente alle mie esigenze.
  2. Possono essere trattati probabilisticamente: reti neurali bayesiane, bayes variazionali, MLE / MAP, tutto è lì. (Ma in alcuni casi più difficile.)
  3. Sono veloci La maggior parte delle MLP avrà due moltiplicazioni di matrice e una componente di non linearità applicata nel mezzo. Batti quello con un SVM.

Esaminerò gli altri punti passo dopo passo.

Avere una forte teoria fondante

Direi che le NN sono ugualmente forti in quel caso: dal momento che le alleni in un quadro probabilistico. Ciò rende possibile l'uso di priori e un trattamento bayesiano (ad es. Con tecniche variazionali o approssimazioni).

Raggiungi l'ottimale globale grazie alla programmazione quadratica

Per un set di iperparametri. Tuttavia, la ricerca di buoni hps non è convessa e non saprai se hai trovato anche l'ottimale globale.

Non avere problemi per la scelta di un numero adeguato di parametri

Con gli SVM, devi selezionare anche i parametri iper.

Richiede meno memoria per archiviare il modello predittivo

È necessario memorizzare i vettori di supporto. Gli SVM non saranno in genere più economici per archiviare le MLP, dipende dal caso.

Ottieni risultati più leggibili e un'interpretazione geometrica

Lo strato superiore di un MLP è una regressione logistica nel caso della classificazione. Pertanto, esiste un'interpretazione geometrica (che separa l'iperpiano) e anche un'interpretazione probabilistica.


Perché devo memorizzare i vettori di supporto? Non è sufficiente memorizzare l'hyperplane / maring di SVM?
Julian,

Questo perché l'iper-piano è rappresentato attraverso i vettori di supporto. Per calcolare la distanza di un nuovo punto da esso, farai iteratore su quelli.
Bayerj,

0

In un certo senso queste due grandi categorie di tecniche di apprendimento automatico sono correlate. Sebbene non perfetti, due articoli che ho trovato utili nel mostrare le somiglianze in queste tecniche sono di seguito

Ronan Collobert e Samy Bengio. 2004. Collegamenti tra percetroni, MLP e SVM. In Atti della ventunesima conferenza internazionale sull'apprendimento automatico (ICML '04). ACM, New York, NY, USA, 23-. DOI: https://doi.org/10.1145/1015330.1015415

e

Andras, Peter. (2002). L'equivalenza della macchina vettoriale di supporto e delle reti neurali di regolarizzazione. Lettere di elaborazione neurale. 15. 97-104. 10,1023 / A: 1.015.292,818897 millions.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.