Desidero che la macchina Boltzmann con restrizioni rilevi una nuova rappresentazione di dati a valori reali (vedere: Hinton - 2010 - A Practical Guide to Training RBMs). Sto lottando con un'implementazione di unità lineari gaussiane.Macchina Boltzmann ristretta per dati a valori reali - unità lineari gaussiane (glu) -
Con le unità lineari gaussiane nello strato visibile l'energia cambia in E(v,h)= ∑ (v-a)²/2σ - ∑ bh - ∑v/σ h w
. Ora non so come modificare l'algoritmo di apprendimento della divergenza contrastistica. Le unità visibili non saranno più campionate in quanto sono lineari. Io uso l'aspettativa (attivazione media) p(v_i=1|h)= a +∑hw + N(0,1)
come stato. Le associazioni sono lasciate invariate (pos: data*p(h=1|v)'
neg: p(v=1|h)*p(h=1|v)'
). Ma questo porta solo a rumore casuale quando voglio ricostruire i dati. Il tasso di errore smetterà di migliorare di circa il 50%.
Infine voglio utilizzare unità lineari gaussiane in entrambi gli strati. Come otterrò allora gli stati delle unità nascoste? Suggerisco usando l'attivazione di campo medio p(h_i=1|v)= b +∑vw + N(0,1)
ma non sono sicuro.
Si noti che [risposte solo per collegamento] (http://meta.stackoverflow.com/tags/link-only-answers/info) sono scoraggiate, SO le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tende a diventare obsoleta nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra
-1: è anche un esempio davvero poco illuminante. –
Esempio utile. È leggermente diverso da quello che l'OP voleva - lo strato nascosto è lineare-gaussiano e il visibile è bernoulli e il sigma non è appreso. – Peter