La relazione tra il numero di vettori di supporto e il numero di funzionalità


12

Ho eseguito un SVM su un determinato set di dati e ho formulato la seguente osservazione: Se modifico il numero di funzionalità per la creazione del classificatore, anche il numero dei vettori di supporto risultanti verrà modificato.

Vorrei sapere come spiegare questo tipo di scenario.


Qual era il tipo e lo stile di quelle funzionalità extra? Dove sono simili alle varianti delle funzionalità esistenti o ad alcune nuove funzioni che hai pensato possano avere un potere risolutivo aggiuntivo?
Philip Oakley,

Questo è un problema di classificazione dei documenti e le funzionalità extra sono solo parole. Ho usato unigram per costruire lo spazio delle funzionalità.
user3269

Data la risposta di @ marc, che ha apportato il cambiamento, il numero di vettori è aumentato con il numero di funzioni o viceversa.
Philip Oakley,

@Phillip, la mia risposta originale era sbagliata. Penso che la risposta modificata sia accurata ora.
Marc Shivers,

Risposte:


13

Se osservi il problema di ottimizzazione che SVM risolve:

minw,ξ,b{12w2+Ci=1nξi}

st yi(wxib)1ξi,    ξi0, per tutti i=1,n

i vettori di supporto sono quelli cui il corrispondente . In altre parole, sono i punti dati che sono classificati in modo errato o vicini al confine.xiξi>0

Ora confrontiamo la soluzione a questo problema quando si dispone di un set completo di funzionalità, nel caso in cui si eliminano alcune funzionalità. Gettare via una funzione equivale funzionalmente a mantenerla, ma aggiungere un per la funzione che vogliamo scartare. wj=0j

Quando si confrontano questi due problemi di ottimizzazione e si lavora attraverso la matematica, si scopre che non esiste una relazione difficile tra il numero di funzionalità e il numero di vettori di supporto. Può andare in entrambi i modi.

È utile pensare a un caso semplice. Immagina un caso in cui le caratteristiche negative e positive sono raggruppate intorno (-1, -1) e (1,1), rispettivamente, e sono separabili con un iperpiano di separazione diagonale con 3 vettori di supporto. Ora immagina di abbandonare la funzione dell'asse y, quindi i tuoi dati ora vengono proiettati sull'asse x. Se i dati sono ancora separabili, diciamo x = 0, probabilmente rimarrebbero solo 2 vettori di supporto, uno su ciascun lato, quindi l'aggiunta della funzione y aumenterebbe il numero di vettori di supporto. Tuttavia, se i dati non sono più separabili, si otterrebbe almeno un vettore di supporto per ciascun punto che si trova dalla parte sbagliata di x = 0, nel qual caso l'aggiunta della funzione y ridurrebbe il numero di vettori di supporto.

Quindi, se questa intuizione è corretta, se stai lavorando in spazi di caratteristiche ad altissima dimensione, o stai usando un kernel che si mappa su uno spazio di caratteristiche ad alta dimensione, allora i tuoi dati hanno più probabilità di essere separabili, quindi l'aggiunta di una caratteristica tenderà per aggiungere un altro vettore di supporto. Considerando che se i tuoi dati non sono attualmente separabili e aggiungi una funzionalità che migliora significativamente la separabilità, allora è più probabile che si verifichi una diminuzione del numero di vettori di supporto.

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.