title: Using Contrastive Divergence for Conditional Restricted Boltzmann Machines
body: <p>I would like to use a Restricted Boltzmann Machine for pattern recognition.
  It has come to my attention that they are actually used for finding distributions in patterns rather than pattern recognition. I looked at the following paper: <a href="http://www.cs.toronto.edu/~hinton/absps/uai_crbms.pdf" rel="nofollow">http://www.cs.toronto.edu/~hinton/absps/uai_crbms.pdf</a> which seems to use an extension of RBM, called ConditionalRBM. I would like to implement that. I already used Contrastive Divergence to implement RBM, and I would like to stick to that for CRBM, for simplicity. The paper focuses on replacing contrastive divergence, with more accurate algorithms.</p>
  
  <p>From what I see in the paper, I now need to create three weight matrices (as now I also have to include the classification vectors)(see Figure1 in the paper), and I am not sure how to update each of them (ie how to create the vectors which will influence the change of the matrix.)</p>
  
  <p>Could someone please clarify this for me or suggest an algorithm for classification using simple RBM, which I already implemented?</p>
  
  <p>Thanks.</p>