Vantaggi e svantaggi di SVM


18

Qualcuno può spiegarmi i vantaggi e gli svantaggi della classificazione SVM che la distingue dagli altri classificatori?


3
In quale contesto? Per quale scopo? Con che tipo di SVM? Per quale tipo di dati?

Risposte:


33

Ci sono quattro vantaggi principali: in primo luogo ha un parametro di regolarizzazione, che fa pensare all'utente di evitare un eccesso di adattamento. In secondo luogo utilizza il trucco del kernel, quindi è possibile acquisire conoscenze specialistiche sul problema tramite la progettazione del kernel. In terzo luogo, un SVM è definito da un problema di ottimizzazione convessa (nessun minimo locale) per il quale esistono metodi efficienti (ad es. SMO). Infine, si tratta di un'approssimazione a un limite al tasso di errore del test e c'è un corpus sostanziale di teoria che suggerisce che dovrebbe essere una buona idea.

Gli svantaggi sono che la teoria copre solo la determinazione dei parametri per un dato valore della regolarizzazione e dei parametri del kernel e la scelta del kernel. In un certo senso l'SVM sposta il problema dell'over-fitting dall'ottimizzazione dei parametri alla selezione del modello. Purtroppo i modelli del kernel possono essere abbastanza sensibili all'adattamento eccessivo del criterio di selezione del modello, vedi

GC Cawley e NLC Talbot, Over-fitting nella selezione dei modelli e conseguente bias nella selezione delle prestazioni, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, luglio 2010. ( pdf )

Si noti tuttavia che questo problema non è univoco per i metodi del kernel, la maggior parte dei metodi di apprendimento automatico presenta problemi simili. La perdita della cerniera utilizzata nell'SVM provoca scarsità. Tuttavia, spesso la scelta ottimale dei parametri del kernel e della regolarizzazione implica che tutti i dati siano vettori di supporto. Se vuoi davvero una macchina kernel sparsa, usa qualcosa che è stato progettato per essere sparso fin dall'inizio (piuttosto che essere un sottoprodotto utile), come l'Informative Vector Machine. La funzione di perdita utilizzata per la regressione del vettore di supporto non ha un'ovvia interpretazione statistica, spesso la conoscenza esperta del problema può essere codificata nella funzione di perdita, ad esempio Poisson o Beta o Gaussiana. Allo stesso modo in molti problemi di classificazione in realtà vuoi la probabilità di appartenenza alla classe,

Questo è tutto ciò che riesco a pensare fuori mano.


Che dire delle sfide per le difficoltà di classificazione multiclasse con SVM?
Vass

1
@Vaas buon punto, in passato ho usato l'algoritmo DAGSVM e l'ho trovato abbastanza efficace. I problemi multi-classe non sembrano avere una soluzione così elegante all'interno del framework SVM, la regressione logistica del kernel multi-classe sarebbe probabilmente l'approccio più simile che è rimasto "elegante".
Dikran Marsupial
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.