Matlab 受限玻尔兹曼机-数据预处理
我在MATLAB上编程,希望使用实值输入的RBMs,比如灰度图像,所以我试着按照Hinton在中所说的做 这些图像在[0255]中具有整数值,并存储在矩阵D中,该矩阵为[numImages x numPixel]。所以我开始对数据进行预处理:Matlab 受限玻尔兹曼机-数据预处理,matlab,machine-learning,rbm,Matlab,Machine Learning,Rbm,我在MATLAB上编程,希望使用实值输入的RBMs,比如灰度图像,所以我试着按照Hinton在中所说的做 这些图像在[0255]中具有整数值,并存储在矩阵D中,该矩阵为[numImages x numPixel]。所以我开始对数据进行预处理: 缩放整个数据集,使所有值都在[0,1]中 D = D / 255; 使所有图像的每个像素的平均值为零,所以我从矩阵的每一列中减去它的平均值 imgMean = mean(D); % row vector D = D - repmat(imgMe
- 缩放整个数据集,使所有值都在[0,1]中
D = D / 255;
- 使所有图像的每个像素的平均值为零,所以我从矩阵的每一列中减去它的平均值
imgMean = mean(D); % row vector D = D - repmat(imgMean, rows, 1);
- 将整个数据集除以其标准偏差,使每个像素都具有单位方差
D = D / std(D(:));
这可以吗?还是我在预处理过程中犯了错误?你是如何绘制图像的?我使用的是Hinton自己提供的代码。关于绘图的有趣部分可能是
imagesc(img2[01])代码>其中img2是我想要绘制的,它是作为来自测试集的图像及其重建的“拼贴”构建的。将imagesc
更改为imshow
是否有帮助?不幸的是没有。。。结果几乎是一样的