Qualche "regola empirica" ​​sul numero di funzionalità rispetto al numero di istanze? (piccoli set di dati)


17

Mi chiedo se ci siano euristiche sul numero di caratteristiche rispetto al numero di osservazioni. Ovviamente, se un numero di funzioni è uguale al numero di osservazioni, il modello si adatta in modo eccessivo. Utilizzando metodi sparsi (LASSO, rete elastica) possiamo rimuovere diverse funzionalità per ridurre il modello.

La mia domanda è (teoricamente): prima di usare le metriche per valutare la selezione del modello ci sono delle osservazioni empiriche che mettono in relazione il numero ottimale di caratteristiche con il numero di osservazioni?

Ad esempio: per un problema di classificazione binaria con 20 istanze in ogni classe, esiste un limite superiore al numero di funzionalità da utilizzare?

Risposte:


13

Molteplici articoli lo hanno ritenuto

solo in rari casi esiste una distribuzione nota dell'errore in funzione del numero di funzioni e della dimensione del campione.

La superficie di errore per un determinato set di istanze e funzionalità è una funzione della correlazione (o mancanza di) tra funzionalità.

Questo documento suggerisce quanto segue:

  • N-1N
  • N

Un altro approccio (empirico) che potrebbe essere adottato è quello di disegnare le curve di apprendimento per diverse dimensioni del campione dallo stesso set di dati e utilizzarlo per prevedere le prestazioni del classificatore con dimensioni del campione diverse. Ecco il link al documento .


2
Trovo questa risposta in qualche modo fuorviante poiché manca un presupposto cruciale del documento di Hua: le caratteristiche di Hua et al. considerare nel documento collegato sono tutti informativi, che non è quello che ci si può aspettare di avere in pratica. IMHO questo dovrebbe essere chiaramente indicato poiché il tipo più comune di IMHO di "caratteristiche" non correlate sono canali di misurazione non informativi.
cbeleites supporta Monica il

WRT. le curve di apprendimento: OP probabilmente non sarà in grado di usarle con casi 2 × 20, poiché non possono essere misurate con una precisione utile da così pochi casi. Hua lo menziona brevemente, e abbiamo discusso questa difficoltà piuttosto in dettaglio nel documento che ho collegato nella mia risposta di seguito.
cbeleites supporta Monica il

8

dalla mia esperienza: in un caso, ho lavorato con un database reale che è molto piccolo (300 immagini) con molte classi, un grave problema di squilibrio dei dati e ho finito con l'utilizzo di 9 funzionalità: SIFT, HOG, Shape context, SSIM, GM e 4 funzionalità basate su DNN. In un altro caso, ho lavorato con un database molto grande (> 1 M immagini) e ho finito con l'utilizzo solo della funzione HOG. Penso che non vi sia alcuna relazione diretta tra il numero di istanze e il numero di funzioni richieste per ottenere un'elevata precisione. MA: il numero di classi, la somiglianza tra le classi e la variazione all'interno della stessa classe (questi tre parametri) possono influenzare il numero di funzioni. quando si dispone di un database più grande con molte classi e una grande somiglianza tra le classi e una grande variazione all'interno della stessa classe sono necessarie più funzionalità per ottenere un'elevata precisione. RICORDA:


@Bashar Haddad: correggimi se sbaglio (dato che sono nuovo sia per la visione artificiale che per la ML), la funzione HOG non è in realtà un vettore ad alta dimensione (nel mio caso, stavo ottenendo funzioni HOG tridimensionali 1764). Quindi, quando dici 9 funzioni e una di queste è HOG, non stai effettivamente ottenendo uno spazio di funzionalità ad alta dimensione per il solo HOG?
Mathmath,

1
In letteratura usano la parola caratteristica per indicare il tipo di caratteristica o l'indice di dimensione. Quindi quando dico che sto usando 6 funzionalità, ciò significa che sto usando 6 tipi di funzionalità, ognuno di essi è (1 x D) vettoriale. se sto parlando del tipo di funzione Hog, ogni dimensione può essere una funzione.
Bashar Haddad,

2

Dipende ... ma ovviamente questa risposta non ti porta da nessuna parte.

È una regola empirica per la complessità del modello: apprendimento dai dati - dimensione VC

"Molto approssimativamente" sono necessari 10 punti dati per ciascun parametro del modello. E il numero di parametri del modello può essere simile al numero di funzioni.


2

Un po 'tardi alla festa, ma ecco alcune euristiche.

problema di classificazione binaria con 20 istanze in ogni classe, esiste un limite superiore al numero di funzionalità da utilizzare?

  • Per l' addestramento di classificatori lineari, si consigliano 3-5 casi indipendenti per classe e funzione. Questo limite ti dà modelli affidabili e stabili , non garantisce un buon modello (questo non è possibile: potresti avere dati non informativi in ​​cui nessun modello potrebbe ottenere buone prestazioni di generalizzazione)

  • Tuttavia, per le dimensioni dei campioni piccole come il tuo scenario, la verifica (convalida) piuttosto che l'addestramento è il collo di bottiglia, e la verifica dipende dal numero assoluto di casi di test piuttosto che da casi relativi alla complessità del modello: come regola generale, hai bisogno di ≈ 100 test casi nel denominatore per stimare una proporzione con un intervallo di confidenza non superiore al 10% in punti.

    Sfortunatamente questo significa anche che praticamente non puoi ottenere la curva di apprendimento empirica per la tua applicazione: non puoi misurarla abbastanza precisamente, e in pratica avresti comunque enormi difficoltà a estrapolarla perché per l'allenamento reagisci alle piccole dimensioni del campione limitando il tuo modello complessità - e lo rilasseresti aumentando la dimensione del campione.

    Vedi i nostri articoli per i dettagli: Beleites, C. e Neugebauer, U. e Bocklitz, T. e Krafft, C. e Popp, J .: Pianificazione della dimensione del campione per i modelli di classificazione. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    manoscritto accettato su arXiv: 1211.1323

  • Non ho mai avuto nulla di simile a queste raccomandazioni (dati di spettroscopia, anche per applicazioni mediche). Quello che faccio allora è: misuro molto attentamente la stabilità del modello come parte del processo di modellizzazione e verifica.

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.