核典型相关性分析(Kernel Canonical Correlation Analysis, KCCA)是典型相关性分析(Canonical Correlation Analysis, CCA)的非线性扩展
,它允许分析者在高维特征空间中寻找两组变量之间的相关性
,而无需显式地构造高维空间的特征向量。
这是通过使用核技巧
(kernel trick)实现的,核技巧允许在原始低维空间
中计算高维空间的内积
,避免了维度灾难
带来的计算复杂性。
KCCA的基本原理
KCCA的目标是找到两组变量 和
在高维特征空间中的
非线性投影
,使得投影后的变量之间有最大相关性
。这里的 和
可以是
两组观测数据
,比如一组图像
和一组描述这些图像的文字。
KCCA的公式
给定数据集 和
,其中
和
分别属于
和
。
KCCA试图找到投影方向
和
,使得在映射到高维空间后的
和
上的投影
和
有
最大相关性。
公式细节
为了简化问题,我们通常使用中心化
的数据,即 和
这里,
和
是
投影方向向量。
和
是数据集
和
映射到高维空间的结果。
是
协方差函数。
是
方差函数。
但是,直接计算上述公式中的高维空间的内积
是不可行的,因此我们使用核函数
来代替内积,这样可以避免显式地构造高维空间的向量。
核函数是定义在原始数据空间上的
,满足默瑟条件,即 。
KCCA的优化问题
最终的优化问题是求解下列广义特征值问题:
和
这里,
是
和
之间的核矩阵
,其中。
和
分别是
和
自身的核矩阵
。和
是与
最大特征值
对应的特征向量
,它们定义了和
的
投影方向。
通过求解上述广义特征值问题
,我们可以获得投影方向
和
,进而找到
两组变量在高维空间中的最大相关性投影。