是否可以像使用其他超参数一样尝试找到最佳 PCA k 参数?

数据挖掘 机器学习 主成分分析 超参数
2021-09-18 15:15:44

主成分分析 (PCA) 用于将 n 维数据减少为 k 维数据,以加快机器学习的速度。应用 PCA 后,可以检查原始数据集的方差有多少保留在结果数据集中。一个共同的目标是将方差保持在 90% 和 99% 之间。

我的问题是:尝试不同的 k 参数值(结果数据集维度的大小),然后以与我们选择相同的方式检查结果模型的结果与某些交叉验证数据集是否被认为是一种好习惯其他超参数的好值,如正则化 lambdas 和阈值?

1个回答

您强调使用验证集而不是训练集进行选择k是一个很好的做法,应该遵循。但是,我们可以做得更好!

参数 kPCA比一般的超参数更特殊。因为,解决方案PCA(k) 已经存在于 PCA(K), 为了 K>k,这是第一个 k 特征向量(对应于 k 最大特征值)在 PCA(K). 因此,而不是运行PCA(1), PCA(4), ..., PCA(K) 单独在训练数据上,就像我们通常对超参数所做的那样,我们只需要运行 PCA(K) 为所有人提供解决方案 k{1,..,K}.

结果,过程如下:

  1. PCA 对于最大的可接受 K 在训练集上,
  2. 策划或准备(k,方差)在验证集上,
  3. 选择 k 这给出了可接受的最小方差,例如 90% 或 99%。

并且,N-fold 交叉验证如下:

  1. PCA 对于最大的可接受 K 在 N 个训练折叠上,
  2. 策划或准备(k, N 方差的平均值) 在保留折叠上,
  3. 选择 k 这给出了可接受的最小平均方差,例如 90% 或 99%。

此外,这里有一篇相关的帖子,询问“为什么我们根据解释的最大方差选择主成分?”。