PCA 空间中的距离

机器算法验证 主成分分析 距离
2022-04-06 10:19:23

我正在从事一个涉及 PCA 的项目,到目前为止,我对这种方法的了解非常好。我的工作涉及在数据库中找到与特定光谱最近的邻居(具有最小的欧几里得距离)。因此,我使用 PCA 降低了该数据库的维数,将所有光谱投影到 PCA 空间中。然后我继续使用投影系数找到光谱的最近邻居。

当我在二维空间中可视化 PCA 时,我想到了 PCA 空间中的小距离与原始空间中的小距离完全不对应的示例。例如,如果原始空间是 3d,而 PCA 空间是 2d,则数据点位于 PCA 空间(2d 平面)的“上方”和“下方”。因此数据点可能具有相似的投影,但在原始空间中彼此相距甚远。(如果我错了请纠正我)

我的问题是:有没有办法量化这个想法以实现更准确的最近邻搜索?有没有办法表示 PCA 空间中原始数据点和投影数据点之间的距离(知道这个距离总是与空间正交)?PS我不是数学家,对于任何不正确的术语,我深表歉意。

3个回答

有点晚了,但我们开始:

变换谱 -> PC 分数通常设置为纯旋转。因此,只要没有 PC 被丢弃,PC 得分空间中的欧几里得距离等于原始空间中的欧几里得距离。因此,邻居仍然是邻居。

对于仅保留一些 PC 的模型,您可以构建一个(平方)距离,以区分建模距离和与模型正交的距离。例如,这是在SIMCA中完成的。

听起来您想知道如何从 PCA 投影返回到 1) 的原始数据,以及 2) 如何处理最近的邻居?查看允许反投影的 PCA 得分系数矩阵。关于 PCA 之后的最近邻,重点通常涉及使用双中心 Gram 矩阵 (G=XXT). 因此,您可能需要使用在距离度量(非线性流形)学习中大量使用的 Gram 矩阵。

我现在正在使用 PCA 系数,可能您现在已经完成了您的项目,但我认为这可能对其他人有帮助。在 PCA 中,较高的维度与轴的偏差较小,因此丢弃它们不会丢失太多信息。尽管如此,点的距离不会保持不变,但距离的顺序将与平均而言,您截断的维度表示的距离比它之前的任何维度都小。