主成分分析

From Ufldl

Jump to: navigation, search
(PCA on Images 对图像数据应用PCA算法)
Line 531: Line 531:
【初译】:为使PCA算法能正常工作,通常我们希望所有的特征<math>\textstyle x_1, x_2, \ldots, x_n</math>都有相似的取值范围(并且均值接近于0)。如果你曾对其它数据应用过PCA算法,你可能知道有必要单独对每个特征<math>\textstyle x_j</math>做预处理,估算其均值和方差以将其规范为零均值和单位方差。对于大部分的图像文件,我们却不进行这样的预处理,尤其是在我们使用“自然图像”(natural images)来训练算法时——“自然图像”可不正规的定义为通常动物或者人类可肉眼看到的图像类型——此时特征<math>\textstyle x_j</math>代表的是像素<math>\textstyle j</math>的值。
【初译】:为使PCA算法能正常工作,通常我们希望所有的特征<math>\textstyle x_1, x_2, \ldots, x_n</math>都有相似的取值范围(并且均值接近于0)。如果你曾对其它数据应用过PCA算法,你可能知道有必要单独对每个特征<math>\textstyle x_j</math>做预处理,估算其均值和方差以将其规范为零均值和单位方差。对于大部分的图像文件,我们却不进行这样的预处理,尤其是在我们使用“自然图像”(natural images)来训练算法时——“自然图像”可不正规的定义为通常动物或者人类可肉眼看到的图像类型——此时特征<math>\textstyle x_j</math>代表的是像素<math>\textstyle j</math>的值。
-
【一审】:
+
【一审】:为使PCA算法能有效,通常我们希望所有的特征<math>\textstyle x_1, x_2, \ldots, x_n</math>都有相似的取值范围(并且均值接近于0)。如果你曾在其它应用使用过PCA算法,你可能知道有必要单独对每个特征<math>\textstyle x_j</math>做预处理,估算其均值和方差以将其规范为零均值和单位方差。对于大部分的图像文件,我们却不进行这样的预处理,尤其是在我们使用“自然图像”(natural images)来训练算法时,此时特征<math>\textstyle x_j</math>代表的是像素<math>\textstyle j</math>的值。“自然图像”含义是典型的动物或人,在平常生活中所看到的那样。
【二审】:
【二审】:
Line 540: Line 540:
【初译】:注:通常我们使用户外拍摄草木等场景的照片,并从中随机截取小图像块(大小为16乘16像素)来训练算法,实际应用中我们发现,大多数特征学习算法对于训练的图片类型都具有极大的鲁棒性(robust),普通照相机拍摄的图片,只要不是特别的模糊或者有非常奇怪的人工痕迹,都应可以使用。
【初译】:注:通常我们使用户外拍摄草木等场景的照片,并从中随机截取小图像块(大小为16乘16像素)来训练算法,实际应用中我们发现,大多数特征学习算法对于训练的图片类型都具有极大的鲁棒性(robust),普通照相机拍摄的图片,只要不是特别的模糊或者有非常奇怪的人工痕迹,都应可以使用。
-
【一审】:
+
【一审】:注:通常我们使用户外拍摄草木等场景的照片,并从中随机截取小图像块(大小为16乘16像素)来训练算法,实际应用中我们发现,大多数特征学习算法对于训练的图片类型都具有极大的鲁棒性(robust),普通照相机拍摄的图片,只要不是特别的模糊或者有非常奇怪的人工痕迹,都应可以使用。
【二审】:
【二审】:
Line 552: Line 552:
【初译】:在自然图片上训练时,对每一个像素估计一个单独的均值和方差意义不大,因为理论上,图像任一部分的统计数据都应该和任意其它部分相同,图像的这种特性被称作平稳性(stationarity)。
【初译】:在自然图片上训练时,对每一个像素估计一个单独的均值和方差意义不大,因为理论上,图像任一部分的统计数据都应该和任意其它部分相同,图像的这种特性被称作平稳性(stationarity)。
-
【一审】:
+
【一审】:在自然图片上训练时,对每一个像素估计一个单独的均值和方差意义不大,因为理论上,图像任一部分的统计数据都应该和任意其它部分相同,图像的这种特性被称作平稳性(stationarity)。
【二审】:
【二审】:
Line 573: Line 573:
【初译】:具体操作中,为使PCA算法正常工作,我们通常需要满足以下要求:(1) 特征的均值大致为0; (2) 不同的特征的方差相似。对于自然图片,即使不进行方差归一化操作,条件(2)也永远满足,故而我们不进行任何方差归一化操作 (当处理音频文件时,比如声谱,或者文本文件,比如bag-of-word向量,我们通常也不做方差归一化处理)。实际上,PCA算法对于输入数据具有放大(scaling)不变性,无论输入数据的值被如何放大(或缩小),返回的特征值都不改变。下面给出这一说法更规范的描述:如果将每个特征量都乘以同一个正数(即所有特征量被放大或缩小了相同的倍数),PCA的输出特征向量将不会发生变化。
【初译】:具体操作中,为使PCA算法正常工作,我们通常需要满足以下要求:(1) 特征的均值大致为0; (2) 不同的特征的方差相似。对于自然图片,即使不进行方差归一化操作,条件(2)也永远满足,故而我们不进行任何方差归一化操作 (当处理音频文件时,比如声谱,或者文本文件,比如bag-of-word向量,我们通常也不做方差归一化处理)。实际上,PCA算法对于输入数据具有放大(scaling)不变性,无论输入数据的值被如何放大(或缩小),返回的特征值都不改变。下面给出这一说法更规范的描述:如果将每个特征量都乘以同一个正数(即所有特征量被放大或缩小了相同的倍数),PCA的输出特征向量将不会发生变化。
-
【一审】:
+
【一审】:具体操作中,为使PCA算法正常工作,我们通常需要满足以下要求:(1) 特征的均值大致为0; (2) 不同的特征的方差相似。对于自然图片,即使不进行方差归一化操作,条件(2)也永远满足,故而我们不进行任何方差归一化操作 (当处理音频数据时,比如声谱,或者文本数据,比如词袋向量,我们通常也不做方差归一化处理)。实际上,PCA算法对于输入数据具有放大(scaling)不变性,无论输入数据的值被如何放大(或缩小),返回的特征值都不改变。下面给出这一说法更规范的描述:如果将每个特征量都乘以同一个正数(即所有特征量被放大或缩小了相同的倍数),PCA的输出特征向量将不会发生变化。
【二审】:
【二审】:
Line 589: Line 589:
【初译】:既然我们不做方差归一化,唯一还需进行的规范化操作就是均值规范化,其目的是保证所有特征的均值都在0附近。根据不同的应用,很多情况下我们并不关注所输入的图像文件的明亮程度,比如对于物体识别,图像的整体明亮程度并不影响图像中存在的是什么物体。更为规范地说,我们对某一个图像的平均强度值不感兴趣,因此我们可以减去这个值来进行均值规范化(即零均值化)。
【初译】:既然我们不做方差归一化,唯一还需进行的规范化操作就是均值规范化,其目的是保证所有特征的均值都在0附近。根据不同的应用,很多情况下我们并不关注所输入的图像文件的明亮程度,比如对于物体识别,图像的整体明亮程度并不影响图像中存在的是什么物体。更为规范地说,我们对某一个图像的平均强度值不感兴趣,因此我们可以减去这个值来进行均值规范化(即零均值化)。
-
【一审】:
+
【一审】:既然我们不做方差归一化,唯一还需进行的规范化操作就是均值规范化,其目的是保证所有特征的均值都在0附近。根据不同的应用,很多情况下我们并不关注所输入的图像文件的明亮程度,比如对于物体识别,图像的整体明亮程度并不影响图像中存在的是什么物体。更为规范地说,我们对某一个图像的平均强度值不感兴趣,因此我们可以减去这个值来进行均值规范化(即零均值化)。
【二审】:
【二审】:
Line 597: Line 597:
a 16x16 image patch (<math>\textstyle n=256</math>), we might normalize the intensity of each image
a 16x16 image patch (<math>\textstyle n=256</math>), we might normalize the intensity of each image
<math>\textstyle x^{(i)}</math> as follows:  
<math>\textstyle x^{(i)}</math> as follows:  
 +
 +
