读完这篇文章后,我有一个关于 PCA 的问题。
作者正在讨论在计算 PCA 时是否使用测试集。
但是,有几个要点需要理解:
1)我们不应该将训练集和测试集结合起来,一次获得整个数据的 PCA 分量。因为,这将违反泛化的整个假设,因为测试数据会“泄漏”到训练集中。换句话说,测试数据集将不再保持“看不见”。最终,这将削弱模型的泛化能力。
2)我们不应该分别对测试和训练数据集执行 PCA。因为,来自训练和测试 PCA 的结果向量将具有不同的方向(由于不等方差)。因此,我们最终将比较在不同轴上注册的数据。因此,来自训练和测试数据的结果向量应该具有相同的轴。
作者提到“因为,这将违反泛化的整个假设,因为测试数据会‘泄漏’到训练集中。换句话说,测试数据集将不再‘看不见’。”
据我了解...测试数据只能影响我们将选择哪台 PC(因为变化的方差),但数据不能真正泄漏(假设只有元数据泄漏)。对于每个观察,我们仍然只有来自它自己以前的变量(预测变量)的数据,只是在低维(投影)中。我对吗?或者在计算来自测试集的矩阵数据时会泄漏到什么地方?