典型相关分析

Cannonical Correlation Analysis

我刚刚开始在 Matlab 中使用 CCA。我有两个向量 XY,维度为 60x192060x1536,样本数量为 60,不同向量集中的变量为 19201536 分别。我想知道做 CCA 将它们减少到子空间,然后做特征匹配。

我正在使用这个命令。

%% DO CCA
[A,B,r,U,V] = canoncorr(X,Y);

我得到的输出是这样的:

  Name         Size             Bytes  Class     Attributes

  A         1920x58            890880  double              
  B         1536x58            712704  double              
  U           60x58             27840  double              
  V           60x58             27840  double              
  r            1x58               464  double       

谁能告诉我这些变量是什么意思。我已经多次阅读文档,但仍然不清楚它们。据我了解,CCA 找到两个线性投影矩阵 WxWy,使得 XYWxWy 上的投影最大相关。

1) 谁能告诉我这些是以下哪些矩阵?

2) 另外如何在 CCA 的学习子空间中找到投影向量?

如有任何帮助,我们将不胜感激。提前致谢。

据我了解,XY 是您的原始数据矩阵,AB 是执行基础更改的系数集最大限度地关联您的原始数据。您的数据在新基数中表示为矩阵 UV.

所以回答你的问题:

  1. 您正在寻找的投影矩阵将是 AB,因为它们将 XY 转换为新的 space.

  2. XY 到新 space 的投影结果分别为 UV。 (r 向量表示 UV 之间的相关矩阵的条目,这是一个对角矩阵。)

MATLAB documentation 说这个转换可以用下面的公式来完成,其中 N 是观察的数量:​​

U = (X-repmat(mean(X),N,1))*A
V = (Y-repmat(mean(Y),N,1))*B

This page 很好地展示了这个过程,所以你可以看到每个系数在转换过程中的含义。