<math>\mu^{(i)} := \frac{1}{n} \sum_{j=1}^n x^{(i)}_j</math>
 +
 +
<math>x^{(i)}_j := x^{(i)}_j - \mu^{(i)}</math>, for all <math>\textstyle j</math>
【初译】:具体的步骤是,如果<math>\textstyle x^{(i)} \in \Re^{n}</math>代表16乘16的图像块的灰度值(<math>\textstyle n=256</math>),我们可以应用如下算法来对每一个图像块<math>\textstyle x^{(i)}</math>的(灰度)强度值进行零均值化操作:
【初译】:具体的步骤是,如果<math>\textstyle x^{(i)} \in \Re^{n}</math>代表16乘16的图像块的灰度值(<math>\textstyle n=256</math>),我们可以应用如下算法来对每一个图像块<math>\textstyle x^{(i)}</math>的(灰度)强度值进行零均值化操作:
-
【一审】:
+
<math>\mu^{(i)} := \frac{1}{n} \sum_{j=1}^n x^{(i)}_j</math>
-
【二审】:
+
<math>x^{(i)}_j := x^{(i)}_j - \mu^{(i)}</math> (对所有的<math>\textstyle j</math>)
 +
 
 +
【一审】:具体的步骤是,如果<math>\textstyle x^{(i)} \in \Re^{n}</math>代表16乘16的图像块的灰度值(<math>\textstyle n=256</math>),我们可以应用如下算法来对每一个图像块<math>\textstyle x^{(i)}</math>的(灰度)强度值进行零均值化操作:
<math>\mu^{(i)} := \frac{1}{n} \sum_{j=1}^n x^{(i)}_j</math>
<math>\mu^{(i)} := \frac{1}{n} \sum_{j=1}^n x^{(i)}_j</math>
-
<math>x^{(i)}_j := x^{(i)}_j - \mu^{(i)}</math>, for all <math>\textstyle j</math>
+
<math>x^{(i)}_j := x^{(i)}_j - \mu^{(i)}</math> (对所有的<math>\textstyle j</math>
 +
 
 +
 
 +
【二审】:
 +
 
    
    
Line 615: Line 625:
【初译】:请注意上面两个步骤需要单独对每个输入图像块<math>\textstyle x^{(i)}</math>应用,且<math>\textstyle \mu^{(i)}</math>计算的是每个图像块<math>\textstyle x^{(i)}</math>的平均强度值,尤其需要注意的是,这和试图为每一个像素<math>\textstyle x_j</math>单独估算均值是完全不同的概念。
【初译】:请注意上面两个步骤需要单独对每个输入图像块<math>\textstyle x^{(i)}</math>应用,且<math>\textstyle \mu^{(i)}</math>计算的是每个图像块<math>\textstyle x^{(i)}</math>的平均强度值,尤其需要注意的是,这和试图为每一个像素<math>\textstyle x_j</math>单独估算均值是完全不同的概念。
-
【一审】:
+
【一审】:请注意上面两个步骤需要单独对每个输入图像块<math>\textstyle x^{(i)}</math>应用,且<math>\textstyle \mu^{(i)}</math>计算的是每个图像块<math>\textstyle x^{(i)}</math>的平均强度值,尤其需要注意的是,这和试图为每一个像素<math>\textstyle x_j</math>单独估算均值是完全不同的概念。
【二审】:
【二审】:
Line 624: Line 634:
【初译】:如果你处理的图像并非自然图像(比如,手写文字,或者白背景正中摆放单独物体),其他规范化操作可能就值得引入,哪种做法最合适也将依赖于具体应用场合,但是对自然图像进行训练时,使用如上所述的整个图像块范围内的均值规范化操作可以放心假定为合理的办法。
【初译】:如果你处理的图像并非自然图像(比如,手写文字,或者白背景正中摆放单独物体),其他规范化操作可能就值得引入,哪种做法最合适也将依赖于具体应用场合,但是对自然图像进行训练时,使用如上所述的整个图像块范围内的均值规范化操作可以放心假定为合理的办法。
-
【一审】:
+
【一审】:如果你处理的图像并非自然图像(比如,手写文字,或者白背景正中摆放单独物体),其他规范化操作可能就值得考虑了,哪种做法最合适也将依赖于具体应用场合,但是对自然图像进行训练时,使用如上所述的整个图像块范围内的均值规范化操作可以放心假定为合理的办法。
【二审】:
【二审】:

Revision as of 21:34, 11 March 2013

Personal tools