主成分分析

From Ufldl

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

Revision as of 23:47, 11 March 2013

Personal tools