Tecniche di aumento dei dati per set di dati generali?


21

In molte applicazioni di apprendimento automatico, i cosiddetti metodi di aumento dei dati hanno permesso di costruire modelli migliori. Ad esempio, supponi un set di addestramento di immagini di cani e gatti. Ruotando, specchiando, regolando il contrasto, ecc. È possibile generare immagini aggiuntive da quelle originali.100

Nel caso delle immagini, l'aumento dei dati è relativamente semplice. Tuttavia, supponiamo (ad esempio) che uno abbia un set di addestramento di campioni e poche centinaia di variabili continue che rappresentano cose diverse. L'aumento dei dati non sembra più così intuitivo. Cosa si potrebbe fare in tal caso?100


2
Penso che alcuni metodi come PCA o AE siano ancora intuitivi per l'aumento dei dati. Il primo metodo è applicare PCA e mantenere i primi k autovalori e impostare kn autovalori in modo casuale da una distorsione, gaussiana ecc. Se un altro metodo utilizza Auto-encoder per costruire i dati stessi. Se il numero di unità nascoste è vicino alle unità visibili, può costruirsi abbastanza bene. I dati ricostruiti possono essere utilizzati come parte aumentata dei dati.
yasin.yazici,

@mmh, questo ha risposto alla tua domanda?
shf8888,

@ yasin.yazici Ciao. potresti spiegare il bit sull'aumento dei dati usando pca? Supponiamo che io abbia un dato con 50 come dimensione caratteristica. Ora faccio PCA e trovo che i primi 30 autovettori principali siano sufficienti. Cosa dovrei fare nei prossimi 20 autovettori e come dovrei introdurre la casualità? 100X50503020
roni

Vedi la mia tesi di master, pagina 80 per una panoramica delle tecniche di aumento dei dati per le immagini.
Martin Thoma,

L'aumento dei dati ha molto senso per le immagini, ad es. Un'immagine ruotata dell'oggetto è ancora un'immagine dell'oggetto e hai bisogno che il modello sia esposto a quello, ma presumibilmente non hai necessariamente tale immagine nel tuo set di dati. Qual è la necessità / punto di aumento dei dati in questo caso? Non mi è chiaro che dovresti farlo.
gung - Ripristina Monica

Risposte:


17

Comprendo questa domanda in quanto coinvolge sia la costruzione di funzionalità sia la gestione della ricchezza di funzionalità che già hai + costruirà, rispetto alle tue osservazioni ( N << P).

Costruzione di funzioni

Espandendo il commento di @ yasin.yazici, alcuni modi possibili per aumentare i dati sarebbero:

  • PCA
  • Auto-codifica
  • Trasformazioni come log, poteri, ecc.
  • Binning di variabili continue in categorie discrete (ovvero, la variabile continua è 1 DS sopra la media, 1 sotto la media, ecc.)
  • Variabili composite (ad esempio, vedi qui )

Sono sicuro che ce ne sono molti altri che mi mancano.

Selezione funzionalità / Riduzione dimensionale

È possibile ridurre la dimensionalità con tecniche come PCA (anche se forse non dopo aver aumentato i dati con variabili PCA). In alternativa, è possibile utilizzare algoritmi che eseguono la selezione di funzionalità per te, come lazo, foresta casuale, ecc.


2
Puoi dirci come utilizzare la codifica automatica per la costruzione di feature?
roni,

1
@roni L'addestramento riuscito di un autoencoder produce una certa rappresentazione dei dati ad un livello più alto di astrazione. Eventualmente una rappresentazione più utile che è possibile utilizzare in un classificatore.
Chris Anderson,

0

Ho affrontato un problema simile in cui volevo aumentare i dati numerici senza etichetta. Ho aumentato i dati nel modo seguente: (Supponiamo di avere un set di dati di dimensioni 100 * 10).

  1. Crea un elenco campionando casualmente valori da {0,1}, in modo tale che il numero di zeri sia inferiore al numero di 1s, ad esempio la proporzione di 0s in questo caso è del 20%. Quindi uno avrà un elenco di 0 e 1 di lunghezza 100.
  2. Utilizzare questo elenco come variabile dipendente e passarlo in smote per generare più punti dati. (Qui smote genererebbe punti sui bordi che collegano i punti dati che corrispondono a 0 nell'elenco generato).
  3. Ripetere questo processo fino ad ottenere un set di dati della dimensione richiesta.

1
Non inviare risposte identiche a più thread. Se credi davvero che la stessa risposta che hai pubblicato altrove risponda pienamente a un'altra domanda, contrassegna quella domanda come duplicata della prima.
gung - Ripristina Monica
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.