受限制的玻尔兹曼机器 - 预处理数据

时间:2015-03-20 08:55:02

标签: matlab machine-learning rbm

我在MATLAB上编程并且想要使用带有实值输入的RBM,比如灰度图像,所以我试着按照Hinton在this article中所说的那样。

图像在[0,255]中具有整数值,并存储在矩阵D中,即[numImages x numPixel]。所以我开始预处理数据:

  • 缩放整个数据集,使所有值都在[0,1]中,带

    D = D / 255;
    
  • 使所有图像的每个像素均值为零,因此我从矩阵的每一列中减去其平均值

    imgMean = mean(D);    % row vector
    D = D - repmat(imgMean, rows, 1);
    
  • 将整个数据集除以其标准偏差,以便每个像素都有单位方差,

    D = D / std(D(:));
    

但是当我尝试绘制图像时,结果显然非常暗,因为许多值变为负值并被剪切为零。

这样可以,还是我在预处理方面犯了错误?

0 个答案:

没有答案