奇异值分解在实践中几乎总是对增强训练分类模型的预测能力有用吗?
例如,用于分类的数据集有 20,000 个特征。运行 SVD 将它们转换为顶级主成分并将它们转换为 300 个特征,并训练一个分类模型。在预测测试实例的类别时,将其转换为 300d 的主成分特征向量,并使用训练好的模型来预测其类别。
是否有一些值得注意的包含大量特征(变量)的真实数据集,其中 SVD 的降维会损害训练分类模型的预测能力?
奇异值分解在实践中几乎总是对增强训练分类模型的预测能力有用吗?
例如,用于分类的数据集有 20,000 个特征。运行 SVD 将它们转换为顶级主成分并将它们转换为 300 个特征,并训练一个分类模型。在预测测试实例的类别时,将其转换为 300d 的主成分特征向量,并使用训练好的模型来预测其类别。
是否有一些值得注意的包含大量特征(变量)的真实数据集,其中 SVD 的降维会损害训练分类模型的预测能力?
我认为有两种方法来看待 SVD/PCA 是否有帮助的问题。
通常是的,但在某些情况下不需要 PCA。
此外,我还会考虑 PCA 背后的双线性概念与数据生成过程的契合程度。我使用线性光谱学,它受物理定律支配,这意味着我观察到的光谱的线性组合,由它们各自的浓度加权:。这非常适合分数和载荷 的 PCA 模型:
我不知道 PCA 伤害模型的任何例子(除了建立组合 PCA-whaterver 模型时的严重错误)
即使您的数据中的潜在关系不太适合 PCA 的双线性方法,PCA 首先只是您的数据的旋转,通常不会受到伤害。丢弃更高的 PC 会导致维度减少,但是由于 PCA 的设置,它们只携带少量的方差 - 所以同样,即使它不是那么合适,它也不会造成太大的伤害,也不是.
这也是 PCA 作为正则化技术的背景下的偏差-方差权衡的一部分(参见@usεr11852 的答案)。
对此的答案将是特定于应用程序的。但是如果你的应用程序建议了一些其他的特征生成方式,这些特征可能比某些 PC 强大得多,所以这是值得考虑的。
同样,我的数据和应用程序恰好具有 PCA 非常适合的性质,因此我使用它并且我无法提供反例。
但是:拥有 PCA 锤子并不意味着所有问题都是钉子......寻找反例,我可能会开始图像分析,其中有问题的对象可以出现在图片的任何位置。我认识的处理此类任务的人通常会开发专门的功能。
我经常要做的唯一与此接近的任务是检测相机信号中的宇宙射线尖峰(宇宙射线撞击 CCD 在某处引起的尖峰)。我还使用专门的过滤器来检测它们,尽管在 PCA 之后也很容易找到它们。然而,我们将其描述为 PCA 对尖峰不健壮并发现它令人不安。
你的直觉是正确的。在大多数情况下,为了在分类器中使用派生分数而执行奇异值分解会对分类器的整体性能产生积极影响。这是因为通过 SVD 可以有效地规范和/或过滤掉不相关变化的模式(又名噪声)。个特征向量,则没有理论保证不会排除几乎完美地对您检查的数据进行分类的变异模式。
对于您的示例,特别是采用大约 300 种正交变化模式很可能就足够了。请注意,特别是如果您在特征数量大大大于可用样本数量的情况下工作,取任意数量可能会给您一种错误的安全感。有一些特定的方法(例如LASSO、SCAD等)可以处理该机制中的数据。正如@ttnphns 提到的@amoeba 对前k 个主成分如何保持对因变量的预测能力的回答?非常好。不要被它专注于回归的事实所驱使。回归最终是一个无限维度的分类(或者如果你愿意,可以在机器精度宽度的箱子中:))。
至于真实的数据集:我没有看到任何数据集,但我怀疑语义语料库(文本的潜在语义分析 SVD)可能会表现出这种行为。可能有一个相对不变的小词,在TF-IDF术语中得分相当低——比如这个词。这样一个术语可能会被过滤掉,以支持其他更占主导地位的术语。US
最后,如前所述,如果您想使用主要的变异模式分数从分类器中得出一些进一步的结论,则可能不利于您的模型的可解释性。您将处理与原始变量的归一化线性组合相对应的轴。将它们与原始样本空间中的有形事物相关联可能并非易事。