Limitate macchine Boltzmann per la regressione?


13

Sto seguendo la domanda che avevo posto in precedenza sugli RBM . Vedo molta letteratura che li descrive, ma nessuno che in realtà parla di regressione (nemmeno di classificazione con dati etichettati). Ho la sensazione che sia usato solo per dati senza etichetta. Ci sono risorse per gestire la regressione? Oppure è semplice come aggiungere un altro livello sopra il livello nascosto ed eseguire l'algoritmo CD su e giù? Grazie mille in anticipo.

Risposte:


18

Hai ragione sui dati senza etichetta. Gli RBM sono modelli generativi e più comunemente usati come discenti senza supervisione.

Quando viene utilizzata per costruire una rete di credenze profonde, la procedura più tipica è quella di addestrare ognuna una nuova RBM una alla volta quando vengono impilate una sull'altra. Quindi la divergenza contrastante non sta andando su e giù nel senso che penso tu intenda. Funziona solo con un RBM alla volta, usando il livello nascosto del precedente RBM più in alto come input per il nuovo RBM più in alto. Dopotutto puoi considerare lo stack di pesi RBM come pesi iniziali per una rete neurale feed forward standard e allenarti usando i tuoi dati etichettati e backpropagation o fare qualcosa di più esotico come usare l'algoritmo wake-sleep. Si noti che non abbiamo utilizzato alcun dato etichettato fino a quest'ultimo passaggio, che è uno dei vantaggi di questi tipi di modelli.

D'altra parte, ci sono diversi modi in cui è possibile utilizzare gli RBM per la classificazione.

  • Addestra un RBM o uno stack di più RBM. Usa il livello nascosto più in alto come input per qualche altro studente supervisionato.
  • Addestra un RBM per ogni classe e usa le energie non normalizzate come input per un classificatore discriminante.
  • Addestra l'RBM a essere un modello di densità articolare di P (X, Y). Quindi, dato un input x, basta selezionare la classe y che minimizza la funzione energetica (la normalizzazione non è un problema qui come sopra sopra poiché la costante Z è la stessa per tutte le classi).
  • Addestra un RBM discriminante

Consiglio vivamente di leggere il rapporto tecnico Una guida pratica per l'addestramento delle macchine Boltzmann limitate di Geoff Hinton. Discute molte di queste questioni in modo molto più dettagliato, fornisce preziosi suggerimenti, cita molti documenti pertinenti e può aiutare a chiarire qualsiasi altra confusione che potresti avere.


1
quindi gli RBM possono essere usati per la regressione?
waspinator

Come si forma un RBM come modello di densità articolare? Fornendo sia X che Y come input non nascosti, vale a dire che ti alleni per essere P (X, Y | H) (H è il livello nascosto)?
AkiRoss,

Autorizzo a rispondere al mio commento: sì, in "una guida pratica alla formazione della RBM" (Hinton, 2010), i 3 metodi sopra descritti sono spiegati in dettaglio e, nel 3 ° metodo, parla di avere "due serie di visibili unità ", dove, oltre ai dati, viene presentata un'unità di etichetta softmax per rappresentare la classe.
AkiRoss,


0

Penso che un modo per testare le reti neurali come la Restricted Boltzman Machine (RBM) sia applicarle a nuovi set di dati, o più comunemente un sottoinsieme del set di dati totale, e vedere come si comportano. Puoi anche testare il modello con validazione incrociata. Ho usato un popolare toolkit di software di apprendimento automatico (ML) open source che è semplice da installare e utilizzare e consente di testare facilmente molti tipi di algoritmi ML separatamente con una serie di statistiche di regressione del modello ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Ciò potrebbe fornirti una rapida analisi senza troppi interventi, tranne le basi dell'esecuzione del programma, anche se a seconda del caso potrebbe non valerne la pena se sarà difficile formattare i tuoi dati (anche se di solito puoi cercare su Google "csv in arff convertito online" per la formattazione in un solo passaggio).

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.