1

我一直在尝试使用 PCA 进行一些降维。我目前有一个大小为 (100, 100) 的图像,我正在使用 140 个 Gabor 过滤器的过滤器库,其中每个过滤器都会给我一个响应,它又是一个 (100, 100) 的图像。现在,我想做特征选择,我只想选择非冗余特征,我读到 PCA 可能是一个好方法。

所以我开始创建一个有 10000 行和 140 列的数据矩阵。因此,每一行都包含该滤波器组的 Gabor 滤波器的各种响应。现在,据我了解,我可以使用 PCA 对这个矩阵进行分解

from sklearn.decomposition import PCA

pca = pca(n_components = 3)
pca.fit(Q) # Q is my 10000 X 140 matrix

但是,现在我很困惑如何从这里确定要保留这 140 个特征向量中的哪一个。我猜它应该给我这 140 个向量中的 3 个(对应于包含有关图像的最多信息的 Gabor 过滤器),但我不知道如何从这里开始。

4

1 回答 1

4

PCA 将为您提供特征的线性组合,而不是特征的选择。它将为您提供最适合 L2 意义上的重建的线性组合,也就是捕获最多方差的组合。

你的目标是什么?如果您在一张图像上执行此操作,则任何类型的选择都会为您提供可以将图像的某些部分与同一图像的其他部分最好地区分的特征。

另外:Garbor 过滤器是自然图像的稀疏基础。除非您有非常具体的图像,否则我不希望发生任何有趣的事情。

于 2014-11-05T18:55:08.703 回答