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.