当维数大于样本数时的PCA


21

我遇到了一个场景,其中我有10个人/人的10个信号(因此100个样本),其中包含需要传递给分类器的14000个数据点(维度)。我想减少此数据的维数,而PCA似乎是这样做的方法。但是,我仅能找到样本数量大于维数的PCA示例。我正在使用PCA应用程序,该应用程序使用SVD查找PC。当我将其传递给我的100x14000数据集时,返回了101台PC,因此显然可以忽略绝大多数尺寸。该程序表明前6台PC包含90%的方差。

是否合理地假设这101台PC基本上包含所有差异并且其余尺寸可以忽略不计?

我读过的一篇论文声称,使用与我自己的数据集相似的(尽管质量略低)数据集,他们能够将4500尺寸缩减到80,从而保留了96%的原始信息。论文挥舞着使用的PCA技术的细节,只有3100个样本可用,我有理由相信比实际用于PCA的样本更少(以消除分类阶段的偏差)。

我是否缺少某些东西,或者这真的是PCA与高维,低样本量数据集结合使用的方式吗?任何反馈将不胜感激。


2
如果您没有比维度更多的数据,那么很难找到消除大部分可变性的方向,而这正是第一个主要成分应该做的。通常,存在维数的诅咒。数据往往会从高维度偏离中心。贝尔曼(Bellman)在1960年代就写过这本书。
Michael R. Chernick

Answers:


9

我会从一个稍微不同的角度看这个问题:仅用10个对象/ 100个样本就能负担得起一个模型的复杂程度?

我通常会回答这个问题:少于100台PC。请注意,我处理的是不同类型的数据(振动光谱),因此情况可能会有所不同。在我的领域中,常见的设置是使用根据O(10)个受试者的O(1000)个光谱计算出的10或25或50个PC。

这是我要做的:

  • 查看这100台PC涵盖的差异。通常,我发现只有极少的成分真正有助于我们数据的变化。

  • 与PCA相比,我非常喜欢PLS作为透明化的预处理方法,因为它在分类方向变化较大但对分类没有帮助的方向上做得更好(在我的情况下,可能是焦点变化,样品厚度不同)。 ..)。以我的经验,我经常得到具有10个PLS潜在变量或25到50个PC的相似分类器。

  • 验证样本仅需使用根据训练集计算出的PCA旋转进行处理,否则验证可能会(并且在极端情况下,如您可能会遇到的情况)具有较大的过度乐观偏见。
    换句话说,如果您进行自举或交叉验证,则需要分别为每个训练/测试集组合计算PCA或PLS预处理。


感谢您提供的信息非常丰富的帖子。我正在处理生物识别信号数据。要以合理的性能执行分类,我需要不到100台PC,在25-50范围内的某个位置就可以了。我已经考虑过减少采样率以减少需要检查的样本数量,但是您希望分辨率的权衡是值得的,还是考虑到相同规模的训练仍然会产生任何影响? ?尽管我需要PCA来与该领域的其他研究保持一致,但我肯定会将PLS作为第二种方法。
詹姆斯

1
@James:恐怕不知道您的数据就无法回答采样率问题。本质上,这是有效样本量的问题。如果不进一步了解,我们只能说它在n(个人)和n(样本)之间。如果一个人的所有10个样本彼此之间的相似度远高于另一个人的样本,则更多的样本不会为数据集添加太多信息。您可以通过建立一个包含所有样本的模型以及每个人仅包含一个样本的第二个模型并比较其性能来进行检查。
cbeleites支持Monica 2012年

@James :(第2部分)如果您认为一个人的样本彼此非常相似,则应注意验证和培训集不会共享人格(即,一个人的所有样本都在接受培训或接受培训)测试集)。
cbeleites支持Monica 2012年

谢谢你回到我身旁。我的数据具有很高的可变性,并且用户类别之间的样本空间存在明显的重叠。但是,抱歉,不是减少样本,而是减少14000个数据点的分辨率,因此说PCA仅使用了第2、3或4个点,但实际用户样本的数量相同。令我好奇的是,考虑到我的尺寸已经比我的样品大得多,这样的分辨率下降是否会对PCA的结果产生正面,负面或根本没有影响。
詹姆斯

1
@詹姆斯,这再次取决于。但是,我建议您不要平均每n个点进行平均/合并,而不是仅使用每个n个点,因此可以减小维数并提高信噪比。找出所需的分辨率(无论您的数据点的尺寸是什么;这里我将“光谱”表示为),恕我直言,这是问题/数据/分类器表征的一点。th
cbeleites支持Monica 2012年

9

如果是点数,是维数,则具有非零方差的主成分数不能超过(对原始数据进行PCA运算)或(对PCA进行PCA运算)中心数据-像往常一样)。p Ñ p ñ ñ - 1npnpnn1


2
换句话说, 100个PC覆盖了大小为(100 x 1400)的数据集中的全部差异。从数学上讲,此数据集不能有任何进一步的变化。如果查看由数据集采样的地面总体的方差,情况可能会有所不同。
cbeleites支持Monica 2012年

2
@ @ ttnphns:知道引用说明您在这里说什么吗?
Patrick


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.