Domanda

Uno degli aspetti più discussi della procedura che Vowpal Wabbit utilizza per gli aggiornamenti di SGD pdf viene cosiddetta peso invarianza, descritto nella collegata come:

"Tra questi aggiornamenti ci concentriamo principalmente su un romanzo insieme di aggiornamenti che soddisfa un ulteriore invarianza Proprietà: per tutti i pesi d'importanza di H, l'aggiornamento è equivalente a due Offerte peso importanza h / 2. Noi chiamiamo questi aggiornamenti importanza invariante ".

Che cosa significa e perché è utile?

È stato utile?

Soluzione

Spesso diversi campioni di dati hanno pesi differenti (ad esempio, costi di errata classificazione di errore per un gruppo di dati è superiore per altre classi). La maggior parte delle metriche di errore sono di forma $ \ sum_i e_i $ dove e_i è la perdita (per esempio errore quadratico) in data puntano $ i $. Pertanto coefficienti della forma $ \ sum_i w_i e_i $ sono equivalenti a duplicare i dati di volte w_i (ad esempio per intero w_i).

Un caso semplice è che se avete ripetuto i dati -. Piuttosto che raccogliere tutte i punti di dati duplicati, basta "peso" il vostro un campione ripetuto per il numero di istanze

Ora, mentre questo è facile da fare in un ambiente batch, è difficile in wabbits vowpal ambiente in linea Big Data: dato che si dispone di un grande insieme di dati, non si vuole solo per rappresentare i dati n volte per affrontare la ponderazione (perché aumenta il carico computazionale). Allo stesso modo, basta moltiplicare il vettore gradiente per la ponderazione - che è corretto in sfumatura lotto discesa - causerà grossi problemi per stocastico / linea gradiente discesa: in sostanza, si spara fuori in una direzione (si pensi di grandi pesi interi) poi sparare nel altri - provocando una notevole instabilità. SGD fa sostanzialmente tutti gli errori di essere di circa la stessa cassa (in modo che il tasso di apprendimento può essere impostato in modo appropriato). Quindi, ciò che essi propongono è quello di garantire che l'aggiornamento per x_i campione di training con il peso n equivale a presentare la formazione campione x_i n volte di seguito.

L'idea è che presentandola consecutivamente riduce il problema a causa del gradiente di errore (per questo solo esempio $ x_i $) riduce per ogni presentazione consecutiva e di aggiornamento (come ci si avvicina e più vicino al minimo per quel esempio specifico). In altre parole gli aggiornamenti consecutivi fornisce una sorta di controllo in retroazione.

A me suona come si avrebbe ancora instabilità (si arriva a zero errori su x_i, poi si arriva a zero errori su x_i + 1, ...). avrà bisogno del tasso di apprendimento deve essere rettificato per tener conto delle dimensioni dei pesi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top