Matlab 导管相关分析

Matlab 导管相关分析,matlab,statistics,correlation,Matlab,Statistics,Correlation,我刚刚开始在Matlab中使用CCA。我有两个维度为60x1920和60x1536的向量X和Y,样本数为60,不同向量集中的变量分别为1920和1536。我想知道如何将它们缩减到子空间,然后进行特征匹配 我正在使用这个命令 %% DO CCA [A,B,r,U,V] = canoncorr(X,Y); 我得到的输出是: Name Size Bytes Class Attributes A 1920x58

我刚刚开始在Matlab中使用CCA。我有两个维度为
60x1920
60x1536
的向量
X
Y
,样本数为
60
,不同向量集中的变量分别为
1920
1536
。我想知道如何将它们缩减到子空间,然后进行特征匹配

我正在使用这个命令

%% 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发现两个线性投影矩阵
Wx
Wy
,使得
X
Y
Wx
Wy
上的投影最大相关

1) 有谁能告诉我下面的矩阵是什么

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


任何帮助都将不胜感激。提前感谢。

据我所知,由于
X
Y
是原始数据矩阵,
A
B
是一组系数,它们执行基础更改,以最大程度地关联原始数据。您的数据在新基中表示为矩阵
U
V

因此,要回答您的问题:

  • 您正在查找的投影矩阵将是
    A
    B
    ,因为它们将
    X
    Y
    转换到新空间中

  • X
    Y
    到新空间的结果投影分别为
    U
    V
    。(向量
    r
    表示
    U
    V
    之间的相关矩阵的条目,这是一个对角矩阵。)

  • 表示该转换可通过以下公式完成,其中
    N
    是观察次数:

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

    很好地规划了过程,以便您可以看到每个系数在转换过程中的含义。

    您看过文档了吗?谢谢你的回复。我确实看了文档,但仍然有一些疑问。你能告诉我哪些是投影向量吗?我认为是A和B,CCA子空间上的投影是U和V。我的假设正确吗?谢谢回答。你能再帮我一点吗。我实际上是在设计一个基本的人脸识别程序。在这里,我得到向量X和Y,它们实际上是来自两种不同模式的人脸图像。然后我通过CCA进行子空间学习,将它们转换为一个公共子空间。现在假设我得到一个图像查询,我想标记它。我应该找到与它最相似的类。所以我将使用U或V矩阵中的任何一个来将它们转换成公共子空间。但是我怎么能把它和U和V矩阵比较呢?我不认为CCA真的找到了一个共同的子空间。相反,它可以更方便地找到表示两组数据的两个单独的子空间,从而使两组数据之间的相关性变得更加明显。你可能会发现这个答案很有用:恐怕我没有足够的经验来进一步帮助你。交叉验证是获得统计和机器学习问题帮助的更好论坛。