Promuovere le reti neurali


21

Di recente, stavo lavorando all'apprendimento di algoritmi di potenziamento, come adaboost, boost gradiente, e ho saputo che lo studente debole più usato è l'albero. Voglio davvero sapere ci sono alcuni esempi recenti di successo (intendo alcuni documenti o articoli) per l'utilizzo di reti neurali come studente di base.


Questa potrebbe essere una lettura interessante per te: arxiv.org/pdf/1706.04964.pdf
Daniel

Risposte:


8

Nel potenziamento, classificatori deboli o instabili sono usati come apprendenti di base. Questo è il caso perché l'obiettivo è quello di generare limiti di decisione notevolmente diversi. Quindi, un buon apprendista di base è altamente distorto, in altre parole, l'output rimane sostanzialmente lo stesso anche quando i parametri di allenamento per gli apprendenti di base vengono leggermente modificati.

Nelle reti neurali, il dropout è una tecnica di regolarizzazione che può essere paragonata agli ensemble di formazione. La differenza è che l'insieme avviene nello spazio latente (i neuroni esistono o no), riducendo così l'errore di generalizzazione.

"Ogni esempio di addestramento può quindi essere visto come un gradiente per un'architettura diversa, campionata casualmente, in modo che la rete neurale finale rappresenti efficacemente un enorme insieme di reti neurali, con una buona capacità di generalizzazione" - citando da qui .

Esistono due di queste tecniche: nel dropout i neuroni vengono fatti cadere (nel senso che i neuroni esistono o meno con una certa probabilità) mentre nel dropconnect i pesi vengono fatti cadere.

Ora, per rispondere alla tua domanda, credo che le reti neurali (o percettroni) non vengano utilizzate come apprendenti di base in una configurazione di potenziamento poiché sono più lente da addestrare (richiede solo troppo tempo) e gli studenti non sono così deboli, anche se potrebbero essere impostato per essere più instabile. Quindi, non vale la pena.

Potrebbe esserci stata una ricerca su questo argomento, tuttavia è un peccato che le idee che non funzionano bene di solito non vengano pubblicate con successo. Abbiamo bisogno di ulteriori ricerche su percorsi che non conducono da nessuna parte, ovvero "non preoccuparti di provare questo".

MODIFICARE:

Ho avuto un po 'di più su questo e se sei interessato a gruppi di reti di grandi dimensioni, potresti riferirti a metodi di combinazione degli output di più di tali reti. La maggior parte delle persone fa una media o usa il voto di maggioranza a seconda dell'attività - questo potrebbe non essere ottimale. Credo che dovrebbe essere possibile cambiare i pesi per l'output di ciascuna rete in base all'errore su un particolare record. Meno sono correlati gli output, migliore è la tua regola d'insieme.


2

Vedo che questo non ha una risposta accettata, quindi darò una risposta molto euristica. Sì, è fatto .... ad es. È disponibile in JMP Pro (probabilmente il miglior pacchetto stat di cui non hai mai sentito parlare). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml

C'è una descrizione al centro della pagina per cosa viene usata. Non ho messo alcun ciclo nell'investigare la teoria, ma sembra che stiano insinuando che raggiunge essenzialmente gli stessi risultati dell'utilizzo di più nodi in un singolo modello più grande. Il vantaggio [sostengono] è nella velocità di adattamento del modello.

Per un calibro molto approssimativo, l'ho confrontato su un set di dati che ho con 2 sigma e 2 nodi gaussiani e aumentando il modello 6x contro 12 sigmoidi e 12 nodi gaussiani in un singolo modello e i risultati erano praticamente identici sul mio set di dati di test .

Neanche io ho notato alcuna differenza di velocità ... ma il set di dati ha solo 1600 punti e sto usando solo 12 variabili, quindi su un set di dati più grande con più variabili può essere vero che c'è una notevole differenza di calcolo.

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.