私はGaussian RBMを実装したいと思っています。そのために、データの平均と単位分散をゼロにしたいのです。私のデータはMNISTデータセットです。データセットは次のリンクから取得されたものです。
http://www.cs.toronto.edu/~hinton/code/makebatches.m にアクセスしてください
以下の方法で実装しましたが、私のデータはNANになります。データを標準偏差で除算するとNANになります。
for epoch = epoch:maxepoch,
fprintf(1,'epoch %d \r',epoch);
errsum=0;
for batch = 1:numbatches,
fprintf(1,'epoch %d batch %d \r',epoch,batch);
%START ポジティブ フェーズ
data = batchdata(:,:,batch);
%ゼロ平均と単位分散
data_mean = mean(data,1);
data=bsxfun(@minus,data,data_mean);
data_std = std(data1,[],1);
data=bsxfun(@rdivide,data,data_std);
私はこれを小さな例のセットで試しました.うまくいきます.NANになる理由は何ですか.
これを取り除き、ゼロ平均と単位分散でガウス入力を作成する方法。