gibbs sampling and contrastive divergence

58 views
Skip to first unread message

Ahmed Mazari

unread,
Aug 19, 2016, 10:23:24 AM8/19/16
to julia-stats
Hello,

l want to have 1000 configurations at the end of the process of gibbs sampling rather than one configuration. How can l do that properly

Thank you

Michael Krabbe Borregaard

unread,
Aug 19, 2016, 10:30:50 AM8/19/16
to julia...@googlegroups.com
What function are you using?

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to julia-stats+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ahmed Mazari

unread,
Aug 19, 2016, 10:42:51 AM8/19/16
to julia-stats
function gibbs(rbm::HTRBM,bp::BPTree,vis; n_times=1)
  v_pos
= vis
  h_pos
= sample_hid(rbm,bp,v_pos)


  v_neg
= sample_vis(rbm,hid)
  h_neg
= sample_hid(rbm,bp,v_neg)

 
for i=1:n_times-1
    v_neg
= sample_vis(rbm,h_neg)
    h_neg
= sample_hid(rbm,bp,v_neg)
 
end

 
return v_pos,h_pos,v_neg,h_neg
end

CD : contrastive divergence

function CD(rbm::HTRBM,bp::BPTree,vis; n_times=1)
  v_pos
= vis
 
  h_pos
,h_pos_cov,h_samples = get_hid(rbm,bp,v_pos)

 
# CD1
  v_neg
= sample_vis(rbm,h_samples)
 
  h_neg
,h_neg_cov,h_samples = get_hid(rbm,bp,v_neg)

 
# CDn
 
for i=1:n_times-1
    v_neg
= sample_vis(rbm,h_samples)
    h_neg
,h_neg_cov,h_samples = get_hid(rbm,v_neg)
 
end


 
return v_pos,h_pos,h_pos_cov,v_neg,h_neg,h_neg_cov
end



On Friday, August 19, 2016 at 4:30:50 PM UTC+2, Michael Borregaard wrote:
What function are you using?
On Fri, Aug 19, 2016 at 4:23 PM, Ahmed Mazari <ahmedma...@gmail.com> wrote:
Hello,

l want to have 1000 configurations at the end of the process of gibbs sampling rather than one configuration. How can l do that properly

Thank you

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to julia-stats...@googlegroups.com.

Ahmed Mazari

unread,
Aug 19, 2016, 10:45:57 AM8/19/16
to julia-stats
i have another question related to the topic. When we would like to draw a histogram for our gibbs samplaing what should be the  axis of abscissa and Ordinate ?

Andrei Zh

unread,
Aug 20, 2016, 7:22:37 AM8/20/16
to julia-stats
l want to have 1000 configurations at the end of the process of gibbs sampling rather than one configuration.

So just take 1000 samples, i.e. run `gibbs(...)` 1000 times, preferably with different input data points (`vis` parameter).

Note that the idea of contrastive divergence is to reduce number of Gibbs sampling iterations per datapoint. Normally, only 1 pass is used (i.e. CD-1).
 
i have another question related to the topic. When we would like to draw a histogram for our gibbs samplaing what should be the  axis of abscissa and Ordinate ?

I think the question is what you are trying to achieve. Gibbs sampling is used to produce samples from a highly multivariate distribution, so visualizing it using histograms doesn't sound very reasonable. Can you give some context of your work and reference to a library/project you are using if it's available. 
Reply all
Reply to author
Forward
0 new messages