在内核 PCA 中计算主成分的具体过程是什么?

机器算法验证 主成分分析 降维 内核技巧 特征值 多方面学习
2022-03-06 13:02:28

在内核 PCA(主成分分析)中,您首先选择一个所需的内核,使用它来找到您的矩阵将特征空间居中,找到其特征值和特征向量,然后将居中的内核矩阵乘以所需的特征向量对应于最大的特征值。KK

结果应该是将特征空间数据投影到低维子空间上。

据我所知,您将特征值除以原始数据点的数量以缩放它们。所以问题是,你选择的特征向量是否也需要缩放来乘以中心核矩阵,如果是,你怎么做?n

1个回答

要在经典 PCA 中找到 PC,可以对中心数据矩阵(列中的变量)执行奇异值分解 ; 的列称为主成分(即将原始数据投影到协方差矩阵的特征向量上)。观察所谓的格拉姆矩阵有特征向量和特征值,所以另一个计算主成分的方法是通过各自特征值的平方根来缩放 Gram 矩阵的特征向量。X=USVUSG=XX=US2UUS2

完全类比,这是一个计算内核主成分的完整算法:

  1. 选择一个在概念上是目标空间中的标量积的核函数k(x,y)

  2. 计算 Gram/kernel 矩阵 K。KKij=k(x(i),x(j))

  3. 通过以下技巧使核矩阵居中:其中是一个矩阵,所有元素等于,并且是数据的数量点。

    Kcentered=K1nKK1n+1nK1n=(I1n)K(I1n),
    1nn×n1nn

  4. 求中心核矩阵的特征向量和特征值将每个特征向量乘以各自特征值的平方根。US2

  5. 完毕。这些是内核主要组件。

具体回答您的问题,我认为在步骤 4--5 中 不需要将特征向量或特征值按n

一个很好的参考是原始论文:Scholkopf B、Smola A 和 Müller KR,内核主成分分析,1999 年请注意,它以一种更复杂的方式呈现相同的算法:您应该找到的特征向量,然后将它们乘以(正如您在问题中所写的那样)。但是将矩阵与其特征向量相乘会得到相同的特征向量,该特征向量按特征值缩放(根据定义)。KK