0
$\begingroup$

I have a problem in finding negdata value. In particular multiplying with sigma. Could someone help in representing this equation vishid*sigma*poshidstates + visbias in matlab.

 poshidstates=poshidprobs > rand(numcases,numhid);
 negdatapart=poshidstates*vishid'; %bsxfun(@rdivide,,sigmas));
 negdatapart2= (sigmas)*negdatapart';
 negdata= bsxfun(@plus,negdatapart2,repmat(visbiases,numcases,1));
$\endgroup$
0
$\begingroup$
   vishid*sigma*poshidstates + visbias, equation can be  written in Matlab as below. The 

error posted in question is due to the fact that it was not following elementwise multiplication.

  negdatapart= bsxfun(@times, poshidstates*vishid',sigmas);
  negdata= bsxfun(@plus,negdatapart,repmat(visbiases,numcases,1));
| cite | improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.