Cosa succede quando si forma un SVM lineare su dati separabili non linearmente?


11

Cosa succede quando si forma una macchina vettoriale di supporto di base (kernel lineare e nessun margine morbido) su dati non linearmente separabili? Il problema di ottimizzazione non è fattibile, quindi cosa restituisce l'algoritmo di minimizzazione?

Risposte:


11

Penso che la macchina vettoriale di supporto di base significhi SVM a margine duro. Quindi, rivediamo:

Che cos'è un SVM a margine duro

In breve, vogliamo trovare un iperpiano con il margine maggiore che sia in grado di separare correttamente tutte le osservazioni nel nostro spazio campione di addestramento.

Il problema di ottimizzazione nell'SVM a margine fisso

Data la definizione di cui sopra, qual è il problema di ottimizzazione che dobbiamo risolvere?

  1. Il più grande iperpiano del margine: vogliamo max(margin)
  2. Essere in grado di separare correttamente tutte le osservazioni: dobbiamo ottimizzare margine soddisfare anche il vincolo: nessun errore nel campione

Cosa succede quando si forma un SVM lineare su dati separabili non linearmente?

Tornando alla tua domanda, dato che hai menzionato che il set di dati di addestramento non è linearmente separabile, usando SVM hard-margin senza trasformazioni di funzionalità, è impossibile trovare un hyperplane che soddisfi "Nessun errore nel campione" .

Normalmente, risolviamo il problema di ottimizzazione SVM mediante la programmazione quadratica, perché può eseguire attività di ottimizzazione con vincoli. Se si utilizza la Discesa gradiente o altri algoritmi di ottimizzazione che senza soddisfare i vincoli dell'SVM con margine duro, si dovrebbe comunque ottenere un risultato, ma questo non è un iperpiano SVM con margine fisso.

A proposito, con dati non linearmente separabili, di solito scegliamo

  • trasformazioni di funzionalità SVM + a margine duro
  • usa direttamente SVM soft-margin (in pratica, SVM soft-margin di solito ottiene buoni risultati)

grazie per la tua risposta. Quindi i pacchetti SVM in es. R o Python non usano metodi di programmazione quadratica quando i dati sono separabili in modo non lineare?
SVM

Non sei sicuro di quali librerie svm usi. Uso libsvm e diversi strumenti svm possono usare diversi solutori svm. Per trovare migliori solutori svm è un altro argomento di ricerca. QP è il modo di base per risolvere svm.
fansia,
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.