I don't use the exact block toeplitz for two-dimensional image. As I commented, I used the different matrix.
my_convmtx2 generates the matrix associated to the following code:

In the matlab code, I did not use the toeplitz matrix to calculate the
derivatives. I simply use the imfilter function instead of the matrix.
The matrix associated to the derivative operation in the matlab code is
not square matrix. The reason is to handle the borders of each patch
correctly.

Thank you for your comment.
The linear mapping is just a option. You don't need to use that. But, the training requires the initial parameters. I think the linear mapping is one of candidates for initial parameters.
If you know better initial parameter setting, please let me know.

hi, Tanaka, I use this toolsbox to train GBRBM, while in your code h2v.m, there is no gaussian distribution:
h = bsxfun(@times, H * dnn.W', dnn.sig);
V = bsxfun(@plus, h, dnn.c );
I think there should be a gaussian sampling: normrnd(h+dnn.c,dnn.sig)

So when i run the code by Masayuki Tanaka in MATLAB
I train a RBM with real valued input samples and binary hidden units.
So now I want to feed a new input sample to know the classification.
Which file in the toolbox the code should i use
calRMSE is it
also the values it gives are in decimals
so how will i know which class my input sample has been clasified into
example code
rbm=randRBM( 3, 3, 'GBRBM' )
V=[0.5 -3 1;-0.5 2 0;-0.25 -0.44 1];
rbm=pretrainRBM(rbm, V)
now once trained should i use
v2hall(rbm, [-0.5 -0.5 0])
on the new input vector

Comment only

01 Apr 2014

Deep Neural Network
It provides deep learning tools of deep belief networks (DBNs).

hi, Tanaka, I use this toolsbox to train GBRBM, while in your code h2v.m, there is no gaussian distribution:
h = bsxfun(@times, H * dnn.W', dnn.sig);
V = bsxfun(@plus, h, dnn.c );
I think there should be a gaussian sampling: normrnd(h+dnn.c,dnn.sig)

Comment only