2222

1、数据输入层

  预处理的方式:

    假定X是[N*D]维矩阵(N是样本数据量,D为单张图片的数据向量长度)

    第一步,去均值:最常见的图片数据预处理。目的是输入数据各个维度的数据都中心化到0。

      1)对待训练的每一张图片的特征,都减去全部训练集图片的特征均值;使用python的numpy工具包,这一步可以用X -= np.mean(X, axis = 0)实现

        个人理解,假设有1000张图片,数据格式227*227*3,那么把1000张图片的每个点求均值,最后形成一个227*227*3的矩阵,每一张图片再减去它;

      2)可以直接求出所有像素的均值,然后每个像素点都减掉这个相同的值;

        个人理解,1000张图片分别在r、g、b上求三个均值,每一张图片的每个点分别减去它;

    第二步-1,归一化:目的是保证所有维度上数据都在一个变化幅度上。

      1)在数据都去均值之后,每个维度上的数据都除以这个维度上数据的标准差(X /= np.std(X, axis = 0))。

      2)除以数据绝对值最大值,以保证所有的数据归一化后都在-1到1之间。

      由于图像像素的值变化区间都在[0,255]之间,所以其实图像输入数据天生幅度就是一致的。所以不需要进行归一化。

 

    第二步-2,PCA/白化

      1)经过去均值操作之后,我们可以计算数据的协方差矩阵,从而可以知道数据各个维度之间的相关性

      

      得到的结果矩阵中元素(i,j)表示原始数据中,第i维和第j维之间的相关性。

   实际卷积神经网中,我们并没有用到去相关和whitening操作。只会涉及去均值、归一化。

 

posted @ 2017-10-29 21:40  赫连勃勃大王  阅读(424)  评论(0编辑  收藏  举报