MATLAB でガウス入力ベースの RBM を実装しています。
vi
次元は 100*784、w
次元は 784*500、sigma
次元は 1*784 です。
p(h|v)= sigmoid(cj+wij*vi/sigma^2)
. 掛けると寸法誤差が出ますw*v/sigma^2
。以下のように実装しましたが、
poshidprobspart = bsxfun(@rdivide,data,sigmas.^2);
poshidprobs = 1./(1 + exp(-((vishid * poshidprobspart) + repmat(hidbiases,numcases,1))));
コードのエラーの原因は何ですか